Favicon of Helm

Helm

Helm is the Kubernetes package manager for templating, installing, and managing releases of Kubernetes applications via Charts.

Helm website screenshot
Helm GitHub repository preview

Helm is a package manager for Kubernetes. It packages Kubernetes resources into reusable units called Charts, which bundle a description of the package (Chart.yaml) with one or more templated manifest files. It's built for developers, platform engineers, and anyone deploying applications to Kubernetes who wants a repeatable, versioned way to install and manage software, comparable to apt, yum, or Homebrew but for cluster resources.

Instead of hand-editing raw YAML manifests for every environment, you define values once and let Helm render templates and apply them through the Kubernetes API. Charts can live on disk or come from remote chart repositories, similar to how Debian or RedHat packages are distributed. A large catalog of pre-packaged software is searchable on Artifact Hub.

Key features

  • Chart-based packaging: bundle Kubernetes manifests, metadata, and configuration into a single distributable Chart.
  • Templating engine: parameterize manifests so the same Chart deploys differently across dev, staging, and production.
  • Release management: track installed Charts as releases, with support for upgrades, rollbacks, and history.
  • Remote repositories: fetch Charts from public or private chart repositories instead of maintaining raw manifests locally.
  • Client-only architecture: runs as a CLI on your laptop, in CI/CD pipelines, or anywhere else, without a server-side component to manage.
  • Reproducible builds: pin Chart versions and values to produce consistent, repeatable deployments.
  • Ecosystem access: install popular software already packaged as Charts through Artifact Hub instead of writing manifests from scratch.

Ideal use cases

Helm fits teams running applications on Kubernetes who need a consistent way to install, configure, and upgrade workloads across multiple environments or clusters. It's a good fit for shipping your own application as a distributable Chart to other teams or customers, for managing third-party software (databases, ingress controllers, monitoring stacks) via existing community Charts, and for CI/CD pipelines that need scriptable, versioned deployments with rollback support.

It's less useful if you're not running Kubernetes at all, or if your deployment needs are simple enough that raw kubectl apply on a handful of static manifests is sufficient, in which case the templating and release-tracking overhead may not pay off. Teams that need heavy GitOps-style continuous reconciliation may pair Helm with a GitOps tool rather than relying on Helm alone, since Helm itself doesn't watch and continuously reconcile cluster state.

Installation

Helm ships as a single client binary with no server-side component required.

Download a prebuilt binary from the Releases page, unpack it, and add it to your PATH:

# Download the release archive for your platform from
# https://github.com/helm/helm/releases/latest, then:
tar -zxvf helm-vX.Y.Z-linux-amd64.tar.gz
sudo mv linux-amd64/helm /usr/local/bin/helm

Or install with a package manager:

# Homebrew
brew install helm

# Chocolatey
choco install kubernetes-helm

# Winget
winget install Helm.Helm

# Scoop
scoop install helm

# Snapcraft
snap install helm --classic

# Flox
flox install kubernetes-helm

# Mise-en-place
mise use -g helm@latest

Once installed, follow the Quick Start Guide on helm.sh/docs to add a chart repository, install your first Chart, and manage releases. Full documentation covers chart creation, templating syntax, and repository management in more depth.

Frequently asked questions

Share:

Stars
30.2K
Forks
7.8K
Last commit
1 day ago
Repository age
11 years
License
Apache-2.0
Self-hosted
No
Activity score
85/100
View Repository
Built with:
Ad
Favicon

 

  
 

Similar to Helm

Favicon

 

  
 
Favicon

 

  
 
Favicon