Helm Chart Scaffolding
Charts encode install defaults. Prefer safe values, clear NOTES, and upgrades that do not surprise operators.
Workflow
- Clarify app type (stateless API, worker, stateful), envs, and secrets model.
- Scaffold chart layout: Chart.yaml, values.yaml, templates/, NOTES.txt.
- Parameterize image, resources, probes, service, ingress, and config.
- Avoid dangerous defaults (privileged, latest, open 0.0.0.0 without intent).
- Plan hooks only when necessary; document failure modes.
- Review upgrade/rollback: immutable tags, PDB, migrations job separation.
Output format
## Helm chart: <name>
### Files
- Chart.yaml …
- values.yaml keys …
- templates …
### Safe defaults
…
### Install / upgrade notes
…
### Risks
…
Rules
- Prefer values over hardcoding in templates.
- Secrets via external secret refs or sealed patterns — not plain values committed.
- Keep templates readable; limit cleverness.
- Document required vs optional values.
- Separate app chart from environment values files.
- Coordinate with kubernetes-review concerns for probes/RBAC/securityContext.
Edge cases
- Subcharts/dependencies: pin versions; watch value collisions.
- CRDs: install order and ownership.
- Library charts: no deployable templates; document consumers.