Skip to content
Distr
Book DemoStart free trialLogin
← Back to Glossary

Helm Chart

Understanding Helm charts, their role in Kubernetes package management, and how they simplify the process of deploying, managing, and scaling applications

What is a Helm Chart? Definition and explanation

Helm Chart Definition

A Helm chart is a collection of files that define, configure, and install a Kubernetes application. It consists of a set of templates, values, and other resources that are used to create the necessary Kubernetes resources for an application. Helm charts are used to package, distribute, and manage applications within Kubernetes clusters.

Helm is the de facto package manager for Kubernetes, and charts are its package format. Instead of applying dozens of raw YAML manifests by hand, you install a chart with a single helm install command and customize it through values.

What is a Helm Chart used for?

A Helm chart packages everything an application needs to run on Kubernetes: resource definitions, dependencies, and configuration defaults. Because the same chart can be installed with different values per environment, it keeps deployments consistent across development, staging, and production, and makes upgrades and rollbacks repeatable.

Example Helm Chart structure

mychart/
Chart.yaml # Required: Chart metadata (name, version, description, etc.)
LICENSE # Optional: License information
README.md # Optional: Documentation for the chart
values.yaml # Default configuration values
values.schema.json # Optional: JSON schema for validating values
charts/ # Directory for chart dependencies
templates/ # Kubernetes manifests and templates
deployment.yaml
service.yaml
_helpers.tpl # Reusable template snippets
NOTES.txt # Optional: Usage notes shown post-install

Key Components of a Helm Chart

  • Templates: Define the Kubernetes resources needed (like Deployments, Services, etc.) using Go templating. This enables customization of properties like replica count, container images, and resource limits by inserting specific values during installation.
  • Values: values.yaml holds default settings for your application. This central file allows for easy customization of templates, and you can override these defaults for different environments.
  • Chart.yaml: The metadata file, listing the chart’s name, version, description, and any dependencies, which supports versioning and compatibility management.
  • values.schema.json: An optional schema file that validates the structure and types of the values users provide.

How are Helm Charts distributed?

Charts are published to chart repositories or, since Helm 3.8, to any OCI-compliant container registry:

Terminal window
helm push mychart-1.0.0.tgz oci://registry.example.com/charts
helm install myrelease oci://registry.example.com/charts/mychart --version 1.0.0

Storing charts next to container images in the same registry simplifies distribution, especially for vendors shipping applications to self-hosted or air-gapped customer environments, where both the chart and its images have to be delivered together.

One thing chart authors shipping to customers learn quickly: a chart that works on your cluster may fail on a customer’s older or restricted Kubernetes version. See our guide on building a Kubernetes compatibility matrix for your Helm chart.

Turn self-hosted into a repeatable sales motion

From your first on-prem POC to dozens of enterprise customers, the Distr platform gives you the tooling to deploy, update and manage self-hosted customers, backed by a team that supports you hands-on with the deployment knowledge and implementation help.

Proof from teams shipping self-hosted software

GovCloud deployments without extra overhead

"Distr gives us a clean way to deploy and update our software in GovCloud without breaking security or adding operational overhead."

Corbin Klett

Corbin Klett

Co-Founder, Artifact

Manual operations become one-click workflows

"Our main goal is to simplify the daily operations. No more manual installations, updates, or rollbacks — everything can now be handled with a single click with Distr."

Jefferson Rodrigues

Jefferson Rodrigues

Co-Founder & CTO, Lerian

Read case study

Updates that took days now take minutes

"Distr eliminated nearly all deployment headaches. Updates that used to take days now take minutes."

Ansh Gupta

Ansh Gupta

CTO, Sophris.ai

Read case study

One place for every self-hosted customer

"Having a dedicated space for all our self-hosted customers that can manage authenticated registry access is great."

Derek Reynolds

Derek Reynolds

Product Engineer, Basedash

Read case study

From guided setup to scalable delivery

"We went from hands-on Docker setup calls to an install flow that can be running in minutes."

Daniel Kasen

Daniel Kasen

Chief Engineer for Customer Success, Ozgar AI

Read case study

Self-hosted without the engineering tax

"Weave has a fully self-hosted offering. It's a huge unlock for us, but we almost didn't build it. Distr made such a huge difference in getting us there."

Andrew Churchill

Andrew Churchill

Co-Founder & CTO, Weave

Read case study