Skip to content

Values reference

View as Markdown

Helm checks these against the chart’s values.schema.json on every install and upgrade, so a misspelled key or a wrong type stops the install. To see them from the chart itself, run helm show values oci://ghcr.io/paulbouwer/charts/hello-kubernetes. For the values most people change, the config builder writes the command or the file for you.

Value Type Default Description
message string "" A message to show instead of Hello world!. It must be a string: quote it in a values file, or use --set-string.
pathPrefix string "" Serve the app under a path prefix, such as /app/hello, behind an Ingress, an HTTPRoute or your own proxy. Leading and trailing slashes are optional.
rewritePath bool true false (recommended): the proxy passes the prefix on, and the app serves under it. true: the proxy strips the prefix, and the app serves at /. See path prefixes and rewriting.
ingress.enabled bool false Create a networking.k8s.io/v1 Ingress for pathPrefix.
ingress.className string "" The Ingress class, such as nginx or traefik. Empty uses the cluster’s default class.
ingress.annotations object {} Annotations for the Ingress, such as your controller’s rewrite annotation when rewritePath is true.
ingress.host string "" The host name for the Ingress rule. Empty matches all hosts, but the NGINX Ingress Controller needs a host.
ingress.tls list [] The Ingress TLS settings, as in the Ingress spec.tls field.
httpRoute.enabled bool false Create a Gateway API HTTPRoute for pathPrefix. With rewritePath true, it strips the prefix with the standard URLRewrite filter.
httpRoute.parentRefs list [] The Gateways to attach to. Required when httpRoute.enabled is true.
httpRoute.hostnames list [] The host names for the route. Empty matches the Gateway’s host names.
service.type string LoadBalancer ClusterIP, NodePort or LoadBalancer. Use ClusterIP behind an Ingress or a Gateway.
service.port int 80 The port the Service exposes.
deployment.replicaCount int 2 The number of pods.
deployment.container.image.repository string paulbouwer/hello-kubernetes The image, such as ghcr.io/paulbouwer/hello-kubernetes.
deployment.container.image.tag string or number "" The image tag, such as 1, 1.11 or 1.11.0. Empty uses the chart’s appVersion. In a values file, quote it: YAML reads 1.10 as the number 1.1.
deployment.container.image.pullPolicy string IfNotPresent Always, IfNotPresent or Never.
deployment.container.port int 8080 The port the app listens on. The probes and the Service follow it.
deployment.container.securityContext object no privilege escalation, all capabilities dropped, read-only root filesystem The container security context. With deployment.podSecurityContext, it meets the restricted Pod Security Standard.
deployment.podSecurityContext object runAsNonRoot, user and group 1000, RuntimeDefault seccomp The pod security context.
deployment.nodeSelector object kubernetes.io/os: linux The node selector. The image runs on amd64 and arm64 nodes.
deployment.resources object {} The container resource requests and limits.
deployment.tolerations list [] The pod tolerations.
deployment.affinity object {} The pod affinity.
ingress.configured, ingress.pathPrefix, ingress.rewritePath Deprecated. They still work in 1.x, and the install notes list them. Use pathPrefix and rewritePath. They are removed in 2.0.