helm-debug
Debug Helm chart issues - template rendering, value overrides, hook failures
SKILL.md.claude/skills/helm:debug/SKILL.md
GitHubDebug Helm Charts
Context-Safe Execution (MANDATORY)
Helm template output can be hundreds of lines. Always redirect to files:
export LOG_DIR="${LOG_DIR:-${WORKSPACE_DIR:-/tmp}/rossoctl-helm}"
mkdir -p "$LOG_DIR"
# Redirect helm template output
helm template rossoctl charts/rossoctl -n rossoctl-system > $LOG_DIR/rendered.yaml 2>&1 && echo "OK" || echo "FAIL"
# Analyze in subagent: Task(subagent_type='Explore') with Grep to find specific templates/values
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 rossoctl charts/rossoctl -n rossoctl-system -f charts/rossoctl/.secrets.yaml
Render a specific template:
helm template rossoctl charts/rossoctl -n rossoctl-system -s templates/ui-oauth-secret-job.yaml
Compare rendered output with what's deployed:
helm get manifest rossoctl -n rossoctl-system
Value Debugging
Show computed values:
helm get values rossoctl -n rossoctl-system
Show all values (including defaults):
helm get values rossoctl -n rossoctl-system -a
Show chart default values:
helm show values charts/rossoctl
Release Debugging
Check release status:
helm status rossoctl -n rossoctl-system
Check release history:
helm history rossoctl -n rossoctl-system
Hook Debugging
Hooks run as Jobs. Check their status:
kubectl get jobs -n rossoctl-system
Check hook job logs:
kubectl logs -n rossoctl-system job/<hook-job-name>
Dependency Issues
Update chart dependencies:
helm dependency update charts/rossoctl
List dependencies:
helm dependency list charts/rossoctl
Common Issues
| Issue | Cause | Fix |
|---|---|---|
UPGRADE FAILED: another operation in progress |
Stale lock | kubectl delete secret -n rossoctl-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
rossoctl:deploy- Platform deploymentrossoctl: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