Helm Chart Values#
Reference for all configurable values in the AIM Engine Helm chart.
Controller Manager#
Controller manager configuration
Parameter |
Description |
Default |
|---|---|---|
|
Number of operator replicas |
|
|
Operator container image repository |
|
|
Operator container image tag |
|
|
Image pull policy |
|
|
Secrets for pulling the operator image from private registries |
|
|
Controller command-line arguments |
|
|
Override the artifact-downloader image the operator spawns for model download and size-check Jobs. Empty uses the public mirror image baked into the operator binary at build time. Set this to install from a private downloader mirror instead. Per-resource (spec.modelDownloadImage) and runtime-config overrides still take precedence over this install-time default. |
`` |
|
Additional environment variables for the controller |
|
|
Require non-root user |
|
|
Seccomp profile type |
|
|
Prevent privilege escalation |
|
|
Dropped Linux capabilities |
|
|
Read-only root filesystem |
|
|
Memory limit |
|
|
CPU request |
|
|
Memory request |
|
RBAC Helpers#
Create admin/editor/viewer ClusterRoles for each CRD
Parameter |
Description |
Default |
|---|---|---|
|
Enable RBAC helper roles |
|
CRDs#
Custom Resource Definitions
Parameter |
Description |
Default |
|---|---|---|
|
Install CRDs with the chart |
|
|
Keep CRDs when uninstalling (prevents data loss) |
|
Metrics#
Controller metrics endpoint
Parameter |
Description |
Default |
|---|---|---|
|
Enable metrics endpoint |
|
|
Metrics endpoint port |
|
Cert-Manager#
Cert-manager integration for TLS certificates
Parameter |
Description |
Default |
|---|---|---|
|
Enable cert-manager integration |
|
Prometheus#
Prometheus ServiceMonitor for metrics scraping
Parameter |
Description |
Default |
|---|---|---|
|
Create a Prometheus ServiceMonitor resource |
|
Cluster Runtime Configuration#
Cluster-wide runtime configuration for AIM resources. Creates an AIMClusterRuntimeConfig CR when enabled.
Parameter |
Description |
Default |
|---|---|---|
|
Enable creation of the AIMClusterRuntimeConfig resource |
|
|
Name of the AIMClusterRuntimeConfig resource |
|
clusterModelSource#
Cluster-wide AIMClusterModelSource for automatic model discovery. Creates an AIMClusterModelSource CR when enabled. The kubebuilder helm/v2-alpha plugin always wraps the generated template in {{- if .Values.clusterModelSource.enable }}, so this block must exist even when the resource is not wanted – otherwise helm install fails with nil pointer evaluating interface {}.enable.
Parameter |
Description |
Default |
|---|---|---|
|
Enable creation of the AIMClusterModelSource resource. Off by default so a fresh |
|
|
Name of the AIMClusterModelSource resource |
|
|
Spec fields for the AIMClusterModelSource. See AIMClusterModelSource. |
|
scaleFromZero#
Controller-side tuning for scale-from-zero. The feature itself is always on; these knobs adjust how the controller authors KEDA cluster-wide activation collector ships with the chart. See docs/docs/guides/scaling-and-autoscaling.md for the full design.
Parameter |
Description |
Default |
|---|---|---|
|
gRPC endpoint of the keda-otel-add-on scaler. Used for both gateway-rate activation metrics and in-pod vLLM metrics. Default matches a stock keda-otel-add-on install in the |
|
|
Seconds-per-GiB multiplier in the cooldown heuristic cooldownPeriod = clamp(300 + memGiB * cooldownSecondsPerGiMemory, 300, 1200) The default (5) budgets for ~1.6 GB/s warm-cache throughput plus faster (NVMe/hugepages) -> 2-3; slower (NFS/network PVC) -> 8-12; CPU-only inference -> 0 to disable the memory contribution. Per-service |
|
|
Cluster-singleton OpenTelemetry collector that scrapes kgateway data-plane Envoy stats and forwards the gateway request-rate counter to keda-otel-scaler. This is the only activation signal an AIMService with scale-from-zero to ever wake a service back up. Deployed into the release namespace. Requires the OpenTelemetry Operator CRDs on the cluster. |
|
|
Ship and manage the gateway-metrics collector with the chart. Disable if you install it out-of-band (see |
|
|
OTLP gRPC endpoint of the keda-otel-add-on receiver the collector pushes the gateway-rate metric to. Must resolve from the collector’s (release) namespace. |
|
|
Value of the |
|
|
Collector scrape interval. Keep well below the controller’s scaler pollingInterval so a single request between polls stays visible. |
|
|
Number of collector replicas |
|
|
Resource requests/limits for the collector pod |
acceleratorDetector#
AcceleratorDetector DaemonSets for hardware detection via NFD. Detects GPU and CPU accelerators on cluster nodes and writes NFD feature files so that AIM profiles can target specific hardware. Requires NFD (Node Feature Discovery) to be installed on the cluster. GPU nodes additionally publish current partition state under feature.node.kubernetes.io/aim-accelerator.partitioning-scheme.* by reading amd-smi partition --current --json. The GPU detector image must therefore ship an amd-smi build that supports partition --current --json. changing is dominated by NFD’s own scan interval, NOT detectInterval below. For timely partition labels, lower NFD’s local-source scan interval to match (e.g. nfd-worker core.sleepInterval / -sleep-interval ~10s). NFD is an external prerequisite of this chart and is configured in the NFD release.
Parameter |
Description |
Default |
|---|---|---|
|
Enable the AcceleratorDetector DaemonSets |
|
|
Seconds between re-detection cycles. Lowered to 10s for low-latency partition-state labels; |
|
|
GPU node detection (uses aim-base image with ROCm/amdsmi). Detects AMD Instinct GPUs and writes NFD labels like feature.node.kubernetes.io/aim-accelerator.MI300X=8 Only scheduled on nodes with feature.node.kubernetes.io/amd-gpu=true (set by the AMD GPU Operator NFD rule). |
|
|
Enable GPU accelerator detection DaemonSet |
|
|
GPU detector image repository (aim-base) |
|
|
GPU detector image tag |
|
|
Image pull policy |
|
|
Secrets for pulling the GPU detector image from private registries |
|
|
Node selector to target GPU nodes (requires AMD GPU Operator NFD rule) |
|
|
Tolerations for GPU nodes (defaults to tolerate all taints) |
|
|
Resource limits and requests for GPU detector pods |
|
|
CPU node detection (uses aim-epyc-base image, lighter, no ROCm). Detects AMD EPYC CPUs and writes NFD labels like feature.node.kubernetes.io/aim-accelerator.EPYC_9965=128 Only scheduled on nodes WITHOUT feature.node.kubernetes.io/amd-gpu label (i.e. CPU-only nodes). |
|
|
Enable CPU accelerator detection DaemonSet |
|
|
CPU detector image repository (aim-epyc-base) |
|
|
CPU detector image tag is released. The detector’s runtime fallback (detect-and-label.py) already handles the 0.12 packaging change when that image lands. |
|
|
Image pull policy |
|
|
Secrets for pulling the CPU detector image from private registries |
|
|
Node selector for CPU-only nodes (no additional selector needed; the DaemonSet uses nodeAffinity DoesNotExist on the amd-gpu label) |
|
|
Tolerations for CPU detector pods (defaults to tolerate all taints) |
|
|
Resource limits and requests for CPU detector pods |