Files
terdut-server/CLAUDE.md
T
Niklas Ye 5f9c202d65
CI / test (push) Successful in 6s
Beskriv hur ett släpp går till, och vad som är särskilt här
Repot kom in under den gemensamma släppprocessen i 1081260 utan 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
2026-09-01 22:09:15 +02:00

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.yaml runs test, binaries, image and chart. 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 — so chart-bump needs --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.