All Cheatsheets

Helm Cheatsheet

Helm commands for managing Kubernetes packages — install, upgrade, rollback, debug charts, and manage repositories.

7 sections73 commandsClick any row to copy

Installation & Setup

brew install helm
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
helm version
helm env
helm completion bash > /etc/bash_completion.d/helm
helm completion zsh > ~/.zsh/completions/_helm

Install Helm on macOS

Install Helm on Linux

Show Helm version

Show Helm environment variables

Enable bash tab completion

Enable zsh tab completion

Repository Management

helm repo add <name> <url>
helm repo add stable https://charts.helm.sh/stable
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo list
helm repo update
helm repo remove <name>
helm repo index .
helm search repo <keyword>
helm search hub <keyword>
helm search repo nginx --versions

Add a Helm chart repository

Add official stable repo

Add Bitnami repo

List all added repositories

Fetch latest charts from all repos

Remove a repository

Generate index.yaml for a local chart repo

Search for charts across added repos

Search Artifact Hub (public registry)

List all available versions of a chart

Install & Upgrade

helm install <release> <chart>
helm install my-nginx bitnami/nginx
helm install my-app ./mychart
helm install my-app ./mychart -f values.yaml
helm install my-app ./mychart --set image.tag=1.21
helm install my-app ./mychart --set-string replicas=3
helm install my-app ./mychart -n my-namespace --create-namespace
helm install my-app ./mychart --dry-run --debug
helm upgrade my-app ./mychart
helm upgrade my-app ./mychart -f prod-values.yaml
helm upgrade my-app ./mychart --set image.tag=1.22
helm upgrade --install my-app ./mychart
helm upgrade my-app ./mychart --atomic
helm upgrade my-app ./mychart --wait --timeout 5m
helm upgrade my-app ./mychart --force

Install a chart as a named release

Install nginx from Bitnami repo

Install from a local chart directory

Install with custom values file

Override a value inline

Override value as string

Install into a specific namespace, create if missing

Dry-run: render manifests without deploying

Upgrade an existing release

Upgrade with custom values

Upgrade with inline value override

Install if not present, upgrade if it is (idempotent)

Auto-rollback if upgrade fails

Wait for pods to be ready before marking upgrade complete

Force resource updates through delete and recreate

Release Management

helm list
helm list -A
helm list -n my-namespace
helm list --failed
helm status my-app
helm status my-app -n my-namespace
helm history my-app
helm rollback my-app
helm rollback my-app 2
helm uninstall my-app
helm uninstall my-app --keep-history
helm uninstall my-app -n my-namespace

List all releases in current namespace

List all releases across all namespaces

List releases in a specific namespace

List only failed releases

Show status of a release

Show status in specific namespace

Show release revision history

Rollback to previous revision

Rollback to specific revision number

Uninstall a release and delete all its resources

Uninstall but retain history for rollback

Uninstall from a specific namespace

Inspect & Debug

helm get all my-app
helm get manifest my-app
helm get values my-app
helm get values my-app --all
helm get notes my-app
helm show chart bitnami/nginx
helm show values bitnami/nginx
helm show readme bitnami/nginx
helm show all bitnami/nginx
helm template my-app ./mychart
helm template my-app ./mychart -f values.yaml > rendered.yaml
helm lint ./mychart
helm test my-app

Get all info (manifest, values, notes) for a release

Get Kubernetes manifests rendered for a release

Get user-supplied values for a release

Get all values (user + defaults) for a release

Show post-install notes for a release

Show chart metadata (Chart.yaml)

Show default values.yaml for a chart

Show chart README

Show all chart info (chart + values + readme)

Render chart templates locally without installing

Render templates to file for review

Lint chart for errors and best practices

Run chart test hooks (test pods)

Chart Development

helm create mychart
helm package ./mychart
helm package ./mychart --version 1.2.0
helm dependency update ./mychart
helm dependency list ./mychart
helm dependency build ./mychart
helm push mychart-1.0.0.tgz oci://registry.example.com/charts
helm pull bitnami/nginx --untar
helm pull bitnami/nginx --version 15.0.0

Create a new chart scaffold

Package chart into a .tgz archive

Package with specific version

Download chart dependencies listed in Chart.yaml

List chart dependencies and their statuses

Rebuild charts/ from Chart.lock

Push chart to OCI registry

Download and extract a chart locally

Pull specific chart version

OCI Registry & Plugins

helm registry login registry.example.com
helm registry logout registry.example.com
helm install my-app oci://registry.example.com/charts/mychart --version 1.0.0
helm plugin list
helm plugin install <url>
helm plugin install https://github.com/databus23/helm-diff
helm diff upgrade my-app ./mychart
helm plugin uninstall <name>

Login to an OCI registry

Logout from an OCI registry

Install chart from OCI registry

List installed Helm plugins

Install a Helm plugin

Install helm-diff plugin (shows diff before upgrade)

Show diff between current and new release (requires helm-diff)

Remove a Helm plugin