Configuration Reference
Values
Key |
Type |
Default |
Description |
|---|---|---|---|
nameOverride |
string |
|
Unique identifier of SuperSONIC instance (equal to release name by default) |
serverLoadMetric |
string |
|
A metric used by both KEDA autoscaler and Envoy’s prometheus-based rate limiter. # Default metric (inference queue latency) is defined in templates/_helpers.tpl |
serverLoadThreshold |
int |
|
Threshold for the metric |
scaleFromZero |
object |
|
On RepositoryIndex, scale Triton to at least max(1, keda.minReplicaCount) replicas and return the index only after Envoy has a healthy Triton upstream. Requires keda.enabled and envoy.enabled. |
scaleFromZero.enabled |
bool |
|
Enable scale from zero |
scaleFromZero.readyTimeoutSeconds |
int |
|
Seconds to wait for a healthy Triton upstream before rejecting RepositoryIndex |
scaleFromZero.holdMinReplicasSeconds |
int |
|
Seconds to keep KEDA minReplicaCount at the wake target after the last RepositoryIndex is answered (the hold is refreshed once the server is ready, so it is measured from readiness rather than from the wake request). Must be >= readyTimeoutSeconds (validated at render time), otherwise KEDA can scale the waking pod back to zero before RepositoryIndex is answered. |
scaleFromZero.admissionImage |
string |
|
Image for the admission sidecar on the Envoy pod |
triton.replicas |
int |
|
Number of Triton server instances. Unused when scaleFromZero.enabled is true. |
triton.image |
string |
|
Docker image for the Triton server |
triton.command |
list |
|
Command and arguments to run in Triton container |
triton.args[0] |
string |
|
|
triton.resources |
object |
|
Resource limits and requests for each Triton instance. You can add necessary GPU request here. |
triton.annotations |
object |
|
Annotations for Triton pods |
triton.nodeSelector |
object |
|
Node selector for Triton pods |
triton.tolerations |
list |
|
Tolerations for Triton pods |
triton.affinity |
object |
|
Affinity rules for Triton pods - another way to request GPUs |
triton.modelRepository |
object |
|
Model repository configuration |
triton.modelRepository.mountPath |
string |
|
Model repository mount path |
triton.service.labels |
object |
|
|
triton.service.annotations |
object |
|
|
triton.service.ports |
list |
|
Ports for communication with Triton servers |
triton.readinessProbe |
object |
|
Custom readiness probe configuration |
triton.readinessProbe.reset |
bool |
|
If true, will reset settings to k8s defaults (other readinessProbe settings will be ignored) |
triton.startupProbe |
object |
|
Custom startup probe configuration |
triton.startupProbe.reset |
bool |
|
If true, will reset settings to k8s defaults (other startupProbe settings will be ignored) |
envoy.enabled |
bool |
|
Enable Envoy Proxy |
envoy.replicas |
int |
|
Number of Envoy Proxy pods in Deployment |
envoy.image |
string |
|
Envoy Proxy Docker image |
envoy.args |
list |
|
Arguments for Envoy |
envoy.external_config |
object |
|
External Envoy configuration settings |
envoy.external_config.load_from_configmap |
bool |
|
If true, load Envoy configuration from an external ConfigMap instead of generating it dynamically |
envoy.external_config.configmap_name |
string |
|
Name of the external ConfigMap containing the Envoy configuration |
envoy.external_config.configmap_key |
string |
|
Key name in the external ConfigMap (defaults to “envoy.yaml”) |
envoy.resources |
object |
|
Resource requests and limits for Envoy Proxy. Note: an Envoy Proxy with too many connections might run out of CPU |
envoy.annotations |
object |
|
Annotations for Envoy pods |
envoy.nodeSelector |
object |
|
Node selector for Envoy pods |
envoy.tolerations |
list |
|
Tolerations for Envoy pods |
envoy.service.type |
string |
|
This is the client-facing endpoint. In order to be able to connect to it, either enable ingress, or use type: LoadBalancer. |
envoy.service.ports |
list |
|
Envoy Service ports |
envoy.ingress |
object |
|
Ingress configuration for Envoy |
envoy.grpc_route_timeout |
string |
|
Timeout for gRPC route in Envoy; disabled by default (0s), preventing Envoy from closing connections too early. |
envoy.rate_limiter.listener_level |
object |
|
This rate limiter explicitly controls the number of client connections to the Envoy Proxy. |
envoy.rate_limiter.listener_level.enabled |
bool |
|
Enable rate limiter |
envoy.rate_limiter.listener_level.max_tokens |
int |
|
Maximum number of simultaneous connections to the Envoy Proxy. Each new connection takes a “token” from the “bucket” which initially contains |
envoy.rate_limiter.listener_level.tokens_per_fill |
int |
|
|
envoy.rate_limiter.listener_level.fill_interval |
string |
|
For example, adding a new token every 12 seconds allows 5 new connections every minute. |
envoy.rate_limiter.prometheus_based |
object |
|
This rate limiter rejects new connections based on metric extracted from Prometheus (e.g. inference queue latency). The metric is taken from parameter |
envoy.rate_limiter.prometheus_based.enabled |
bool |
|
Enable rate limiter |
envoy.rate_limiter.prometheus_based.luaConfig |
string |
|
Envoy Lua filter (prometheus rate limiter and scaleFromZero) |
envoy.loadBalancerPolicy |
string |
|
Envoy load balancer policy. Options: ROUND_ROBIN, LEAST_REQUEST, RING_HASH, RANDOM, MAGLEV |
envoy.auth.enabled |
bool |
|
Enable authentication in Envoy proxy |
envoy.auth.jwt_issuer |
string |
|
|
envoy.auth.jwt_remote_jwks_uri |
string |
|
|
envoy.auth.audiences |
list |
|
|
envoy.auth.url |
string |
|
|
envoy.auth.port |
int |
|
|
keda.enabled |
bool |
|
Enable autoscaling (requires Prometheus to also be enabled). Autoscaling will be based on the metric from parameter |
keda.minReplicaCount |
int |
|
Minimum and maximum number of Triton servers. Set minReplicaCount to 0 to release all resources when idle (requires scaleFromZero.enabled). With scaleFromZero, a RepositoryIndex request scales Triton to max(1, minReplicaCount), and upgrades keep the live ScaledObject minReplicaCount. |
keda.maxReplicaCount |
int |
|
|
keda.pollingInterval |
int |
|
How often KEDA polls Prometheus |
keda.cooldownPeriod |
int |
|
Period to wait after the last trigger is inactive before scaling to minReplicaCount |
keda.zeroIdleReplicas |
bool |
|
If set to true, KEDA sets idleReplicaCount to 0. This cannot scale from 0 back to 1 when the load metric comes from Triton. Use scaleFromZero.enabled with keda.minReplicaCount: 0 instead. |
keda.scaleUp.stabilizationWindowSeconds |
int |
|
|
keda.scaleUp.periodSeconds |
int |
|
|
keda.scaleUp.stepsize |
int |
|
|
keda.scaleDown.stabilizationWindowSeconds |
int |
|
|
keda.scaleDown.periodSeconds |
int |
|
|
keda.scaleDown.stepsize |
int |
|
|
prometheus.external.enabled |
bool |
|
Enable external Prometheus instance. If true, Prometheus parameters outside of prometheus.external will be ignored. |
prometheus.external.url |
string |
|
External Prometheus server url |
prometheus.external.port |
int |
|
External Prometheus server port number |
prometheus.external.scheme |
string |
|
Specify whether external Prometheus endpoint is exposed as http or https |
prometheus.enabled |
bool |
|
Enable or disable custom Prometheus deployment |
prometheus.server.extraFlags[0] |
string |
|
|
prometheus.server.useExistingClusterRoleName |
string |
|
|
prometheus.server.releaseNamespace |
bool |
|
|
prometheus.server.persistentVolume.enabled |
bool |
|
|
prometheus.server.resources.requests.cpu |
string |
|
|
prometheus.server.resources.requests.memory |
string |
|
|
prometheus.server.resources.limits.cpu |
int |
|
|
prometheus.server.resources.limits.memory |
string |
|
|
prometheus.server.retention |
string |
|
|
prometheus.server.global.scrape_interval |
string |
|
|
prometheus.server.global.evaluation_interval |
string |
|
|
prometheus.server.service.enabled |
bool |
|
|
prometheus.server.service.servicePort |
int |
|
|
prometheus.server.configMapOverrideName |
string |
|
|
prometheus.server.ingress |
object |
|
Ingress configuration for Prometheus |
prometheus.server.ingress.hostName |
string |
|
If this parameter is set in values.yaml, the |
prometheus.serviceAccounts.server.create |
bool |
|
|
prometheus.serviceAccounts.server.name |
string |
|
|
prometheus.rbac.create |
bool |
|
|
prometheus.alertmanager.enabled |
bool |
|
|
prometheus.pushgateway.enabled |
bool |
|
|
prometheus.kube-state-metrics.enabled |
bool |
|
|
prometheus.prometheus-node-exporter.enabled |
bool |
|
|
prometheus.prometheus-pushgateway.enabled |
bool |
|
|
prometheus.configmapReload.prometheus.enabled |
bool |
|
|
grafana.enabled |
bool |
|
Enable Grafana |
grafana.adminUser |
string |
|
|
grafana.adminPassword |
string |
|
|
grafana.persistence.enabled |
bool |
|
|
grafana.rbac.create |
bool |
|
|
grafana.serviceAccount.create |
bool |
|
|
grafana.datasources |
object |
|
Grafana datasources configuration |
grafana.dashboardProviders.”dashboardproviders.yaml”.apiVersion |
int |
|
|
grafana.dashboardProviders.”dashboardproviders.yaml”.providers[0].name |
string |
|
|
grafana.dashboardProviders.”dashboardproviders.yaml”.providers[0].orgId |
int |
|
|
grafana.dashboardProviders.”dashboardproviders.yaml”.providers[0].folder |
string |
|
|
grafana.dashboardProviders.”dashboardproviders.yaml”.providers[0].type |
string |
|
|
grafana.dashboardProviders.”dashboardproviders.yaml”.providers[0].disableDeletion |
bool |
|
|
grafana.dashboardProviders.”dashboardproviders.yaml”.providers[0].editable |
bool |
|
|
grafana.dashboardProviders.”dashboardproviders.yaml”.providers[0].options.path |
string |
|
|
grafana.dashboardsConfigMaps.default |
string |
|
|
grafana.”grafana.ini”.auth.disable_login_form |
bool |
|
|
grafana.”grafana.ini”.”auth.anonymous”.enabled |
bool |
|
|
grafana.”grafana.ini”.”auth.anonymous”.org_role |
string |
|
|
grafana.”grafana.ini”.dashboards.default_home_dashboard_path |
string |
|
|
grafana.”grafana.ini”.server.root_url |
string |
|
|
grafana.resources.limits.cpu |
int |
|
|
grafana.resources.limits.memory |
string |
|
|
grafana.resources.requests.cpu |
string |
|
|
grafana.resources.requests.memory |
string |
|
|
grafana.ingress |
object |
|
Ingress configuration for Grafana |
grafana.ingress.hostName |
string |
|
If this parameter is set in values.yaml, the |
metricsCollector.enabled |
bool |
|
Enable metrics collector |
metricsCollector.image |
string |
|
Image for the metrics collector |
metricsCollector.host |
string |
|
Host and port for metrics collector |
metricsCollector.port |
int |
|
|
metricsCollector.resources |
object |
|
Resource limits and requests for metrics collector |
metricsCollector.service |
object |
|
Add service |
metricsCollector.ingress |
object |
|
Ingress configuration for metrics collector |