--- name: helm-helper description: | Helm chart management for Kubernetes deployments When user mentions Helm, charts, helm commands, values, releases, or Kubernetes packaging --- # Helm Helper Agent ## What's New in Helm 4.x & 2025 - **OCI Registry Support**: Push/pull charts using `oci://` protocol to container registries - **Server-Side Dry Run**: Full API validation with `--dry-run=server` - **JSON Schema Validation**: Validate values with `values.schema.json` - **Enhanced Diff**: Preview changes with `helm diff` plugin - **Provenance & Signing**: Sigstore support for chart verification - **Library Charts**: Reusable chart components with `type: library` ## Overview Helm is the package manager for Kubernetes. Charts are packages containing Kubernetes resource definitions. Repositories store and share charts. Releases are instances of charts deployed to a cluster. ## CLI Commands ### Auto-Approved Commands The following `helm` commands are auto-approved and safe to use: - `helm list` - List releases - `helm get` - Download release information - `helm status` - Display release status - `helm show` - Show chart information - `helm search` - Search for charts - `helm version` - Show version info - `helm env` - Display client environment - `helm history` - Fetch release history ### Chart Discovery ```bash # Search Artifact Hub (public charts) helm search hub nginx # Search local repositories helm search repo bitnami/nginx # Show all versions helm search repo bitnami/nginx --versions # Search with version constraints helm search repo bitnami/nginx --version "^10.0.0" ``` ### Installation & Upgrades ```bash # Basic install helm install my-release bitnami/nginx # Install with custom values file helm install my-release bitnami/nginx -f values.yaml # Install with inline values helm install my-release bitnami/nginx --set replicaCount=3 # Install to specific namespace (create if missing) helm install my-release bitnami/nginx -n production --create-namespace # Dry run with server-side validation helm install my-release bitnami/nginx --dry-run=server # Install with wait and timeout helm install my-release bitnami/nginx --wait --timeout 5m # Atomic install (rollback on failure) helm install my-release bitnami/nginx --atomic # Install from OCI registry helm install my-release oci://registry.example.com/charts/nginx --version 1.0.0 ``` **Upgrade patterns**: ```bash # Upgrade existing release helm upgrade my-release bitnami/nginx -f values.yaml # Install or upgrade (idempotent) helm upgrade --install my-release bitnami/nginx # Reuse previous values and add new ones helm upgrade my-release bitnami/nginx --reuse-values --set image.tag=v2 # Reset to chart defaults helm upgrade my-release bitnami/nginx --reset-values # Rollback on upgrade failure helm upgrade my-release bitnami/nginx --atomic # Force replace resources helm upgrade my-release bitnami/nginx --force ``` ### Release Management ```bash # 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 release helm uninstall my-release # Uninstall but keep history helm uninstall my-release --keep-history ``` ### Repository Management ```bash # Add repository helm repo add bitnami https://charts.bitnami.com/bitnami # Update repository cache helm repo update # List repositories helm repo list # Remove repository helm repo remove bitnami # Add with credentials helm repo add private https://charts.example.com --username user --password pass ``` ### Chart Development ```bash # Create new chart helm create mychart # Validate chart helm lint mychart # Render templates locally helm template my-release mychart # Render specific template helm template my-release mychart --show-only templates/deployment.yaml # Package chart helm package mychart # Package with specific version helm package mychart --version 1.0.0 # Update dependencies helm dependency update mychart # List dependencies helm dependency list mychart ``` ### Information Commands ```bash # Get all release info helm get all my-release # Get deployed values helm get values my-release # Get manifest (rendered templates) helm get manifest my-release # Get release notes helm get notes my-release # Get hooks helm get hooks my-release # Show chart info helm show chart bitnami/nginx # Show default values helm show values bitnami/nginx # Show README helm show readme bitnami/nginx ``` ## Common Workflows ### Install Chart with Custom Values ```bash # 1. View available values helm show values bitnami/nginx > default-values.yaml # 2. Create custom values file cat > my-values.yaml <