Naren

helm

Helm 4, and the Helm 3 flags it retired.

Verified against Helm v4.2.3. Several flags below changed name in Helm 4, so copied Helm 3 snippets fail with an unknown flag error.

Commands

Install or upgrade in one command, which is the only form worth memorising:

helm upgrade --install NAME ./chart -n NS --create-namespace

See what would be applied, without applying it:

helm upgrade --install NAME ./chart --dry-run
helm template NAME ./chart --show-only templates/deployment.yaml

Undo a bad release:

helm history NAME -n NS
helm rollback NAME 3 -n NS

Roll back automatically when an upgrade fails:

helm upgrade --install NAME ./chart --rollback-on-failure --timeout 5m

What is actually deployed right now, as the cluster sees it:

helm get manifest NAME -n NS
helm get values NAME -n NS --all

Everything installed, everywhere:

helm list -A

Notes

--atomic is gone in Helm 4. It is now --rollback-on-failure, which also sets --wait to watcher for you.

--wait is no longer a boolean. It takes a strategy: watcher, hookOnly or legacy. When the flag is omitted entirely the default is hookOnly, so a chart you believed was waiting for readiness probably was not.

--force is now --force-replace. There is a separate --force-conflicts, which belongs to --server-side and resolves field manager conflicts rather than replacing the release.

helm get values --all shows computed values including chart defaults. Without --all you only see what you passed, which hides the value that is actually breaking things.

On this page