← Back to tools

Helm

The package manager for Kubernetes

Cloud & Services Development linuxmacoswindows Go Apache-2.0

Description

Helm is the package manager for Kubernetes. It helps define, install, and upgrade complex Kubernetes applications using charts, which are packages of pre-configured Kubernetes resources. Helm streamlines installing and managing Kubernetes applications with versioning, rollbacks, and templating.

Install

homebrewbrew install helm
snapsudo snap install helm --classic

AI Summary

Kubernetes package manager that uses charts to define, install, and manage complex application deployments with templating, versioning, and rollback support.

Capabilities

  • + Install, upgrade, and rollback Kubernetes applications via charts
  • + Template Kubernetes manifests with dynamic values
  • + Manage chart repositories and dependencies
  • + Package and share reusable application definitions
  • + Track release history with rollback support

Use When

  • Deploying complex Kubernetes applications with many resources
  • Need templated Kubernetes manifests with environment-specific values
  • Managing application versions and rollbacks on Kubernetes
  • Sharing reusable Kubernetes application packages across teams

Avoid When

  • x Deploying simple single-manifest Kubernetes resources (use kubectl apply)
  • x Not using Kubernetes at all
  • x Prefer Kustomize for overlay-based manifest management

Usage Patterns

Add a chart repository and install a chart

helm repo add bitnami https://charts.bitnami.com/bitnami && helm install my-release bitnami/nginx

Adds the Bitnami repo and installs nginx from it

Upgrade a release with custom values

helm upgrade my-release bitnami/nginx -f values.yaml

Upgrades the release using values from a custom file

Render templates locally for inspection

helm template my-release ./my-chart -f values.yaml

Outputs rendered Kubernetes manifests without deploying

Roll back to a previous release

helm rollback my-release 2

Reverts the release to revision 2

Input / Output

stdin: Can accept values via stdin with -f -
stdout: Release status, rendered templates, and chart information
stderr: Error messages and deployment warnings

Typical Pipelines

helm template my-release ./chart | kubectl apply -f - to render and apply in one step
helm list --all-namespaces | grep failed to find broken releases
helm get values my-release -o yaml > values-backup.yaml to export current values

Related Tools

View AGENTS.md for Helm