Helm Cheatsheet
Helm commands for managing Kubernetes packages — install, upgrade, rollback, debug charts, and manage repositories.
Installation & Setup
brew install helmInstall Helm on macOS
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bashInstall Helm on Linux
helm versionShow Helm version
helm envShow Helm environment variables
helm completion bash > /etc/bash_completion.d/helmEnable bash tab completion
helm completion zsh > ~/.zsh/completions/_helmEnable zsh tab completion
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>Add a Helm chart repository
helm repo add stable https://charts.helm.sh/stableAdd official stable repo
helm repo add bitnami https://charts.bitnami.com/bitnamiAdd Bitnami repo
helm repo listList all added repositories
helm repo updateFetch latest charts from all repos
helm repo remove <name>Remove a repository
helm repo index .Generate index.yaml for a local chart repo
helm search repo <keyword>Search for charts across added repos
helm search hub <keyword>Search Artifact Hub (public registry)
helm search repo nginx --versionsList all available versions of a chart
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>Install a chart as a named release
helm install my-nginx bitnami/nginxInstall nginx from Bitnami repo
helm install my-app ./mychartInstall from a local chart directory
helm install my-app ./mychart -f values.yamlInstall with custom values file
helm install my-app ./mychart --set image.tag=1.21Override a value inline
helm install my-app ./mychart --set-string replicas=3Override value as string
helm install my-app ./mychart -n my-namespace --create-namespaceInstall into a specific namespace, create if missing
helm install my-app ./mychart --dry-run --debugDry-run: render manifests without deploying
helm upgrade my-app ./mychartUpgrade an existing release
helm upgrade my-app ./mychart -f prod-values.yamlUpgrade with custom values
helm upgrade my-app ./mychart --set image.tag=1.22Upgrade with inline value override
helm upgrade --install my-app ./mychartInstall if not present, upgrade if it is (idempotent)
helm upgrade my-app ./mychart --atomicAuto-rollback if upgrade fails
helm upgrade my-app ./mychart --wait --timeout 5mWait for pods to be ready before marking upgrade complete
helm upgrade my-app ./mychart --forceForce resource updates through delete and recreate
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 listList all releases in current namespace
helm list -AList all releases across all namespaces
helm list -n my-namespaceList releases in a specific namespace
helm list --failedList only failed releases
helm status my-appShow status of a release
helm status my-app -n my-namespaceShow status in specific namespace
helm history my-appShow release revision history
helm rollback my-appRollback to previous revision
helm rollback my-app 2Rollback to specific revision number
helm uninstall my-appUninstall a release and delete all its resources
helm uninstall my-app --keep-historyUninstall but retain history for rollback
helm uninstall my-app -n my-namespaceUninstall from a specific 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-appGet all info (manifest, values, notes) for a release
helm get manifest my-appGet Kubernetes manifests rendered for a release
helm get values my-appGet user-supplied values for a release
helm get values my-app --allGet all values (user + defaults) for a release
helm get notes my-appShow post-install notes for a release
helm show chart bitnami/nginxShow chart metadata (Chart.yaml)
helm show values bitnami/nginxShow default values.yaml for a chart
helm show readme bitnami/nginxShow chart README
helm show all bitnami/nginxShow all chart info (chart + values + readme)
helm template my-app ./mychartRender chart templates locally without installing
helm template my-app ./mychart -f values.yaml > rendered.yamlRender templates to file for review
helm lint ./mychartLint chart for errors and best practices
helm test my-appRun chart test hooks (test pods)
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 mychartCreate a new chart scaffold
helm package ./mychartPackage chart into a .tgz archive
helm package ./mychart --version 1.2.0Package with specific version
helm dependency update ./mychartDownload chart dependencies listed in Chart.yaml
helm dependency list ./mychartList chart dependencies and their statuses
helm dependency build ./mychartRebuild charts/ from Chart.lock
helm push mychart-1.0.0.tgz oci://registry.example.com/chartsPush chart to OCI registry
helm pull bitnami/nginx --untarDownload and extract a chart locally
helm pull bitnami/nginx --version 15.0.0Pull specific chart version
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.comLogin to an OCI registry
helm registry logout registry.example.comLogout from an OCI registry
helm install my-app oci://registry.example.com/charts/mychart --version 1.0.0Install chart from OCI registry
helm plugin listList installed Helm plugins
helm plugin install <url>Install a Helm plugin
helm plugin install https://github.com/databus23/helm-diffInstall helm-diff plugin (shows diff before upgrade)
helm diff upgrade my-app ./mychartShow diff between current and new release (requires helm-diff)
helm plugin uninstall <name>Remove a Helm plugin
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