add-helm-value
Add or change a setting in the Helm charts (deploy/charts/stack or data), or add a cluster add-on (an operator or tool in deploy/platform/addons). Use when a deployment needs a new knob, a per-environ
SKILL.md.claude/skills/add-helm-value/SKILL.md
GitHubAdd a Helm value or a platform add-on
Nothing here touches a real cluster: Argo CD applies what's on master.
.claude/rules/infra.md has the rules; deploy/README.md the layout.
A value in a chart
- Schema first.
deploy/charts/<stack|data>/values.schema.jsonhasadditionalProperties: false: add the property with its type, bounds and a description, orhelm templatefails. - Default in the chart's
values.yaml, with a comment on what it does. Per environment:deploy/environments/<env>/<stack|data>.yaml. A secret never goes in values: it's a SOPS Secret (the add-env-var skill). - Template. Use it in
templates/; helpers are intemplates/_helpers.tpl. - Test. A helm-unittest case in
deploy/charts/<chart>/tests/for the rendered result, including the default and an override. - A new environment also goes in
RELEASE_VALUESinscripts/charts.ts.
A platform add-on
- A file in
deploy/platform/addons/<addon>.yaml:addon,namespace, and eitherrepoURL+chart+version(pinned exactly; theplatformApplicationSet indeploy/argocd/appsets/platform.yamlreads the fields), orpathfor a chart in this repo, orsecretsPathfor SOPS manifests.waveorders it against the others (operators before what uses their resources). - Our values for it in
deploy/platform/values/<addon>.yaml, with memory limits. - Renovate follows the chart through the add-on managers in
renovate.json5; a file pattern they don't match needs a custom manager. - Everything in-cluster and self-hosted: a managed service is an exception the user
decides (
.claude/rules/infra.md).
Done when
bun run charts:checkpasses (lint, unit tests, every environment rendered and validated with kubeconform, add-ons at their pinned versions); it takes minutes, so in the background.bun run k8s:upandbun run k8s:smokepass locally if the change affects how the stack runs (the user starts and stops the local cluster).- The
security-revieweragent reports nothing for anything that opens a port, a route or a permission.