docs(issues): close #0052 — no :latest left, coturn pinned and verified

The cluster was running coturn 4.10.0 while :latest pointed at 4.17.2, which is
the concrete harm the issue describes: nobody knew what ran, a reschedule would
have jumped seven minor versions unannounced, and the CVE scan was measuring a
moving target. Now pinned to 4.17.2 and verified beyond 'the pod is up' — a STUN
binding request from the public internet succeeds and the server reports the
caller's external address, so the relay path itself is proven.

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 0a018c5b8a
commit 9aea4ad69d
2 changed files with 47 additions and 4 deletions
+2 -3
View File
@@ -2,9 +2,9 @@
<!-- Generated by scripts/gen_status.py — do not edit. --> <!-- Generated by scripts/gen_status.py — do not edit. -->
## Issues (24 open, 22 closed) ## Issues (23 open, 23 closed)
Verteilung: M1 6 · M2 12 · M4 2 · M5 4 Verteilung: M1 6 · M2 12 · M4 2 · M5 3
| Issue | Status | Meilenstein | Priorität | Title | | Issue | Status | Meilenstein | Priorität | Title |
|---|---|---|---|---| |---|---|---|---|---|
@@ -31,7 +31,6 @@ Verteilung: M1 6 · M2 12 · M4 2 · M5 4
| [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 | | [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 | | [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 | | [0051](docs/issues/0051-cve-remediation-pass.md) | open | M5 | high | CVE-Remediation-Pass: Schwachstellen-Report abarbeiten |
| [0052](docs/issues/0052-update-kadenz-latest-beseitigen.md) | open | M5 | medium | Update-Kadenz festlegen & `:latest`-Tags beseitigen |
## Active design docs (0) ## Active design docs (0)
@@ -1,7 +1,7 @@
--- ---
type: issue type: issue
id: "0052" id: "0052"
status: open status: done
created: 2026-08-14 created: 2026-08-14
milestone: M5 milestone: M5
priority: medium priority: medium
@@ -29,3 +29,47 @@ sauber scanbar — und `busybox:1.28` ist veraltet.
Update-Prozess: `/betrieb/upgrades`. Bei DB-Migrationen (Authentik, Wiki.js) vorher Backup Update-Prozess: `/betrieb/upgrades`. Bei DB-Migrationen (Authentik, Wiki.js) vorher Backup
(die Backup-Jobs stehen). Rollback ist trivial (GitOps: Commit zurück). (die Backup-Jobs stehen). Rollback ist trivial (GitOps: Commit zurück).
## Erledigt 2026-08-15
**`:latest` ist aus dem Repo verschwunden** (gitops `b4650dc`) — `grep -rE '^\s*image:.*:latest' apps/`
findet nichts mehr.
### Der Befund, der die Dringlichkeit belegt
Im Cluster lief **coturn 4.10.0**, während `:latest` auf der Registry längst **4.17.2** zeigte.
Mit `imagePullPolicy: IfNotPresent` hält der Node das einmal gezogene Image fest — niemand
konnte wissen, was tatsächlich lief, und ein Reschedule auf einen frischen Node wäre still über
**sieben Minor-Versionen** gesprungen. Nebenwirkung: der Trivy-Report maß gegen ein bewegliches
Ziel, seine „12 CRITICAL für coturn:latest" beschrieben nicht zwingend das laufende Image.
### Umgesetzt
| Änderung | von | auf |
|---|---|---|
| coturn | `coturn/coturn:latest` (real 4.10.0) | **`4.17.2`** |
| busybox (init-Container) | `1.28` (2018) | **`1.36`** — die im Repo bereits anderswo genutzte Version |
Vorher geprüft: Der Tag existiert (Registry-Abfrage — `4.10.0` gibt es dort gar nicht mehr, ein
Pin darauf wäre fehlgeschlagen), und die Konfiguration nutzt ausschließlich langlebige
Kern-Optionen (`realm`, `use-auth-secret`, `relay-ip`, `cert`/`pkey`), von denen keine im
Versionsbereich entfallen ist.
### Verifiziert
- Pod läuft, Listener auf 3478 und 5349 (TLS/TCP), keine Fehler im Log.
- `turnserver --version` im Container: **4.17.2**.
- **Funktionstest von außen:** STUN-Binding-Request an `49.13.132.245:3478`*Binding Success*,
und der Server meldet die externe Adresse des Anfragenden korrekt zurück. Der Relay-Pfad für
Anrufe funktioniert also nachweislich, nicht nur der Prozess.
⚠️ Der Wechsel bedeutete einen **coturn-Neustart**; laufende Relay-Verbindungen wurden dabei
getrennt. Bei künftigen TURN-Upgrades einplanen.
### Kadenz
Der zweite Teil des Issues (Update-Kadenz) steht bereits im Betriebs-Wiki unter
`/betrieb/upgrades`, Abschnitt „Kadenz & CVE-Bezug": monatlich als Richtwert, ad-hoc bei
CRITICAL-CVE, Fork-Updates über die Portier-Checkliste. **Erwartete Nebenwirkung für #0051:**
Der nächste Trivy-Lauf sollte für coturn deutlich weniger CRITICALs zeigen — und erstmals gegen
ein festes Ziel messen.