Skip to content

Helm Values Reference

Global

Value Default Description
image.repository ghcr.io/noony/k8s-sustain Container image repository
image.tag "" Image tag; defaults to Chart.appVersion
image.pullPolicy IfNotPresent Image pull policy
imagePullSecrets [] Image pull secrets
nameOverride "" Override the chart name
fullnameOverride "" Override the full release name
recommendOnly false Compute recommendations without recycling or mutating pods (dry-run mode)
prometheusAddress "" Prometheus server URL, shared by all components. Leave empty to auto-detect the bundled subchart service.

Controller

Value Default Description
controller.replicaCount 1 Controller replicas
controller.metricsBindAddress :8080 Metrics endpoint address
controller.healthProbeBindAddress :8081 Health probe address
controller.leaderElect true Enable leader election
controller.logLevel info Log level
controller.service.type ClusterIP Service type for the metrics endpoint
controller.service.port 8080 Service port
controller.resources see below Controller container resources
controller.nodeSelector {} Node selector
controller.tolerations [] Tolerations
controller.affinity {} Affinity rules

Default resources:

controller:
  resources:
    requests:
      cpu: 10m
      memory: 64Mi
    limits:
      memory: 128Mi

Webhook

Value Default Description
webhook.enabled true Deploy the admission webhook
webhook.replicaCount 1 Webhook replicas (≥2 recommended for production)
webhook.port 9443 HTTPS server port
webhook.logLevel info Log level
webhook.failurePolicy Ignore Ignore or Fail
webhook.excludedNamespaces [] Extra namespaces to exclude from webhook interception (the release namespace, kube-system, and kube-public are always excluded)
webhook.tlsSecretName k8s-sustain-webhook-tls TLS secret name
webhook.caBundle "" Base64-encoded CA cert (required when certManager.enabled=false)
webhook.certManager.enabled false Create a cert-manager Certificate resource
webhook.certManager.createIssuer true Create a self-signed Issuer in the release namespace. Set to false to use your own.
webhook.certManager.issuerRef.name "" Issuer name (only used when createIssuer=false)
webhook.certManager.issuerRef.kind Issuer Issuer kind (only used when createIssuer=false)
webhook.resources see below Webhook container resources
webhook.nodeSelector {} Node selector
webhook.tolerations [] Tolerations
webhook.affinity {} Affinity rules

Default webhook resources:

webhook:
  resources:
    requests:
      cpu: 10m
      memory: 32Mi
    limits:
      memory: 64Mi

Dashboard

Value Default Description
dashboard.enabled false Deploy the dashboard
dashboard.replicaCount 1 Dashboard replicas
dashboard.port 8090 Container port
dashboard.bindAddress :8090 Server bind address
dashboard.logLevel info Log level
dashboard.service.type ClusterIP Service type
dashboard.service.port 8090 Service port
dashboard.resources see below Dashboard container resources
dashboard.nodeSelector {} Node selector
dashboard.tolerations [] Tolerations
dashboard.affinity {} Affinity rules

Default dashboard resources:

dashboard:
  resources:
    requests:
      cpu: 10m
      memory: 32Mi
    limits:
      memory: 64Mi

ServiceAccount

Value Default Description
serviceAccount.create true Create a ServiceAccount
serviceAccount.name "" Override the ServiceAccount name
serviceAccount.annotations {} Annotations on the ServiceAccount (e.g. for IRSA or Workload Identity)

ServiceMonitor

Only needed when running the Prometheus Operator externally (not the bundled subchart).

Value Default Description
controller.serviceMonitor.enabled false Create a Prometheus Operator ServiceMonitor and PrometheusRule
controller.serviceMonitor.interval 30s Scrape interval
controller.serviceMonitor.scrapeTimeout 10s Scrape timeout

CRDs

Value Default Description
installCRDs true Install the Policy CRD as part of the chart

Prometheus subchart

Pass any value supported by the prometheus chart under the prometheus: key. Recording rules for k8s-sustain are embedded in prometheus.server.serverFiles by default.

Common overrides:

prometheus:
  enabled: true
  server:
    retention: 15d
    persistentVolume:
      size: 20Gi