Skip to content
Latchkey

What Is a Helm Chart? Packaging Kubernetes Apps

A Helm chart is a reusable package of templated Kubernetes manifests plus default values - the "apt package" of Kubernetes apps.

Deploying a real app to Kubernetes means a pile of related manifests: Deployment, Service, ConfigMap, Ingress, and more. Maintaining those by hand across environments is tedious and error-prone. A Helm chart bundles them as templates with configurable values, so you install and upgrade an app as one versioned unit.

What is inside a chart

  • Chart.yaml - name, version, and metadata.
  • templates/ - Kubernetes manifests with templating placeholders.
  • values.yaml - default configuration values.
  • Optional dependencies on other charts.

Templates and values

Templates use placeholders like {{ .Values.image.tag }}. At install time, Helm renders the templates with your values, producing concrete manifests. Different environments just supply different values.

Releases

Installing a chart creates a named "release". helm upgrade updates it, helm rollback reverts it, and helm history shows past revisions - versioned lifecycle management for your whole app.

A typical command

helm upgrade --install web ./chart --set image.tag=1.4 installs or upgrades the web release, overriding the image tag to the build you want to ship.

Helm charts in CD

A delivery pipeline renders or upgrades a chart with the image tag or digest CI just produced. The chart keeps environment differences in values files, so the same chart promotes cleanly from staging to prod.

Key takeaways

  • A Helm chart packages templated Kubernetes manifests plus default values.
  • Values customize one chart per environment; releases track the lifecycle.
  • CD upgrades a chart with the freshly built image tag or digest.

Related guides

Run this faster and cheaper on Latchkey managed runners. Start free →