Verified7 commandsAI-assisted

Helm

Verified against Helm v3.18.6, flags verified via `helm <cmd> --help`, 2026-08-20 · official docs

Repos, install/upgrade/rollback, and the commands for previewing what a change would actually do before it hits a cluster.

Managing chart repositories#

helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update                          # refresh the local index of all added repos
helm repo list
helm search repo postgresql               # search across all added repos

Installing a release#

helm install my-release bitnami/postgresql --namespace my-app --create-namespace
helm install my-release ./my-chart -f values-prod.yaml
helm install my-release ./my-chart --set image.tag=v2.1.0,replicaCount=3
helm install my-release ./my-chart --version 1.4.2   # pin a specific chart version

-f values.yaml and --set key=value can both be used together — --set values win when the same key is set both ways, which makes it the standard way to override one or two values from a CI pipeline without maintaining a separate values file per environment.

Upgrading a release#

helm upgrade my-release ./my-chart -f values-prod.yaml
helm upgrade --install my-release ./my-chart -f values-prod.yaml   # upgrade if it exists, install if it doesn't
helm upgrade my-release ./my-chart --atomic                          # auto-rollback the whole upgrade on failure

--install on upgrade (or the equivalent upgrade -i) is the standard pattern for idempotent CI/CD deploy scripts — one command works whether this is the first deploy or the hundredth, no separate install-vs-upgrade branching logic needed.

Previewing changes before applying#

helm install my-release ./my-chart --dry-run --debug          # render manifests locally, no cluster call
helm template my-release ./my-chart -f values-prod.yaml        # render manifests to stdout, no release created at all
helm diff upgrade my-release ./my-chart -f values-prod.yaml    # requires the helm-diff plugin — shows an actual diff

helm diff is a plugin, not built into core Helm — install it with helm plugin install https://github.com/databus23/helm-diff. It's the closest thing Helm has to terraform plan: an actual before/after diff against the live cluster state, versus template/--dry-run which only show the rendered output in isolation.

Rolling back#

helm history my-release                    # list all revisions of a release
helm rollback my-release                   # roll back to the previous revision
helm rollback my-release 3                 # roll back to a specific revision number

Listing and removing releases#

helm list --namespace my-app
helm list --all-namespaces
helm status my-release
helm uninstall my-release --namespace my-app

Chart development helpers#

helm lint ./my-chart                         # catch template/schema issues before installing
helm create my-new-chart                     # scaffold a new chart from the standard starter template
helm package ./my-chart                       # produce a .tgz for distribution