Every Helm value maps to an environment variable on the operator container (set by the
chart’s Deployment template). You normally configure via Helm values; the env column is
useful for local runs and for understanding the pod spec.
recommend (only emit ScalingRecommendations, never mutate a workload - even an approved one) or apply (also patch approved + licensed targets). Start in recommend; switch to apply once the advice is trusted.
watchNamespaces
STEPSCALE_WATCH_NAMESPACES
"" (all)
Comma-separated namespaces to watch. Empty watches all namespaces. Example: prod,api.
intervalSeconds
STEPSCALE_INTERVAL_SECONDS
300
Seconds between reconcile ticks. Also drives the leader-lease duration (3× this value).
replicaCount
-
1
Operator replicas. 2+ is safe with leader election (only the leader mutates).
costPerReplicaUsdMonthly
STEPSCALE_COST_PER_REPLICA_USD_MONTHLY
30
Estimated monthly cost (USD) of one always-on replica, pricing the projected-savings estimates (see Usage). Set it to your real per-replica node share; must be > 0.
Prometheus base URL. Set it for real history backfill; empty falls back to slow HPA-status accumulation. Example: http://prometheus.monitoring.svc:9090.
metrics.windowDays
STEPSCALE_METRICS_WINDOW_DAYS
14
Days of history to backfill per workload from Prometheus.
metrics.stepSeconds
STEPSCALE_METRICS_STEP_SECONDS
300
Sampling step (seconds) for Prometheus history queries.
metrics.promqlCpu
STEPSCALE_PROMQL_CPU
(built-in)
PromQL override for CPU utilization. Supports {ns} / {deploy} placeholders. Defaults to a kube-state-metrics + cAdvisor query.
metrics.promqlReplicas
STEPSCALE_PROMQL_REPLICAS
(built-in)
PromQL override for replica count.
metrics.promqlQueue
STEPSCALE_PROMQL_QUEUE
(built-in)
PromQL override for queue depth (queue-based workloads).
See Licensing for the model and lifecycle. Values:
Helm value
Env var
Default
Meaning
license.publicKey
STEPSCALE_LICENSE_PUBKEY
(stepscale key, baked)
base64-encoded 32-byte ed25519 public key that verifies the license offline. Pre-set to stepscale’s public key in the chart - you do not normally set this. Required to apply.
license.payload
(via Secret)
""
The license JSON payload. Setting it (with signature) makes the chart create the license Secret.
license.signature
(via Secret)
""
The detached ed25519 signature for the payload.
license.existingSecret
STEPSCALE_LICENSE_SECRET (derived)
""
Name of an existing Secret holding license + signature keys.
license.gracePeriodDays
STEPSCALE_LICENSE_GRACE_DAYS
14
Days past expiry to keep applying before degrading.
recommend (default) - a pure advisor. It watches, analyzes, and writes
ScalingRecommendations, but never mutates a workload, even one whose recommendation you
have approved. This is the safe way to start a rollout: trust the advice before granting apply.
apply - additionally patches approved and licensed targets, then runs the
probation → verify → auto-rollback safety net. Requires a valid license (see §4.7 /
Licensing); without one the operator stays analysis-only regardless of mode.
Switch with --set mode=apply on a helm upgrade. See Operating for the
recommend → apply promotion path.