Helm Quick Reference
Helm is package + release management for Kubernetes.
Repos and Search
# Add and update repos
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update
# List repos and charts
helm repo list
helm search repo nginx
# Chart info
helm show chart bitnami/nginx
helm show values bitnami/nginx
helm show all bitnami/nginx
Install / Upgrade / Uninstall
# Install (creates a release)
helm install <release> bitnami/nginx -n <ns> --create-namespace
# Upgrade (or install if missing)
helm upgrade --install <release> bitnami/nginx -n <ns>
# Pin a chart version
helm install <release> bitnami/nginx --version 15.10.0 -n <ns>
# Uninstall
helm uninstall <release> -n <ns>
Values and Overrides
# Layer values files (later wins)
helm upgrade --install <release> ./chart -n <ns> \
-f values.yaml \
-f values.prod.yaml
# One-off overrides
helm upgrade --install <release> ./chart -n <ns> \
--set image.tag=1.2.3 \
--set-string env.LOG_LEVEL=debug
# See computed values for an installed release
helm get values <release> -n <ns>
helm get values <release> -n <ns> --all
Render and Debug
# Render templates locally
helm template <release> ./chart -n <ns>
# Validate chart structure
helm lint ./chart
# Dry-run an install/upgrade (talks to cluster if --dry-run=server)
helm upgrade --install <release> ./chart -n <ns> --dry-run --debug
# Show the manifest Helm applied
helm get manifest <release> -n <ns>
# Release status
helm status <release> -n <ns>
History and Rollback
# See revisions
helm history <release> -n <ns>
# Roll back to a prior revision
helm rollback <release> <revision> -n <ns>
Tests and Hooks
# Run chart tests (if defined)
helm test <release> -n <ns>
Notes:
- Hooks are Kubernetes Jobs/Pods annotated with
helm.sh/hook(pre-install, post-upgrade, etc.). - A rollback re-applies Kubernetes resources; it does not automatically undo side effects like database migrations.
Dependencies
# Update / vendor dependencies
helm dependency update ./chart
helm dependency build ./chart
OCI Registries
# Login and pull charts from OCI
helm registry login <registry>
helm pull oci://<registry>/<org>/<chart> --version 1.2.3
# Install directly from OCI
helm install <release> oci://<registry>/<org>/<chart> --version 1.2.3 -n <ns>
Common Gotchas
- Namespaces: Helm releases are namespace-scoped; always pass
-n <ns>consistently. - Values typing:
--setguesses types; use--set-stringwhen you need literal strings. - Secrets in values: avoid committing credentials in
values*.yaml; prefer External Secrets / SOPS / Sealed Secrets. - Diffs: the
helm-diffplugin is the usual workflow (helm plugin install https://github.com/databus23/helm-diff).