Repot kom in under den gemensamma släppprocessen i1081260utan att någon dokumentation sa det. README hade Kubernetes och Development men ingenting om vägen från en commit till något som rullar i klustret, och till skillnad från riksdata och rd-web fanns ingen CLAUDE.md alls. Två saker om just det här repot är värda att stå skrivna, eftersom båda avviker från syskonrepona och båda upptäcktes mitt i ett släpp: Pipelinen har ingen bildskanning. riksdata och rd-web kör trivy efter publiceringen; .gitea/workflows/release.yaml här har test, binaries, image och chart och inget mer. Ett grönt släpp är alltså inget belägg för att bilden är fri från kända sårbarheter, och en släppnot får inte antyda det. Wrapperchartets values.yaml har två tag:-rader, appbilden och python-sidovagnen för säkerhetskopiering, så chart-bump behöver --image för att veta vilken som flyttas. Utan den vägrar den, vilket är rätt. Samtidigt: varför det inte finns några build- eller push-mål, varför chartet publiceras enbart från taggen (766f439), och varför make test kör -race när CI inte gör det. Helm-exemplet pekade fortfarande på 0.9.0 och går till 0.9.2. Claude-Session: https://claude.ai/code/session_01S7R4gWTz5wh5xCY4nCSJjN
1.4 KiB
Release
Say "Release" (or "Release X.Y.Z") and the release skill runs it: commit, push, tag,
wait for the pipeline, then open the wrapper-chart PR against Ryuvia/charts. It stops
there — merging and the Flux reconcile stay manual, deliberately.
Preconditions and the plan, without side effects:
~/.claude/skills/release/scripts/release-preflight # state + suggested version
~/.claude/skills/release/scripts/release-preflight vX.Y.Z # validate that release
Config is .release.conf here plus make release-vars. The process itself lives in
~/.claude/skills/release/; why it is shaped this way is in README.md §Releasing.
Two things about this repo specifically:
- The pipeline has no image scan.
.gitea/workflows/release.yamlrunstest,binaries,imageandchart. A green release run is not evidence the image is CVE-clean, and a release note must not imply it is. - The wrapper chart has two
tag:lines — the app image and the python backup sidecar — sochart-bumpneeds--image "$IMAGE"to know which one moves.
Checks
make fmt lint test helm-lint mirrors .gitea/workflows/ci.yaml, so a green gate here means
a green pipeline there. The one deliberate difference is -race, which CI does not run; see
the comment on the test target.
There are deliberately no build/push/helm-push targets — the workflow owns publishing,
and it builds multi-arch. Publishing happens by pushing a tag.