helm
54 commands
54 shown
Install chart with values file
Deploy a chart; creates namespace if it doesn't exist
helm install <release> <chart> -f values.yaml -n <ns> --create-namespace
Upgrade or install (idempotent)
Safe in CI — installs if absent, upgrades if present
helm upgrade --install <release> <chart> -f values.yaml -n <ns>
Diff before upgrade
Show exactly what will change (requires helm-diff plugin)
helm diff upgrade <release> <chart> -f values.yaml -n <ns>
Render templates locally
Output rendered YAML to stdout without deploying
helm template <release> <chart> -f values.yaml --debug
Show release values
All computed values for a deployed release
helm get values <release> -n <ns> --all
List all releases
All Helm releases across every namespace
helm list -A --output table
Rollback release to revision
Revert to a specific historical revision
helm rollback <release> <revision> -n <ns>
Uninstall a release
Remove release and all managed resources
helm uninstall <release> -n <ns>
Lint a chart
Validate chart structure and values; fails on warnings in --strict mode
helm lint <chart-dir> -f values.yaml --strict
Search chart versions in repo
List all available versions of a chart in added repositories
helm search repo <chart> --versions
Add OCI registry
Authenticate to an OCI-based Helm registry
helm registry login registry.example.com -u user -p pass
Push chart to OCI registry
Upload a packaged chart to an OCI registry
helm push mychart-0.1.0.tgz oci://registry.example.com/charts
Package a chart
Create a .tgz archive from a chart directory
helm package ./my-chart --destination ./dist
Show chart README
Print the chart README to stdout
helm show readme <chart>
Show chart values
Dump default values to a file for customization
helm show values <chart> > values.yaml
Plugin install
Install a Helm plugin from URL (e.g. helm-diff, helm-secrets)
helm plugin install https://github.com/databus23/helm-diff
Plugin list
Show all installed Helm plugins with versions
helm plugin list
Release manifest dump
All Kubernetes manifests generated by this Helm release
helm get manifest <release> -n <ns>
Test a release
Run any test hooks defined in the chart
helm test <release> -n <ns>
Helm secrets decrypt
Decrypt a SOPS/age-encrypted values file (requires helm-secrets plugin)
helm secrets view secrets.yaml
Get release notes
Print post-install notes for a deployed release
helm get notes <release> -n <ns>
Show computed values
Display all values (user + chart defaults) for a release
helm get values <release> -n <ns> --all
Render templates locally
Render and validate manifests without installing
helm template myrelease ./mychart -f values-prod.yaml | kubectl apply --dry-run=client -f -
Diff release before upgrade
Show YAML diff between current and new release (requires helm-diff plugin)
helm diff upgrade <release> ./mychart -f values.yaml -n <ns>
Upgrade with atomic rollback
Roll back automatically if upgrade does not succeed in 5m
helm upgrade <release> ./mychart -n <ns> -f values.yaml --atomic --timeout 5m
Set individual values
Override specific chart values from command line
helm upgrade <release> ./mychart --set image.tag=v1.5.0 --set replicaCount=3
Show release manifest
Print the Kubernetes YAML applied by the current release
helm get manifest <release> -n <ns>
Roll back to previous version
Show history and roll back to previous revision (0 = latest-1)
helm history <release> -n <ns> && helm rollback <release> 0 -n <ns>
Search chart versions
List all available versions of a chart in configured repos
helm search repo <chart> --versions | head -20
Show chart default values
Print default values.yaml for a chart version
helm show values <repo>/<chart> --version <ver>
Package chart
Create a versioned .tgz chart archive
helm package ./mychart --destination ./dist
Push chart to OCI registry
Upload chart package to an OCI-compliant container registry
helm push mychart-1.0.0.tgz oci://registry.example.com/charts
Install from OCI
Install a chart directly from an OCI registry
helm install myrelease oci://registry.example.com/charts/mychart --version 1.0.0
Lint chart
Validate chart structure and templates with strict mode
helm lint ./mychart -f values-prod.yaml --strict
Force resource replacement
Force replace resources that can't be patched (delete+create)
helm upgrade <release> ./mychart -n <ns> --force
Install plugins
Install helm-diff plugin for release comparison
helm plugin install https://github.com/databus23/helm-diff
Diff before upgrade
Show what would change in the cluster (requires helm-diff plugin)
helm diff upgrade myrelease ./chart -f values.yaml
Show computed values
Print the user-supplied values for a deployed release
helm get values myrelease -n mynamespace
Show all computed values (with defaults)
Show all values including chart defaults (-a / --all)
helm get values myrelease -a -n mynamespace
Rollback to specific revision
Roll back a release to revision number 2
helm rollback myrelease 2 -n mynamespace
Show release history
List all revisions of a Helm release with status
helm history myrelease -n mynamespace
Package chart for distribution
Create a versioned .tgz package from a chart directory
helm package ./mychart --version 1.2.3 --app-version 1.2.3
Push chart to OCI registry
Publish a chart to an OCI-compatible registry (Helm 3.8+)
helm push mychart-1.2.3.tgz oci://registry.example.com/charts
Lint a chart
Validate chart structure and catch template errors
helm lint ./mychart -f values.yaml --strict
Render one template
Render just one manifest to inspect output; note: path is relative to chart root
helm template <name> ./chart --show-only templates/deployment.yaml
Template with version gates
Render with fixed kube/API versions for CRD capability gates offline; includes CRDs
helm template <name> ./chart --kube-version 1.29 --api-versions policy/v1 --include-crds
reuse-values pitfall
note: --reuse-values silently keeps stale overrides; --reset-values forces clean merge
helm upgrade --install <name> ./chart --reset-values -f values.yaml
Inspect release hooks
Dump rendered pre/post-install/upgrade hooks to debug failing job ordering
helm get hooks <rel> -n <ns>
Dry-run a rollback
Preview which revision a rollback targets before committing to it
helm history <rel> -n <ns> && helm rollback <rel> <rev> --dry-run -n <ns>
Update chart dependencies
update refreshes Chart.lock from repos; build fetches subcharts from existing lock
helm dependency update ./chart && helm dependency build ./chart
Wait for jobs on install
Block until pods ready AND hook Jobs complete; avoids racing on migrations
helm upgrade --install <name> ./chart --wait --wait-for-jobs --timeout 10m -n <ns>
Parse release status as JSON
Extract machine-readable deploy state for scripts and gate checks
helm status <rel> -n <ns> -o json | jq '.info.status, .info.last_deployed'
Post-render with kustomize
Patch rendered manifests via kustomize without forking the upstream chart
helm upgrade --install <name> ./chart --post-renderer ./kustomize-hook.sh -n <ns>
Pull and unpack OCI chart
Vendor an OCI chart locally for inspection or air-gapped installs
helm pull oci://<host>/charts/<name> --version 1.2.3 --untar --untardir ./charts
no commands match