# Default values for gpustack.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
debug: false
# registrationToken is used to authenticate workers with the server.
# If null, a random 32-character token is generated on first install and reused on upgrades.
registrationToken: null
systemDefaultContainerRegistry: null
image:
  repository: gpustack/gpustack
  tag: null
  pullPolicy: IfNotPresent
server:
  ingress:
    # example: gpustack.example.com
    hostname: null
    tls:
      # if tls.cert and tls.key are set, the schema will be https
      cert: null
      # cert: |-
      #   -----BEGIN CERTIFICATE-----
      #   MIID...
      #   -----END CERTIFICATE-----
      key: null
      # key: |-
      #   -----BEGIN PRIVATE KEY-----
      #   MIIE...
      #   -----END PRIVATE KEY-----

  # if you have an existing database, set externalDatabaseURL to its connection string
  # e.g. postgresql://user:password@hostname:port/dbname
  externalDatabaseURL: null
  dataVolume:
    hostPath: null
    size: 10Gi
  apiPort: 30080
  metricsPort: 10161
  environmentConfig: {}
clusterDomain: cluster.local
gateway:
  # IngressClass name for the Higress gateway; GPUStack checks if it exists in the cluster to enable in-cluster gateway mode
  ingressClassname: higress

# higress-core sub-chart configuration.
# Set enabled: true to deploy Higress gateway alongside GPUStack.
# If you already have Higress installed in the cluster, leave this disabled
# and ensure gateway.ingressClassname matches your existing Higress instance.
# Full list of available values: https://higress.io/helm-charts
higress-core:
  enabled: true
  global:
    # Must match gateway.ingressClassname above
    ingressClass: higress
    # GPUStack manages its own plugin server; disable the built-in one
    enablePluginServer: false
    hub: docker.io/gpustack
  downstream:
    idleTimeout: 1800
  upstream:
    idleTimeout: 3
  gateway:
    hub: null
    image: mirrored-higress-gateway
  controller:
    hub: null
    image: mirrored-higress-higress
  pilot:
    hub: null
    image: mirrored-higress-pilot
higressPlugins:
  image:
    repository: gpustack/higress-plugins
    pullPolicy: IfNotPresent
    tag: "0.2.0"
worker:
  enabled: true
  # GPU vendor for the worker nodes. Controls driver volume mounts and runtimeClassName.
  # Supported values:
  #   null      - no vendor-specific driver mounts or runtimeClassName (e.g. CPU-only nodes)
  #   nvidia    - NVIDIA GPU; sets runtimeClassName to "nvidia"
  #   mthreads  - Moore Threads GPU; sets runtimeClassName to "mthreads"
  #   amd       - AMD GPU (ROCm); mounts /opt/rocm
  #   ascend    - Huawei Ascend NPU; mounts /usr/local/Ascend/driver and /usr/local/Ascend/ascend-toolkit
  #   hygon     - Hygon DCU; mounts /opt/hyhal and /opt/dtk
  #   metax     - MetaX GPU; mounts /opt/mxdriver and /opt/maca
  #   iluvatar  - Iluvatar GPU; mounts /usr/local/corex
  #   cambricon - Cambricon MLU; mounts /usr/bin/cnmon and /usr/local/neuware
  #   thead     - T-Head PPU; mounts /usr/local/PPU_SDK
  gpuVendor: nvidia
  port: 10150
  metricsPort: 10151
  environmentConfig: {}
  # Host path for worker data directory.
  dataDir: /var/lib/gpustack
  extraVolumeMounts: []
  # - name: custom-lib
  #   mountPath: /opt/custom/lib
  #   readOnly: true
  extraVolumes: []
  # - name: custom-lib
  #   hostPath:
  #     path: /opt/custom/lib
  #     type: DirectoryOrCreate
