Skip to main content
Cloud DevOps Solutions
Get a quote Talk to an engineer

Helm Chart

A Helm chart is a collection of Kubernetes manifest templates bundled with a values file. Helm renders the templates with supplied values and applies them to a cluster, making it easy to package, version, and deploy Kubernetes applications with different configurations per environment.

A Helm chart is a package of Kubernetes manifest templates and default configuration. Helm renders the templates with supplied values and installs the result into a cluster as a named release, which can be upgraded and rolled back.

How it works

A chart is a directory. Chart.yaml holds the metadata and is required, values.yaml holds default values, templates/ holds the templates, and charts/ holds dependency charts. For charts that need Helm 3 or later, apiVersion is v2, and dependencies are declared in Chart.yaml and fetched with helm dependency update.

Values you supply with a file or --set are merged over the chart defaults, and fields you do not mention keep their defaults. This is how one chart serves several environments: staging might use a small replica count, production a larger one, and the templates stay identical.

Each install creates a release with a revision history. Upgrading creates a new revision, and a rollback restores an earlier one.

A practical example

helm lint ./my-chart
helm template my-app ./my-chart -f values-production.yaml
helm install my-app ./my-chart -f values-production.yaml
helm upgrade my-app ./my-chart --set image.tag=v2.0
helm rollback my-app 1

Linting and helm template let you check the rendered YAML before anything touches the cluster. The last command returns the release to revision 1.

Common mistakes

  • Putting secrets in values.yaml files that are committed to Git.
  • Overriding too much with --set on the command line, which leaves no record. Prefer values files in version control.
  • Writing templates with so many conditionals that nobody can predict the output. Render with helm template and review the result.
  • Forgetting that Helm tracks releases separately from GitOps agents, so manual helm upgrade commands can conflict with an automated sync.

When to use it and when not to

Helm is useful for installing third-party software, such as ingress controllers and monitoring stacks, and for packaging an in-house application that is deployed to many environments. For a single small service with no variation, plain manifests or Kustomize can be simpler. In a GitOps workflow, tools like ArgoCD can render Helm charts directly. See our GitOps and Helm service and the Helm technology page.

See also

Last updated: 2026-10-11

Need help with Helm Chart?

Our certified engineers can handle the implementation for you.