ADR: production posture for the Kubernetes deployment — secrets, HA, backup #170

Open
opened 2026-09-10 08:59:06 +00:00 by not · 0 comments
Contributor

Outcome: the production-posture ADR #25 asked for and PR #167 deliberately did not write.

#25's stated outcome was "a Helm chart and accompanying ADR on production posture: HA, secrets, backup, observability, identity wiring". The chart landed (ADR-0033) and is deployed and verified on Talos; the posture write-up did not. Concretely open:

  • Secrets. values.yaml carries dev credentials in plain text (admin/admin, the ZGW client secret, both Objecten tokens) and the chart has no Secret objects.
  • HA. One replica of everything, Recreate rollouts, no PodDisruptionBudgets, no resource requests or limits — all single-node assumptions, listed as ADR-0033's ponytail ceiling.
  • Backup / restore for the six databases (today: emptyDir, or a PVC on local-path).
  • Ingress + TLS instead of NodePorts, which is also what would let the portals drop the localhost port-forward (PKCE needs a secure context).
  • Observability on Kubernetes: defined in the chart but disabled, because Tempo/Prometheus/Grafana are built images that also need pushing.

Decide the posture and record it; implementing it is a separate slice.

Definition of Done

  • A linked Gitea issue exists (this one).
  • Failing test written and committed first.
  • Implementation makes the test pass.
  • Conventional Commit messages referencing this issue (refs #NN).
  • All Gitea Actions CI jobs green.
  • Docs touched if behaviour, contracts, or operations changed.
  • ADR added in docs/architecture/ if a non-obvious decision was made.
  • This issue closed by the merging PR (closes #NN).
**Outcome:** the production-posture ADR #25 asked for and PR #167 deliberately did not write. #25's stated outcome was *"a Helm chart and accompanying ADR on production posture: HA, secrets, backup, observability, identity wiring"*. The chart landed (ADR-0033) and is deployed and verified on Talos; the posture write-up did not. Concretely open: - **Secrets.** `values.yaml` carries dev credentials in plain text (`admin/admin`, the ZGW client secret, both Objecten tokens) and the chart has no `Secret` objects. - **HA.** One replica of everything, `Recreate` rollouts, no PodDisruptionBudgets, no resource requests or limits — all single-node assumptions, listed as ADR-0033's ponytail ceiling. - **Backup / restore** for the six databases (today: `emptyDir`, or a PVC on local-path). - **Ingress + TLS** instead of NodePorts, which is also what would let the portals drop the `localhost` port-forward (PKCE needs a secure context). - **Observability** on Kubernetes: defined in the chart but disabled, because Tempo/Prometheus/Grafana are built images that also need pushing. Decide the posture and record it; implementing it is a separate slice. ## Definition of Done - [ ] A linked Gitea issue exists (this one). - [ ] Failing test written and committed first. - [ ] Implementation makes the test pass. - [ ] Conventional Commit messages referencing this issue (`refs #NN`). - [ ] All Gitea Actions CI jobs green. - [ ] Docs touched if behaviour, contracts, or operations changed. - [ ] ADR added in `docs/architecture/` if a non-obvious decision was made. - [ ] This issue closed by the merging PR (`closes #NN`).
not added this to the Iteration 6 — Production Posture milestone 2026-09-10 08:59:06 +00:00
not added the type:adr-proposalarea:infra labels 2026-09-10 08:59:06 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: eho/register-referentie#170