Debug Helm Charts
When to Use
- Helm install/upgrade fails
- Template rendering produces unexpected output
- Values not applied correctly
- Hook jobs failing
Template Debugging
Render templates locally without installing:
helm template kagenti charts/kagenti -n kagenti-system -f charts/kagenti/.secrets.yaml
Render a specific template:
helm template kagenti charts/kagenti -n kagenti-system -s templates/ui-oauth-secret-job.yaml
Compare rendered output with what's deployed:
helm get manifest kagenti -n kagenti-system
Value Debugging
Show computed values:
helm get values kagenti -n kagenti-system
Show all values (including defaults):
helm get values kagenti -n kagenti-system -a
Show chart default values:
helm show values charts/kagenti
Release Debugging
Check release status:
helm status kagenti -n kagenti-system
Check release history:
helm history kagenti -n kagenti-system
Hook Debugging
Hooks run as Jobs. Check their status:
kubectl get jobs -n kagenti-system
Check hook job logs:
kubectl logs -n kagenti-system job/<hook-job-name>
Dependency Issues
Update chart dependencies:
helm dependency update charts/kagenti
List dependencies:
helm dependency list charts/kagenti
Common Issues
| Issue | Cause | Fix |
|---|---|---|
UPGRADE FAILED: another operation in progress |
Stale lock | kubectl delete secret -n kagenti-system -l status=pending-upgrade |
| Template render error | Bad YAML indent | Use helm template to see exact error |
| Values not applied | Wrong -f order |
Later files override earlier ones |
| Hook timeout | Job takes too long | Check job logs, increase timeout |
Related Skills
kagenti:deploy- Platform deploymentkagenti:operator- Operator managementk8s:pods- Debug pod issues from hook jobsrca:hypershift- RCA when Helm issues cause test failuresrca:kind- RCA on local Kind clustertdd:hypershift- TDD loop that includes Helm reinstall iterationstdd:kind- TDD loop on Kind cluster