Skip to main content
This page provides a comprehensive reference for all available Helm values in the Kubernetes Dashboard chart.

App Configuration

Global configuration shared across all Dashboard resources.

Mode

app.mode
string
default:"dashboard"
Deployment mode for the chart:
  • dashboard - deploys all containers (API, Web, Auth, Metrics Scraper)
  • api - deploys only the API container

Image Settings

app.image.pullPolicy
string
default:"IfNotPresent"
Image pull policy for all containers.
app.image.pullSecrets
array
default:"[]"
List of image pull secret names for private registries.
app:
  image:
    pullSecrets:
      - my-registry-secret

Scheduling

app.scheduling.nodeSelector
object
default:"{}"
Node labels for pod assignment. Applies to all Dashboard pods.
app:
  scheduling:
    nodeSelector:
      disktype: ssd
      environment: production
See Kubernetes documentation for details.
app.tolerations
array
default:"[]"
Tolerations for pod assignment. Useful for deploying on tainted nodes.
app:
  tolerations:
    - key: node-role.kubernetes.io/control-plane
      effect: NoSchedule
app.affinity
object
default:"{}"
Affinity rules for pod scheduling.

Labels and Annotations

app.labels
object
default:"{}"
Common labels shared across all deployed resources.
app.annotations
object
default:"{}"
Common annotations shared across all deployed resources.
app.priorityClassName
string
default:"null"
Priority class name for all deployed pods.

API Module

Configuration for the Dashboard API backend.
api.role
string
default:"api"
Role name for the API component.
api.image.repository
string
default:"docker.io/kubernetesui/dashboard-api"
Container image repository for the API module.
api.image.tag
string
default:"1.14.0"
Container image tag for the API module.

Scaling

api.scaling.replicas
number
default:"1"
Number of API pod replicas.
api.scaling.revisionHistoryLimit
number
default:"10"
Number of old ReplicaSets to retain for rollback.

Service

api.service.type
string
default:"ClusterIP"
Kubernetes service type for the API.
api.service.extraSpec
object
default:"null"
Additional service spec configuration.

Container Configuration

api.containers.ports
array
Container port configuration.
api:
  containers:
    ports:
      - name: api
        containerPort: 8000
        protocol: TCP
api.containers.args
array
default:"[]"
Additional command-line arguments for the API container.
api:
  containers:
    args:
      - --system-banner="Welcome to Kubernetes Dashboard"
      - --openapi-enabled=true
See Arguments Reference for all available options.
api.containers.env
array
default:"[]"
Additional environment variables for the API container.
api:
  containers:
    env:
      - name: SOME_VAR
        value: 'some value'
api.containers.volumeMounts
array
Volume mounts for the API container.
api:
  containers:
    volumeMounts:
      - mountPath: /tmp
        name: tmp-volume
      - mountPath: /kubeconfig
        name: dashboard-kubeconfig
        readOnly: true
api.containers.resources
object
Resource requests and limits for the API container.
api:
  containers:
    resources:
      requests:
        cpu: 100m
        memory: 200Mi
      limits:
        cpu: 250m
        memory: 400Mi

Volumes and Service Account

api.volumes
array
Additional volumes for API pods.
api:
  volumes:
    - name: tmp-volume
      emptyDir: {}
    - name: dashboard-kubeconfig
      secret:
        defaultMode: 420
        secretName: dashboard-kubeconfig
api.automountServiceAccountToken
boolean
default:"true"
Whether to automatically mount service account token.
api.nodeSelector
object
default:"{}"
Node selector specific to API pods (merged with app.scheduling.nodeSelector).
api.labels
object
default:"{}"
Additional labels for API resources.
api.annotations
object
default:"{}"
Additional annotations for API resources.
api.serviceLabels
object
default:"{}"
Additional labels for the API service.
api.serviceAnnotations
object
default:"{}"
Additional annotations for the API service.

Auth Module

Configuration for the authentication service.
auth.role
string
default:"auth"
Role name for the Auth component.
auth.image.repository
string
default:"docker.io/kubernetesui/dashboard-auth"
Container image repository for the Auth module.
auth.image.tag
string
default:"1.4.0"
Container image tag for the Auth module.

Scaling

auth.scaling.replicas
number
default:"1"
Number of Auth pod replicas.
auth.scaling.revisionHistoryLimit
number
default:"10"
Number of old ReplicaSets to retain for rollback.

Service and Container Configuration

auth.service.type
string
default:"ClusterIP"
Kubernetes service type for Auth.
auth.containers.ports
array
Container port configuration.
auth:
  containers:
    ports:
      - name: auth
        containerPort: 8000
        protocol: TCP
auth.containers.args
array
default:"[]"
Additional command-line arguments. See Arguments Reference.
auth.containers.env
array
default:"[]"
Additional environment variables.
auth.containers.resources
object
Resource requests and limits.
auth:
  containers:
    resources:
      requests:
        cpu: 100m
        memory: 200Mi
      limits:
        cpu: 250m
        memory: 400Mi

Web Module

Configuration for the web UI frontend.
web.role
string
default:"web"
Role name for the Web component.
web.image.repository
string
default:"docker.io/kubernetesui/dashboard-web"
Container image repository for the Web module.
web.image.tag
string
default:"1.7.0"
Container image tag for the Web module.

Scaling

web.scaling.replicas
number
default:"1"
Number of Web pod replicas.
web.scaling.revisionHistoryLimit
number
default:"10"
Number of old ReplicaSets to retain for rollback.

Container Configuration

web.containers.args
array
default:"[]"
Additional command-line arguments.
web:
  containers:
    args:
      - --system-banner="Production Cluster"
      - --system-banner-severity=WARNING
See Arguments Reference for all available options.
web.containers.resources
object
Resource requests and limits.
web:
  containers:
    resources:
      requests:
        cpu: 100m
        memory: 200Mi
      limits:
        cpu: 250m
        memory: 400Mi

Metrics Scraper

Container to scrape, store, and retrieve metrics from the Metrics Server.
metricsScraper.enabled
boolean
default:"true"
Enable the metrics scraper component.
metricsScraper.role
string
default:"metrics-scraper"
Role name for the Metrics Scraper component.
metricsScraper.image.repository
string
Container image repository.
metricsScraper.image.tag
string
default:"1.2.2"
Container image tag.

Scaling and Resources

metricsScraper.scaling.replicas
number
default:"1"
Number of pod replicas.
metricsScraper.containers.args
array
default:"[]"
Additional command-line arguments. See Arguments Reference.
metricsScraper.containers.livenessProbe
object
Liveness probe configuration.
metricsScraper:
  containers:
    livenessProbe:
      httpGet:
        scheme: HTTP
        path: /
        port: 8000
      initialDelaySeconds: 30
      timeoutSeconds: 30
metricsScraper.containers.resources
object
Resource requests and limits.
metricsScraper:
  containers:
    resources:
      requests:
        cpu: 100m
        memory: 200Mi
      limits:
        cpu: 250m
        memory: 400Mi

Sub-Charts

Kong Gateway

kong.enabled
boolean
default:"true"
Enable Kong gateway as an API gateway for all containers.
kong.env
object
Kong configuration environment variables.
kong:
  env:
    dns_order: LAST,A,CNAME,AAAA,SRV
    plugins: 'off'
    nginx_worker_processes: 1
See Kong Configuration Reference.
kong.ingressController.enabled
boolean
default:"false"
Enable Kong ingress controller.
kong.proxy.type
string
default:"ClusterIP"
Service type for Kong proxy.
kong.proxy.http.enabled
boolean
default:"false"
Enable HTTP on Kong proxy (HTTPS is used by default).

Metrics Server

metrics-server.enabled
boolean
default:"false"
Enable metrics-server sub-chart. Only enable if you don’t have metrics-server in your cluster.
metrics-server.args
array
Arguments for metrics-server.
metrics-server:
  enabled: true
  args:
    - --kubelet-preferred-address-types=InternalIP
    - --kubelet-insecure-tls
See metrics-server documentation.

Cert Manager

cert-manager.enabled
boolean
default:"false"
Enable cert-manager sub-chart. Only enable if cert-manager is not installed in your cluster.
cert-manager.installCRDs
boolean
default:"true"
Install cert-manager CRDs.

Nginx Ingress

nginx.enabled
boolean
default:"false"
Enable nginx-ingress sub-chart. Only enable if you don’t have an ingress controller.
nginx.controller.ingressClassResource.name
string
default:"internal-nginx"
Name of the IngressClass resource.
nginx.controller.service.type
string
default:"ClusterIP"
Service type for nginx ingress controller.

Extras

Custom Manifests

extras.manifests
array
default:"[]"
Extra Kubernetes manifests to deploy alongside Dashboard.
extras:
  manifests:
    - apiVersion: v1
      kind: ConfigMap
      metadata:
        name: additional-configmap
      data:
        mykey: myvalue

Service Monitor

extras.serviceMonitor.enabled
boolean
default:"false"
Create a Prometheus Operator ServiceMonitor resource.
extras.serviceMonitor.labels
object
default:"{}"
Labels to add to the ServiceMonitor.
extras.serviceMonitor.annotations
object
default:"{}"
Annotations to add to the ServiceMonitor.
extras.serviceMonitor.scheme
string
default:"https"
ServiceMonitor connection scheme.
extras.serviceMonitor.tlsConfig
object
TLS configuration for ServiceMonitor.
extras:
  serviceMonitor:
    enabled: true
    tlsConfig:
      insecureSkipVerify: true
extras.serviceMonitor.metricRelabelings
array
default:"[]"
Metric relabelings for the scrape endpoint. See Prometheus documentation.
extras.serviceMonitor.relabelings
array
default:"[]"
Prometheus relabeling rules.

Example Configuration

Here’s a complete example with common customizations:
app:
  mode: dashboard
  ingress:
    enabled: true
    hosts:
      - dashboard.example.com
    ingressClassName: nginx
    issuer:
      name: letsencrypt-prod
      scope: cluster
  settings:
    global:
      clusterName: "Production Cluster"
      itemsPerPage: 20
      resourceAutoRefreshTimeInterval: 15
  security:
    networkPolicy:
      enabled: true
    podDisruptionBudget:
      enabled: true
      minAvailable: 1

api:
  scaling:
    replicas: 2
  containers:
    args:
      - --openapi-enabled=true
      - --prometheus-enabled=true
    resources:
      requests:
        cpu: 200m
        memory: 400Mi
      limits:
        cpu: 500m
        memory: 800Mi

web:
  scaling:
    replicas: 2
  containers:
    args:
      - --system-banner="Production Environment"
      - --system-banner-severity=WARNING

metricsScraper:
  enabled: true

extras:
  serviceMonitor:
    enabled: true
    labels:
      prometheus: kube-prometheus
See the individual configuration pages for more details:

Build docs developers (and LLMs) love