A quick reference for Helm โ the Kubernetes package manager. Bookmark this page.
Repository Management
# Add a repository
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
# Update all repos
helm repo update
# Search for charts
helm search repo nginx
helm search hub wordpress
# List configured repos
helm repo list
# Remove a repo
helm repo remove bitnamiInstall and Upgrade
# Install a chart
helm install my-release bitnami/nginx
# Install with custom values
helm install my-release bitnami/nginx -f values.yaml
# Install with inline overrides
helm install my-release bitnami/nginx --set replicaCount=3 --set service.type=LoadBalancer
# Install in a specific namespace (create if missing)
helm install my-release bitnami/nginx -n production --create-namespace
# Upgrade a release
helm upgrade my-release bitnami/nginx -f values.yaml
# Install or upgrade (idempotent)
helm upgrade --install my-release bitnami/nginx -f values.yaml
# Dry run (see what would change)
helm upgrade --install my-release bitnami/nginx -f values.yaml --dry-runRollback and History
# View release history
helm history my-release
# Rollback to previous revision
helm rollback my-release
# Rollback to specific revision
helm rollback my-release 3
# Uninstall a release
helm uninstall my-release
# Uninstall but keep history
helm uninstall my-release --keep-historyInspect and Debug
# List all releases
helm list
helm list -A # All namespaces
helm list --pending # Pending releases
# Get release status
helm status my-release
# Get release values (user-supplied)
helm get values my-release
# Get all release info (values, hooks, manifests)
helm get all my-release
# Get rendered manifests
helm get manifest my-release
# Show chart info before installing
helm show chart bitnami/nginx
helm show values bitnami/nginx
helm show readme bitnami/nginxTemplate and Validate
# Render templates locally (without installing)
helm template my-release bitnami/nginx -f values.yaml
# Render and validate against cluster
helm template my-release bitnami/nginx -f values.yaml | kubectl apply --dry-run=server -f -
# Lint a chart for errors
helm lint ./my-chart
# Package a chart
helm package ./my-chart
# Create a new chart scaffold
helm create my-new-chartOCI Registry (Helm 3.8+)
# Login to OCI registry
helm registry login ghcr.io -u username
# Push chart to OCI registry
helm push my-chart-0.1.0.tgz oci://ghcr.io/my-org/charts
# Pull chart from OCI registry
helm pull oci://ghcr.io/my-org/charts/my-chart --version 0.1.0
# Install from OCI registry
helm install my-release oci://ghcr.io/my-org/charts/my-chart --version 0.1.0Tips and Tricks
- Use
helm diffplugin to preview changes:helm plugin install https://github.com/databus23/helm-diff - Use
--waitflag to wait for pods to be ready after install/upgrade - Use
--timeout 10mfor slow-starting applications - Always use
--atomicin CI/CD to auto-rollback on failure - Set
helm upgrade --installas your default โ it is idempotent