Loading...
Cheat sheet
Install, upgrade, rollback, debug, and manage Helm chart releases.
# Install a chart
helm install my-app ./charts/my-app
# Install with custom values
helm install my-app ./charts/my-app \
--values values-prod.yaml \
--set image.tag=v1.2.3
# Upgrade (install if not exists)
helm upgrade --install my-app ./charts/my-app \
--namespace production \
--create-namespace \
--atomic \
--timeout 5m
# Upgrade with version pin
helm upgrade my-app bitnami/nginx \
--version 15.0.0# View release history
helm history my-app
# Rollback to previous revision
helm rollback my-app
# Rollback to specific revision
helm rollback my-app 3
# View current values
helm get values my-app
# View all computed values (including defaults)
helm get values my-app --all# List all releases
helm list -A
# Show release status
helm status my-app
# Render templates locally (no install)
helm template my-app ./charts/my-app \
--values values-prod.yaml
# Dry run (server-side validation)
helm upgrade --install my-app ./charts/my-app \
--dry-run
# Show computed manifest
helm get manifest my-app# Add an HTTPS repository
helm repo add ingress-nginx \
https://kubernetes.github.io/ingress-nginx
# Update all repos
helm repo update
# Search for a chart
helm search repo nginx
# Search Artifact Hub
helm search hub nginx
# Remove a repo
helm repo remove ingress-nginx
# OCI registries — no "helm repo add" step
# Install directly from OCI registry
helm install my-release \
oci://registry-1.docker.io/bitnamicharts/nginx \
--version 15.0.0
# Pull OCI chart locally
helm pull oci://registry-1.docker.io/bitnamicharts/nginx \
--version 15.0.0# Scaffold a new chart
helm create my-chart
# Lint a chart
helm lint ./charts/my-chart
# Package chart as .tgz
helm package ./charts/my-chart
# Validate against Kubernetes API
helm template my-app ./charts/my-chart | kubectl apply --dry-run=server -f -
# Show chart info
helm show chart bitnami/postgresql
helm show values bitnami/postgresql# Precedence (highest wins):
# 1. --set flags
# 2. -f / --values files (last file wins)
# 3. Chart defaults (values.yaml)
# Override nested key
--set ingress.hosts[0].host=example.com
# Override list item
--set tolerations[0].key=dedicated \
--set tolerations[0].value=gpu
# Set from file
--set-file config=./app.conf
# Set string explicitly (avoid type coercion)
--set-string version=1.0# Uninstall a release
helm uninstall my-app
# Uninstall but keep history
helm uninstall my-app --keep-history
# List failed/pending releases
helm list -A --pending
helm list -A --failed
# Delete a stuck namespace (remove finalizers)
kubectl get namespace stuck-ns -o json \
| jq '.spec.finalizers = []' \
| kubectl replace --raw /api/v1/namespaces/stuck-ns/finalize -f -