| created | "2025-12-16T00:00:00.000Z" |
| modified | "2026-05-09T00:00:00.000Z" |
| reviewed | "2026-04-25T00:00:00.000Z" |
| name | helm-release-management |
| description | Manage Helm releases — install, upgrade, uninstall, list, inspect, history. Use when the user mentions deploying Helm charts, upgrading releases, or managing Kubernetes deployments. |
| user-invocable | false |
| allowed-tools | Bash, Read, Grep, Glob |
Helm Release Management
Comprehensive guidance for day-to-day Helm release operations including installation, upgrades, uninstallation, and release tracking.
When to Use This Skill
| Use this skill when... | Use instead when... |
|---|
Running helm install, helm upgrade, helm uninstall, or listing releases | Use helm-release-recovery when an upgrade has failed and needs rollback or stuck-state recovery |
| Checking release status, history, or rolling out a new chart version | Use helm-values-management when the focus is configuring values across environments |
| Promoting an existing chart from staging to production | Use helm-chart-development when authoring the chart that will be installed |
When to Use
Use this skill automatically when:
- User requests deploying or installing Helm charts
- User mentions upgrading or updating Helm releases
- User wants to list or manage releases across namespaces
- User needs to check release history or status
- User requests uninstalling or removing releases
Core Release Operations
Install New Release
helm install <release-name> <chart> --namespace <namespace> --create-namespace
helm install myapp bitnami/nginx \
--namespace production \
--create-namespace \
--values values.yaml \
--set replicaCount=3
helm install myapp ./mychart \
--namespace staging \
--atomic \
--timeout 5m \
--wait
helm install mydb bitnami/postgresql \
--namespace database \
--version 12.1.9 \
--values db-values.yaml
helm install myapp ./chart \
--namespace prod \
--dry-run \
--debug
Key Flags:
--namespace - Target namespace (ALWAYS specify explicitly)
--create-namespace - Create namespace if it doesn't exist
--values / -f - Specify values file(s)
--set - Override individual values
--atomic - Rollback automatically on failure (RECOMMENDED)
--wait - Wait for resources to be ready
--timeout - Maximum time to wait (default 5m)
--dry-run --debug - Preview without installing
Upgrade Existing Release
helm upgrade myapp ./mychart \
--namespace production \
--values values.yaml
helm upgrade myapp bitnami/nginx \
--namespace prod \
--reuse-values \
--set image.tag=1.21.0
helm upgrade mydb bitnami/postgresql \
--namespace database \
--version 12.2.0 \
--atomic \
--wait
helm upgrade --install myapp ./chart \
--namespace staging \
--create-namespace \
--values values.yaml
helm upgrade myapp ./chart \
--namespace prod \
--force \
--recreate-pods
Key Flags:
--reuse-values - Reuse existing values, merge with new
--reset-values - Reset to chart defaults, ignore existing
--install - Install if release doesn't exist
--force - Force resource updates (use cautiously)
--recreate-pods - Recreate pods even if no changes
--cleanup-on-fail - Delete new resources on failed upgrade
Value Override Precedence (lowest to highest):
- Chart default values (
values.yaml in chart)
- Previous release values (with
--reuse-values)
- Parent chart values
- User-specified values files (
-f values.yaml)
- Individual value overrides (
--set key=value)
Uninstall Release
helm uninstall myapp --namespace production
helm uninstall myapp \
--namespace staging \
--keep-history
helm uninstall myapp \
--namespace prod \
--timeout 10m \
--wait
List Releases
helm list --namespace production
helm list --all-namespaces
helm list \
--all-namespaces \
--output yaml \
--max 50
helm list --namespace staging --uninstalled
helm list --filter '^my.*' --namespace prod
Key Flags:
--all-namespaces / -A - List releases across all namespaces
--all - Show all releases including failed
--uninstalled - Show uninstalled releases
--failed - Show only failed releases
--pending - Show pending releases
--filter - Filter by release name (regex)
Release Information & History
Check Release Status
helm status myapp --namespace production
helm status myapp \
--namespace prod \
--show-resources
View Release History
helm history myapp --namespace production
helm history myapp \
--namespace prod \
--output yaml \
--max 10
Inspect Release
helm get manifest myapp --namespace production
helm get values myapp --namespace production
helm get values myapp --namespace prod --all
helm get metadata myapp --namespace production
helm get notes myapp --namespace production
helm get all myapp --namespace production
For common workflows (deploy new application, update configuration, upgrade chart version, multi-environment deployment), best practices, troubleshooting, and integration with other tools, see REFERENCE.md.
Agentic Optimizations
| Context | Command |
|---|
| List releases (structured) | helm list -n <ns> -o json |
| Release history (structured) | helm history <release> -n <ns> --output json |
| Release status (structured) | helm status <release> -n <ns> -o json |
| Values (structured) | helm get values <release> -n <ns> -o json |
| Failed releases | helm list -n <ns> --failed -o json |
Related Skills
- Helm Debugging - Troubleshooting failed deployments
- Helm Values Management - Advanced values configuration
- Helm Release Recovery - Rollback and recovery strategies
- ArgoCD CLI Login - GitOps integration with ArgoCD
- Kubernetes Operations - Managing deployed resources
References