#0103 abgeschlossen: der gruppenlose Zustand ist jetzt erkennbar

Aufraeumteil durch sorb erledigt (wiki-zugang geloescht, die vermutete tote App
gab es nicht). Letztes Abnahmekriterium umgesetzt: taeglicher CronJob zaehlt
Wiki-Nutzer ohne Gruppe und schreibt das Ergebnis nach Loki.

Beide Zweige geprueft - der Warn-Zweig laeuft nur, wenn etwas kaputt ist, also
genau dann, wenn er funktionieren muss.

Nebenfund mit Reichweite ueber dieses Issue hinaus: Die NetworkPolicy-Regeln fuer
einen neu erzeugten Pod sind beim Containerstart noch nicht programmiert. Im
selben Pod gemessen - sofort abgewiesen, nach 20 s erfolgreich. Betrifft
moeglicherweise auch wikijs-backup, synapse-backup und restore-drill.
This commit is contained in:
Thore Cimbal
2026-08-20 12:00:00 +00:00
parent 16b361d972
commit ea040649c3
2 changed files with 65 additions and 5 deletions
+3 -4
View File
@@ -2,13 +2,13 @@
<!-- Generated by scripts/gen_status.py — do not edit. -->
## Issues (55 open, 44 closed)
## Issues (54 open, 45 closed)
Verteilung: M1 9 · M2 16 · M3 4 · M4 11 · M5 15
Verteilung: M1 8 · M2 16 · M3 4 · M4 11 · M5 15
Bedeutung der Meilensteine: siehe [roadmap.md](roadmap.md).
### M1 (9)
### M1 (8)
| Issue | Priorität | Status | Title |
|---|---|---|---|
@@ -18,7 +18,6 @@ Bedeutung der Meilensteine: siehe [roadmap.md](roadmap.md).
| [0078](docs/issues/0078-gitops-45-cve-meldeweg-v2-metriken-grafana-dashboard-al.md) | medium | open | CVE-Meldeweg v2: Metriken, Grafana-Dashboard, Alerts in eigenen Matrix-Raum |
| [0083](docs/issues/0083-gitops-50-monitoring-deploy-geaenderte-configs-greifen.md) | medium | open | Monitoring-Deploy: geaenderte Configs greifen nicht ohne --force-recreate (Inode-Falle bei Einzeldatei-Mounts) |
| [0088](docs/issues/0088-gitops-56-networkpolicy-ausgehender-verkehr-ist-unbesch.md) | medium | open | NetworkPolicy: ausgehender Verkehr ist unbeschränkt (13 Ingress-Regeln, 1 Egress) |
| [0103](docs/issues/0103-wiki-zugang-ohne-gruppe-endet-stumm.md) | medium | open | Wiki: Anmeldung ohne Gruppe endet stumm — `wiki-anwender` hat null Mitglieder |
| [0004](docs/issues/0004-overmind-02-e1000e-nic-hang-beobachtung-nach.md) | low | waiting | OVERMIND-02: e1000e-NIC-Hang — Beobachtung nach EEE-Fix + Firmware-Update |
| [0072](docs/issues/0072-gitops-34-dsgvo-datenschutz-compliance-konkretisieren.md) | low | open | DSGVO/Datenschutz-Compliance konkretisieren |
@@ -1,7 +1,7 @@
---
type: issue
id: "0103"
status: open
status: done
created: 2026-08-18
milestone: M1
priority: medium
@@ -178,3 +178,64 @@ enrollen — das wäre genau der Fehler, den dieses Issue beschreibt.
**Offen bleibt der Aufräumteil:** die tote Authentik-Anwendung `wiki` ohne Provider und
die Gruppe `wiki-zugang` (4 Mitglieder), die Rechte an ihr verteilt. Beides fasse ich
erst auf Zuruf an, weil es Authentik-Konfiguration ist.
## Abgeschlossen 2026-08-20
### Aufräumteil erledigt
Entscheidung und Ausführung sorb: Die Gruppe `wiki-zugang` ist gelöscht, die vermutete
tote Authentik-Anwendung `wiki` existierte nicht. Der offene Punkt aus dem Nachtrag vom
2026-08-19 entfällt damit.
### Das letzte Abnahmekriterium ist erfüllt
> *Der Fall „angemeldet, aber ohne Gruppe" ist erkennbar: mindestens eine Logzeile oder
> ein Zähler, damit der nächste Fall nicht wieder erst auffällt, wenn sich jemand
> beschwert.*
Neuer CronJob `wikijs-gruppenpruefung` (`gitops:apps/production/wikijs-gruppenpruefung.yaml`,
täglich 06:15). Er zählt Wiki-Nutzer ohne Gruppenmitgliedschaft und schreibt das Ergebnis
nach stdout, von wo Alloy es nach Loki trägt. Suchbegriff für Abfrage oder Panel:
**`Wiki-Nutzer ohne Gruppe`**.
Bewusst eine tägliche Stichprobe auf der Datenbank statt einer Instrumentierung des
Logins: Wiki.js meldet diesen Zustand nirgends, ein Patch am Anmeldeweg wäre dafür
unverhältnismäßig, und ein Tag Verzug ist hinnehmbar — vorher lag der Fall tagelang
unbemerkt.
**Beide Zweige geprüft, nicht nur der gute:** Der Warn-Zweig läuft nur, wenn etwas kaputt
ist, also genau dann, wenn er funktionieren muss. Mit einer rein lesenden Simulation
gegen die laufende Datenbank getestet — er nennt die Betroffenen mit Id und Adresse und
den Behebungsweg. Der gute Fall meldet `OK: kein Wiki-Nutzer ohne Gruppe (4 geprueft)`.
### Nebenfund: NetworkPolicy-Wettlauf bei kurzlebigen Pods
Der erste echte Lauf scheiterte mit `Connection refused` — obwohl Service, Endpunkt,
Portname, Pod-Marken und die (eigens ergänzte) Policy-Regel alle korrekt waren.
Im selben Pod nacheinander gemessen:
| Zeitpunkt | Ergebnis |
|---|---|
| sofort nach Container-Start | `psql` abgewiesen, roher TCP-Test zu |
| nach 20 Sekunden | `psql` erfolgreich |
**Die NetworkPolicy-Regeln für einen neu erzeugten Pod sind beim Start des Containers
noch nicht programmiert.** In diesem Fenster wird der Verkehr abgewiesen. Ein früherer
`nc`-Test aus einem separaten Pod lief zufällig spät genug, sah sauber aus und hat die
Diagnose zunächst in die falsche Richtung geschickt — die Lehre ist, den Test im selben
Pod und zum selben Zeitpunkt zu fahren wie die eigentliche Arbeit.
Der Job wartet jetzt bis zu 60 Sekunden auf Erreichbarkeit. Ohne das scheiterte er jede
Nacht an einem Wettlauf, und man gewöhnt sich an den roten Job — genau die Abstumpfung,
die #0104 abgestellt hat.
⚠️ **Dieselbe Klasse kann andere kurzlebige Jobs im Namespace treffen**
`wikijs-backup`, `synapse-backup`, `restore-drill`. Nicht geprüft; wenn dort nachts
sporadische Fehlschläge auftreten, ist das der erste Verdacht.
### Stand
Alle vier Abnahmekriterien erfüllt: Auto-Enrollment aktiv und in der Datenbank
gegengeprüft (`wiki-anwender` hat Mitglieder), `betrieb/*` unverändert abgeschottet,
der gruppenlose Zustand ist erkennbar, und @apo kommt herein.