docs: the operating stack, and three candidates measurement talked me out of

Five version lines remove fourteen critical and 278 high findings from the
operating host. Three more were measured and dropped, which is the whole reason
for measuring: Grafana 13.2.0 clears every critical finding and nearly triples
high, so the minor jump inside 12.x wins by a distance; cadvisor moves five to
four; and python:3.13-slim does not move at all because the host already holds
the current build of that floating tag.

That last one is the second time today the assumption 'floating tag means stale'
was wrong. With Wiki.js it was wrong the other way round — the floating tag was
newer than the release tags that looked newer by number.

Checked against the new tools rather than the old: promtool v3.14.0 takes the
config and both rule files and passes the unit tests, amtool v0.34.0 takes the
alertmanager config.
This commit is contained in:
Thore Cimbal
2026-08-21 12:00:00 +00:00
parent 62841c87f8
commit 4b385ca51e
2 changed files with 37 additions and 0 deletions
+35
View File
@@ -534,3 +534,38 @@ liefen die ganze Zeit (`Released=True InstallSucceeded`); der `source-controller
baute nur seinen Artefakt-Bestand neu auf. Nach dem Abwarten: beide `True`.
Hätte ich beim ersten Blick zurückgerollt, hätte ich einen Vorgang abgebrochen,
der gerade richtig lief.
### Haufen A, vierter Posten: der Betriebs-Stack (Übergabe nötig)
Die Images auf dem Betriebs-Host trugen **30 CRITICAL und 676 HIGH**. Fünf
Fassungszeilen entfernen davon **14 und 278** — jedes Ziel vorher gescannt:
| Image | CRITICAL | HIGH |
|---|---|---|
| `trivy` 0.58.2 → **0.74.0** | 4 → **0** | 98 → **0** |
| `grafana` 12.0.0 → **12.4.9** | 7 → **1** | 70 → **3** |
| `prometheus` v3.3.1 → **v3.14.0** | 2 → **0** | 46 → **2** |
| `alertmanager` v0.28.1 → **v0.34.0** | 1 → **0** | 41 → **2** |
| `node-exporter` v1.9.1 → **v1.12.1** | 1 → **0** | 38 → **8** |
⚠️ **Drei Kandidaten wurden gemessen und verworfen — das ist der Zweck des
Messens:**
- **Grafana 13.2.0** räumt zwar alle sieben CRITICAL ab, treibt HIGH aber von
**70 auf 162**. Der Minor-Sprung innerhalb der 12er-Reihe schlägt den
Major-Sprung deutlich — und spart obendrein das Dashboard-Risiko.
- **cadvisor v0.55.1** bringt 5 → 4 CRITICAL. Kaum Gewinn; nicht angefasst.
(Auf gcr.io endet die Reihe bei v0.55.1, die GitHub-Fassung v0.60.5 gibt es
dort nicht.)
- **`python:3.13-slim`** ist unverändert. Der gleitende Tag lässt einen alten
Build vermuten — der Host hält aber bereits den aktuellen. Ein Neuziehen
bringt nichts. Das ist der zweite Fall heute, in dem die Vermutung „gleitender
Tag ⇒ veraltet" falsch war (der erste war Wiki.js, dort andersherum).
**Gegen die neuen Werkzeuge geprüft, nicht gegen die alten:** `promtool v3.14.0`
nimmt `prometheus.yml` samt beider Regeldateien (20 + 5 Regeln) und besteht die
Regeltests; `amtool v0.34.0` nimmt `alertmanager.yml`.
⚠️ **Braucht eine Übergabe** — Commit `516641b` in `threadnet-operating`, auf dem
Betriebs-Host auszurollen. Beim Neuerzeugen wandert auch der Scanner selbst
(`trivy`) mit, und die Zielmenge kommt frisch.
@@ -39,6 +39,7 @@ Nachfrage erfuellt wurde (`docs/wiki/stolpersteine/aar-pflicht-ohne-werkzeug.md`
| Haufen C | 4758e35, 59c75c8 | DONE_WITH_CONCERNS | Einengung gebaut; ⚠️ der erste Commit war UNGETESTET, siehe Notes. Wirkt erst nach Redeploy auf CFGMON. |
| cert-manager 1–7 | 93155c2 … 13aecc8 | DONE | v1.14.0 -> v1.21.1 in sieben Stufen, je 3/3 Deployments und 15/15 Zertifikate. |
| Flux | fcf3169 | DONE | Vier Controller auf den v2.9.4-Satz; 14 CRITICAL -> 0, 231 HIGH -> 48. |
| Betriebs-Stack | 516641b | DONE_WITH_CONCERNS | Fuenf Fassungszeilen, -14 CRITICAL / -278 HIGH; ⚠️ wirkt erst nach Ausrollen auf dem Betriebs-Host. |
## Ladder
@@ -51,6 +52,7 @@ Nachfrage erfuellt wurde (`docs/wiki/stolpersteine/aar-pflicht-ohne-werkzeug.md`
| ob Flux beim Fehlschlag etwas Eigenes tut | CRD: `strategy` defaults to `rollback`, Remediation zwischen jedem Versuch, `remediateLastFailure` bei retries>0 ebenfalls scharf | built: eine Entschaerfung (`retries: 0`) fuer die Dauer des Sprungs — die einzige gebaute Sache, die nicht Fassungsnummer war | df6d291 |
| ob es ein neueres Wiki.js-Image gibt | `2.5` (gleitend) traegt 12 CRITICAL, das „neuere" Release-Tag `2.5.277` traegt 40 | reused: der laufende Stand — das Update waere eine Verschlechterung gewesen | |
| ob Draupnir eine neuere Fassung hat | `v3.1.0` ist die neueste; `develop` ist kein Release | reused: nichts angefasst — „Paket hat einen Fix" heisst nicht „es gibt ein Image damit" | |
| ob die neueste Fassung wirklich die beste ist, bevor sie gesetzt wird | Grafana 13.2.0 raeumt 7 CRITICAL ab, treibt HIGH aber 70 -> 162; 12.4.9 macht 7 -> 1 und 70 -> 3 | reused: die 12er-Reihe statt des Major-Sprungs — gemessen, nicht nach Nummer gewaehlt | 516641b |
| ein Manifest fuer genau unseren Flux-Komponentensatz, statt das Release-Manifest zu nehmen | `install.yaml` traegt 7 Deployments, wir betreiben 4 — das CLI erzeugt den passenden Satz | reused: `flux install --export --components=...` statt Handfilterung von 270 kB YAML | fcf3169 |
| eine Quelle fuer die Einengung von Haufen C, statt einer Ausschlussliste | die Herleitung bildet den laufenden Bestand ohnehin | reused: dieselbe Menge als Filter — keine zweite Liste (ADR-0026) | 4758e35 |