docs(issues): close #0044 — no reloader, the moving secrets are already covered

sorb's call. The goal is already met where secrets actually move: the ESS chart
rolls its components on config change via pod-template hash labels, and coturn
plus Synapse are handled by the rotation job's annotation bump — the one case with
regular unattended rotation, solved precisely because of that.

What is left are three services whose secrets change rarely and by deliberate act,
at the very moment someone is already watching and ADR-0011 applies. A permanent
controller allowed to patch arbitrary deployments is the worse trade for that.

The map is the outcome here, not an installation: the assumption had been that MAS
was uncovered, and a reloader would have been aimed at a solved problem.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Thore Cimbal
2026-08-15 12:00:00 +00:00
co-authored by Claude Opus 4.8
parent f248c4f03c
commit 320657b1d5
2 changed files with 32 additions and 4 deletions
+2 -3
View File
@@ -2,9 +2,9 @@
<!-- Generated by scripts/gen_status.py — do not edit. -->
## Issues (23 open, 24 closed)
## Issues (22 open, 25 closed)
Verteilung: M1 6 · M2 13 · M4 2 · M5 2
Verteilung: M1 6 · M2 13 · M4 2 · M5 1
| Issue | Status | Meilenstein | Priorität | Title |
|---|---|---|---|---|
@@ -27,7 +27,6 @@ Verteilung: M1 6 · M2 13 · M4 2 · M5 2
| [0034](docs/issues/0034-cfgmon-11-gitea-ci-rueckbau-abschliessen.md) | open | M2 | medium | CFGMON-11 — Gitea-CI-Rückbau abschließen (sicher rückbaubare Schritte) |
| [0040](docs/issues/0040-neckbeard-rueckmeldungen-einreichen.md) | open | M2 | low | neckbeard-Rückmeldungen aus dem Feldtest einreichen |
| [0042](docs/issues/0042-migration-in-betrieb-nehmen-push-spiegel-schedule.md) | open | M2 | high | Migration in Betrieb nehmen: Push, erster Spiegel-Lauf, CI-Schedule |
| [0044](docs/issues/0044-sops-secret-aenderung-startet-dienst-nicht-neu.md) | open | M5 | low | SOPS-Values-Secret-Änderung startet den konsumierenden Dienst nicht neu |
| [0045](docs/issues/0045-report-event-kein-kontaktweg-fuer-melder.md) | open | M1 | low | Inhalts-Meldung führt ins Leere: kein Kontaktweg für Melder |
| [0051](docs/issues/0051-cve-remediation-pass.md) | open | M5 | high | CVE-Remediation-Pass: Schwachstellen-Report abarbeiten |
| [0053](docs/issues/0053-historien-durchgang-nicht-kanonische-commits.md) | open | M2 | low | Historien-Durchgang: acht nicht-kanonische Commits mitziehen |
@@ -1,7 +1,7 @@
---
type: issue
id: "0044"
status: open
status: done
created: 2026-08-11
milestone: M5
priority: low
@@ -87,3 +87,32 @@ ADR-0011-Regel (aktiv verifizieren) für die drei Nachzügler gelten lassen. Wer
ist, hat mit Reloader einen sauberen Weg — die Chart erlaubt Annotationen je Komponente
(`matrixAuthenticationService.annotations`, schema-geprüft), sie landen am Deployment **und** am
Pod-Template.
## Geschlossen 2026-08-15 — Entscheidung sorb: kein Reloader
Die Abdeckungskarte oben ist das Ergebnis; ein zusätzlicher Controller wird **bewusst nicht**
eingebaut.
**Begründung.** Das Ziel des Issues — „Änderungen an einem konsumierten Values-Secret lösen
automatisch einen Rollout aus" — ist für die Dienste, bei denen sich Secrets real bewegen,
**bereits erfüllt**, nur anders als vermutet:
- **MAS und die übrigen ESS-Komponenten** über die Hash-Labels der Chart am Pod-Template
(live verifiziert), zusammen mit `interval: 1m` am HelmRelease.
- **coturn und Synapse** über den `rotated-at`-Bump des Rotations-CronJobs — der einzige Fall
mit regelmäßiger, unbeaufsichtigter Secret-Änderung, und genau deshalb schon gelöst (#38).
Übrig bleiben `draupnir`, `wikijs` und `concierge-bot`: Secrets, die sich **selten und stets
durch bewusstes Handeln** ändern — also in dem Moment, in dem ohnehin jemand hinschaut und die
ADR-0011-Regel (aktiv verifizieren) greift. Dafür einen Dauer-Controller mit Rechten, beliebige
Deployments zu patchen, in die Produktion zu stellen, ist der schlechtere Tausch: bleibende
Angriffsfläche und Wartungslast gegen ein Restrisiko, das genau dort klein ist, wo es zählt.
**Das eigentliche Ergebnis dieses Issues ist die Karte, nicht der Einbau.** Vorher wusste
niemand, dass MAS abgedeckt ist — die Annahme war das Gegenteil, und ein Reloader wäre auf ein
bereits gelöstes Problem gesetzt worden.
**Falls die Entscheidung später kippt** (etwa wenn ein Dienst dazukommt, dessen Secret
automatisiert rotiert): Der Weg ist vorbereitet — die ESS-Chart erlaubt Annotationen je
Komponente (`matrixAuthenticationService.annotations`, schema-geprüft), und sie landen sowohl am
Deployment als auch am Pod-Template, also genau dort, wo stakater/Reloader sie liest.