docs: Flux upgraded itself, fourteen critical findings to zero
The controllers that deploy everything else carried fourteen critical and 231 high findings. All four go to zero critical and high drops to 48, measured on the target images first as usual. The release manifest could not be used as it stands: it carries seven deployments where we run four, so dropping it in would have added three components nobody here operates. Generated for our set instead and checked against what it replaces — same four deployments, four service accounts, eleven CRDs. For the second time today an intermediate state looked like damage and was none. Right after the restart two HelmReleases read Ready=False with 'HelmChart does not have an artifact' while their workloads kept running; the source controller was rebuilding its artifacts. Rolling back on first sight would have aborted something that was working.
This commit is contained in:
@@ -497,3 +497,40 @@ Release. Seine 5 als „behebbar" gezählten CRITICAL sind es für uns **nicht**
|
||||
Ein Paket-Fix nützt nichts, solange niemand das Image neu baut. ⚠️ Das ist eine
|
||||
Verfeinerung von Haufen A insgesamt — „behebbar" heißt *Paket hat einen Fix*,
|
||||
nicht *es gibt ein neueres Image*.
|
||||
|
||||
### Haufen A, dritter Posten: Flux v2.8er-Reihe → v2.9.4
|
||||
|
||||
Die vier Controller, die alles andere ausrollen, trugen selbst **14 CRITICAL und
|
||||
231 HIGH**. Am Zielimage vorab gemessen:
|
||||
|
||||
| Controller | CRIT alt → neu | HIGH alt → neu |
|
||||
|---|---|---|
|
||||
| `source-controller` v1.8.2 → v1.9.4 | 3 → **0** | 63 → 15 |
|
||||
| `kustomize-controller` v1.8.3 → v1.9.4 | 5 → **0** | 63 → 10 |
|
||||
| `helm-controller` v1.5.3 → v1.6.3 | 3 → **0** | 52 → 10 |
|
||||
| `notification-controller` v1.8.3 → v1.9.3 | 3 → **0** | 53 → 13 |
|
||||
| **Summe** | **14 → 0** | **231 → 48** |
|
||||
|
||||
⚠️ **Das Release-Manifest durfte nicht einfach eingesetzt werden.** `install.yaml`
|
||||
von v2.9.4 trägt **sieben** Deployments; wir betreiben **vier**. Ein Einsetzen
|
||||
hätte `image-automation-controller`, `image-reflector-controller` und
|
||||
`source-watcher` hinzugefügt — Bausteine, die niemand hier will. Das Manifest
|
||||
wurde deshalb mit dem Flux-CLI für genau unseren Satz erzeugt und gegen den
|
||||
Bestand geprüft: 4 Deployments, 4 ServiceAccounts, 11 CRDs, identisch zur
|
||||
abgelösten Fassung.
|
||||
|
||||
**Flux rüstet sich selbst um** — die `flux-system`-Kustomization verwaltet
|
||||
`gotk-components.yaml`. Der Rückweg ist ein `kubectl apply` der Vorgängerfassung
|
||||
direkt aus git; der Commit davor ist in der Commit-Nachricht benannt.
|
||||
|
||||
**Nach der Umrüstung geprüft:** alle vier Controller 1/1, alle fünf
|
||||
Kustomizations `Ready=True` auf der neuen Revision, GitRepository gesund, alle
|
||||
fünf HelmReleases `Ready=True`.
|
||||
|
||||
⚠️ **Ein Zwischenstand sah nach Schaden aus und war keiner** — zum zweiten Mal
|
||||
heute. Unmittelbar nach dem Neustart standen `alloy` und `kube-state-metrics` auf
|
||||
`Ready=False` mit *„HelmChart does not have an artifact"*. Die Arbeitslasten
|
||||
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.
|
||||
|
||||
@@ -38,6 +38,7 @@ Nachfrage erfuellt wurde (`docs/wiki/stolpersteine/aar-pflicht-ohne-werkzeug.md`
|
||||
| Authentik 4 | c9a3ae6 | DONE | Rueckrollung wieder scharf. |
|
||||
| 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. |
|
||||
|
||||
## Ladder
|
||||
|
||||
@@ -50,6 +51,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" | |
|
||||
| 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 |
|
||||
|
||||
## Notes
|
||||
|
||||
Reference in New Issue
Block a user