docs: the Authentik jump is done, both steps verified by a real login

Five slices, each with its evidence. Migrations applied without inconsistency on
both versions, blueprints unchanged at seventeen flows and two providers, and a
login recorded in Authentik's own event log at 14:51 and again at 15:00 — server
side, not self-reported.

Two things went differently than planned and both are my gap. Postgres travelled
along from 17.9 to 17.11 because it hangs in the same chart as a dependency, so
the boundary in Gate 3 that excluded it was never enforceable and should not have
been written that way. And the login path was down for twenty to forty-five
seconds per step while the database restarted, which is expected for a single
replica but appeared nowhere in the plan.

A writing error nearly reached a manifest: the first attempt at the comment block
produced every line six times, because adjacent string literals concatenate in
Python before the repetition applies. It was caught by reading the diff before
committing rather than by the result.
This commit is contained in:
Thore Cimbal
2026-08-21 17:05:21 +02:00
parent d1952274f6
commit f618a65993
+57
View File
@@ -380,3 +380,60 @@ wieder haben; sie war nur für die Migrationsfenster falsch.
alle 24 h; der Beleg kann bis zum Folgetag dauern. Das ist kein Fehlschlag.
> **STOP — Freigabe für Gate 3+4.**
> **Gate 3+4 freigegeben durch sorb, 2026-08-21** („attacke").
### Slices 04 — durchgeführt am 2026-08-21
| Slice | Commit (gitops) | Status |
|---|---|---|
| 0 — Rückrollung entschärfen | `df6d291` | **DONE**, im Cluster verifiziert (`retries=0`) |
| 1 — Sicherung von Hand | — | **DONE**, 167,09 MB, Erfolg nach 20 s |
| 2 — 2026.2.3 → **2026.5.6** | `a252ac0` | **DONE**, Prüfpunkte 15 grün |
| 3 — 2026.5.6 → **2026.8.0** | `92add9b` | **DONE**, Prüfpunkte 15 grün |
| 4 — Rückrollung wieder scharf | `c9a3ae6` | **DONE**, `retries=3` im Cluster |
**Prüfpunkte, beide Stufen:**
| | 2026.5.6 | 2026.8.0 |
|---|---|---|
| Migrationen | sauber, **0** `inconsistency` | 56 angewandt, **0** `inconsistency` |
| Pods bereit | server + worker | server + worker |
| `/-/health/ready/` | 200 | 200 |
| Blueprints | flows=17, provider=2 | flows=17, provider=2, users=9 |
| **Echte Anmeldung** | `14:51:04 user=sorB` | `15:00:35 user=sorB` |
| Fehler Server/Worker/MAS | 0 / 0 / 0 | 0 / 0 / 0 |
Die Anmeldungen sind **serverseitig aus Authentiks Ereignisprotokoll** belegt,
nicht aus einer Selbstauskunft — der Unterschied, der heute Vormittag Stunden
gekostet hat.
⚠️ **Zwei Dinge liefen anders als geplant, beide meine Lücke:**
1. **Postgres wanderte mit: 17.9 → 17.10 → 17.11.** Gate 3 führt Postgres
ausdrücklich unter „nicht Teil dieses Sprungs" — tatsächlich **kann** ich es
gar nicht ausschließen, solange es als Abhängigkeit im selben Chart hängt.
Beide Sprünge liefen sauber, aber die Grenze in Gate 3 war nicht durchsetzbar
und hätte so nicht dastehen dürfen.
2. **Der Anmeldeweg war je Stufe rund 2045 Sekunden unten** (HTTP 503), während
die Datenbank neu startete. Bei einer Einzelreplik erwartbar — aber es stand
nirgends im Plan, und ein Nutzer, der in dem Fenster klickt, sieht einen
Fehler.
**Und ein Fehler beim Schreiben**, der es fast in ein Manifest geschafft hätte:
Der erste Versuch, den Kommentarblock zu setzen, erzeugte **jede Zeile sechsfach**
— in Python kleben benachbarte Zeichenketten-Literale, `" "*n + "A\n" " "*n`
liest der Parser als `" "*n + ("A\n ")*n`. Aufgefallen an `50 insertions` für
neun Kommentarzeilen, also am **Diff vor dem Commit**, nicht am Ergebnis.
### Offen bis zum nächsten Scan-Durchlauf
- **Prüfpunkt 6:** Authentik von 27 auf 5 CRITICAL im Dashboard. Der Scan läuft
alle 24 h; der Beleg kommt frühestens beim nächsten Durchlauf.
- **Nebenbefund:** Postgres ist von 17.9 auf 17.11 gewandert. Ob sich damit auch
der zweitgrößte CVE-Posten (22 CRITICAL, davon 3 behebbar) bewegt hat, zeigt
derselbe Durchlauf. Das war Glück, nicht Absicht.
- **Kriterium 5 aus #0106** („eine neue Fassung erscheint ohne Zutun in der
Soll-Menge") steht kurz vor seinem Nachweis: Die Herleitung läuft stündlich,
die letzte lag vor dem Upgrade. Erscheint `2026.8.0` von selbst, ist das
letzte offene Kriterium von #0106 erfüllt.