4
Home
Justin Klein edited this page 2026-09-27 14:29:00 +00:00

helm-charts — knowledge base

Everything about this repository that is not the code itself: how to install each chart, what every value does, how the pipelines work, which rules are binding, and which of them were learned the hard way.

The repo lives on the Gitea instance JLab-Git. Issues, pull requests, CI and Renovate all run there; github.com is a push mirror with Actions and Renovate switched off.

Start here

I want to… Page
install or configure one of the charts Chart index
know how work gets done here (issues → plan → agent → PR → merge) Workflow
know which forge, which CLI, which remote, signed commits Forge and tooling
understand the PR pipeline, the install-test, the render test CI/CD
check whether every chart still comes up on the current runner CI/CD → all-charts install-test
understand how chart versions are numbered and bumped Versioning
write or review a chart Chart style guide
add a new chart Creating a new chart
know how dependency updates arrive Renovate
render, lint or install a chart on my own machine Local development
read what went wrong before, so it does not go wrong again Lessons learned

What this repo is

A collection of self-made Helm charts — one directory per chart — published to a private, classic (index-based) Helm registry by Gitea Actions. Publishing is an HTTP POST of the packaged .tgz, not an OCI helm push. The registry URL and its credentials live in 1Password and appear nowhere in the repository.

Two properties shape almost everything else:

  • A push to main that touches a chart directory publishes that chart. The chart version must therefore be bumped in the same change, and the PR pipeline enforces it.
  • Secrets are never in the repo. Charts render OnePasswordItem CRs; the 1Password operator materializes the Kubernetes Secrets in-cluster. Helm never sees their content, which is why some restart mechanics do not work — see style guide §9.

Two conventions about this wiki

  • Chart.yaml is authoritative for versions. The chart pages carry no version numbers at all — Renovate moves app versions continuously and does not edit this wiki, so a number written here would be stale within days. Read the current pair off <chart>/Chart.yaml; the chart index has the command.
  • #n in the repo's files means the GitHub tracker, not Gitea. Numbers changed with the move — see Forge and tooling.

Keeping this wiki current is a required step

Not a nice-to-have: it is step 5 of the workflow — before the merge is requested — and is written into CLAUDE.md. A change that alters values, behaviour, conventions or pipelines updates the affected page in the same round of work — see what obliges an edit and what does not.