The jump itself did exactly what gate 2 predicted: 278 high findings down to 89, fifteen criticals to none, every component on the version the release ships. The two flags I nearly forgot both earned their place — ingresses still publish the public address, and the API certificate kept it. What was expensive was not the version. A restart of the control plane tests everything that leans on it, and two things did not come back on their own: kube-state-metrics sat in crashloop, and alloy's log tailers died while logging 'will retry'. Twelve minutes without cluster logs, and nothing said so. That same window emptied the metric the scan target set is derived from. The query succeeded with zero rows, which counted as success, so the set fell from 54 to 12 and the next round deleted 42 reports — while coverage read 1.0. Three rules I wrote the day before all stayed quiet, each for a defensible reason. The gap sat exactly between them. The stolperstein page for that failure class is marked harvested, and it is not: the rule the framework took from it does not cover either case here. Both are recorded there with what a future formulation would have to say instead.
17 KiB
17 KiB
STATUS
Issues (50 open, 54 closed)
Verteilung: M2 16 · M3 4 · M4 11 · M5 18 · M6 1
Bedeutung der Meilensteine: siehe roadmap.md.
M2 (16)
| Issue | Priorität | Status | Title |
|---|---|---|---|
| 0015 | medium | waiting | CFGMON-15: Token-Hygiene — Einmal-Tokens der LABNET-02-Nacht widerrufen |
| 0021 | medium | waiting | OVERMIND-03: Windows-Build-VM verschwindet — CI kann sie nur starten, nicht anlegen |
| 0027 | medium | open | AUDIT-01: Acht Widersprüche aus dem LABNET-02-Nachlauf (Selbst-Audit CFGMON-Session) |
| 0034 | medium | open | CFGMON-11 — Gitea-CI-Rückbau abschließen (sicher rückbaubare Schritte) |
| 0073 | medium | open | Architektur: Monorepo-Umbau mit generalisiertem Config-Overlay |
| 0009 | low | open | CFGMON-04: Grafana-Admin-Credentials aus .env gelten nicht für die HTTP-API |
| 0014 | low | open | CFGMON-14: Root-Zugang über die docker-Gruppe umgeht sudo und hinterlässt keine Spur |
| 0019 | low | open | DOC-02: Veralteten wiki-Branch im gitops-Repo entfernen? |
| 0033 | low | open | OVERMIND-01 — element-desktop-build von rohana in die Lab-Registry umziehen |
| 0040 | low | open | neckbeard-Rückmeldungen aus dem Feldtest einreichen |
| 0053 | low | open | Historien-Durchgang: acht nicht-kanonische Commits mitziehen |
| 0061 | low | open | External-Secrets Operator vs. current SOPS setup |
| 0074 | low | open | Cleanup-Checkliste (laufend) |
| 0076 | low | open | Registry-/Git-Traffic zum Gitea-Host ueber privates Hetzner-Netzwerk statt oeffentlichem Internet routen |
| 0085 | low | open | docs/ trägt zwei Altbestände abgeschlossener Umzüge: TASKS.md und oldwiki/ |
| 0105 | low | waiting | Projekt wiki: Verbleib klären — erst unmittelbar vor Projektabschluss |
M3 (4)
| Issue | Priorität | Status | Title |
|---|---|---|---|
| 0080 | medium | open | Raidplaner mit sozialer Komponente (Verfügbarkeiten, Aufgaben, Roadmap, Fotoalbum) |
| 0081 | medium | open | Gäste-Invite-Workflow per Bot (3-Tage-Accounts, Admin-Freischaltung, begrenzte Reaktivierung) |
| 0094 | medium | open | Direkter Link zur 2FA/Passkey-Einrichtung in den Account-Settings |
| 0092 | low | waiting | Default-Client-Einstellungen (Theme, Features) für Neuinstallationen provisionieren |
M4 (11)
| Issue | Priorität | Status | Title |
|---|---|---|---|
| 0029 | medium | open | UI harmonisieren: gleiche Farben und Formen über alle Oberflächen |
| 0057 | medium | open | Element Call: VP9 codec retry |
| 0093 | medium | open | Settings normalisieren: Video/Audio-Einstellungen nur im Call-Widget, nicht im Haupt-Client |
| 0096 | medium | waiting | Rebranding: Element → aXion1337 (Web + Desktop, Gesamtklammer) |
| 0022 | low | open | BUILD-01: macOS-Client reproduzierbar bauen — aktuell nur manuell auf sorbs Mac |
| 0086 | low | open | k8s-Ressourcen heißen noch element-web-docs (Rest des ThreadNet-Rebrands) |
| 0087 | low | waiting | Logo für die Authentik-Anmeldemaske entwerfen (Querformat/SVG) |
| 0095 | low | open | Windows-Desktop: Code-Signing (+ Installer-Branding) |
| 0097 | low | open | Feedback-/Bugreport-Weg: eigener Rageshake oder Alternative (Zammad nachhalten) |
| 0100 | low | open | Asset-Pfade tragen weiterhin "element" (themes/element/…) |
| 0101 | low | open | Kaputtes Paket 0.19.2-threadnet.6 in der Registry — Herkunft ungeklärt |
M5 (18)
| Issue | Priorität | Status | Title |
|---|---|---|---|
| 0065 | high | open | K3s API security hardening |
| 0109 | high | open | Der Weg vom Commit ins Cluster meldet seinen Stillstand nicht |
| 0110 | high | open | Härtung lebt auf dem Host, das Repo weiß nichts davon |
| 0058 | medium | open | Web Application Firewall (WAF) |
| 0059 | medium | open | Pod Security Admission (Restricted) |
| 0062 | medium | open | Renovate/Dependabot for chart and image updates |
| 0063 | medium | open | Security advisory monitoring (ESS/Element) |
| 0064 | medium | open | Disable automountServiceAccountToken where not needed |
| 0066 | medium | open | auditd for file integrity & syscall audit |
| 0067 | medium | open | Kernel hardening (sysctl) |
| 0068 | medium | open | Lynis security baseline |
| 0069 | medium | open | CrowdSec integration |
| 0070 | medium | open | Falco runtime monitoring |
| 0107 | medium | open | Ein aktives Konto ohne Profil-Zeile fällt nur durch eine Beschwerde auf |
| 0108 | medium | open | Eine Erlaubnisliste veraltet still, wenn das Chart die Verdrahtung verschiebt |
| 0071 | low | open | Trivy image scanning for CVEs |
| 0089 | low | open | Eigene Images sind unsigniert — beim Deploy prüft nichts die Herkunft |
| 0090 | low | open | Kein Kubernetes-Audit-Log — Zugriffe an der API werden nicht protokolliert |
M6 (1)
| Issue | Priorität | Status | Title |
|---|---|---|---|
| 0072 | low | open | DSGVO/Datenschutz-Compliance konkretisieren |
Active design docs (0)
none active
ADRs (28)
| ADR | Status | Title |
|---|---|---|
| 0001 | accepted | 0001 — git.lab ist kanonisch, Gitea wird per Push-Mirror beliefert |
| 0002 | superseded | 0002 — Issues und Management-Repo ziehen ins Lab („das Lab ist die Quelle der Wahrheit") |
| 0003 | accepted | 0003 — CVE-Meldeweg: aggregierte Alarme, eigener Security-Raum, gleicher Bot |
| 0004 | accepted | 0004 — Site-to-Site-VPN Hetzner-Projektnetz ↔ Lab, schaltbar über die UDM |
| 0005 | accepted | 0005 — Projektmanagement: Kanban-Rückgrat mit leichten Scrum-Elementen |
| 0006 | superseded | 0006 — Wikis ins Lab konsolidieren, Docusaurus als gemeinsame Lesefläche |
| 0007 | superseded | 0007 — Wiki-Oberfläche: Docusaurus läuft, BookStack als Gegenentwurf |
| 0008 | accepted | 0008 — Agenten-Sessions auf CFGMON laufen root-äquivalent über die docker-Gruppe |
| 0009 | accepted | 0009 — Commit-Konventionen und rückwirkende Anonymisierung der Historie |
| 0010 | accepted | 0010 — Härtung ist ein eigener Meilenstein (M5); M1 misst nur Kaputtes |
| 0011 | accepted | 0011 — Provisionierung verweigert Localpart-Kollisionen, statt an bestehende Konten zu verknüpfen |
| 0012 | accepted | ADR-0012: Issues leben im Repo; GitLab wird deterministisch bespiegelt |
| 0013 | accepted | ADR-0013: Gruppenregeln kanonisch im management-Repo, Komponenten zeigen und werden geprüft |
| 0014 | accepted | 0014 — Wiki.js löst Docusaurus ab: abgeschottete Betriebs-/Anwenderdoku, docs-as-code |
| 0015 | accepted | 0015 — Wiki.js Git-Storage: Inhalt fließt Cluster→Gitea→kanonisiert nach git.lab |
| 0016 | accepted | 0016 — Das Notfallhandbuch bleibt lab-intern und wird nicht gespiegelt |
| 0017 | accepted | 0017 — Split-DNS auf CFGMON: vier Zonen statt einer, je Zone begründet |
| 0018 | accepted | 0018 — KI-Geräuschunterdrückung in threadnet-call: client-seitig, opt-in, selbst ausgeliefert |
| 0019 | accepted | ADR-0019: Komponenten-Issues in docs/issues/ adoptiert — eine Nummernwelt für die Gruppe |
| 0020 | accepted | ADR-0020: Bekannte Befunde werden quittiert, damit Rot wieder etwas bedeutet |
| 0021 | accepted | ADR-0021: Föderation wird geschlossen — leere Whitelist statt offener Tür |
| 0022 | accepted | ADR-0022: Anschluss an Upstream durch einen einmaligen Merge, nicht durch einen geteilten Graft |
| 0023 | accepted | ADR-0023: Fremde Historie von der Git-Hygiene ausnehmen — erklärt, nicht global |
| 0024 | accepted | ADR-0024: Drei Framework-Dateien sind erklärt erweitert — Diff-Referenz statt Byte-Vergleich |
| 0025 | accepted | ADR-0025: Egress-Ausnahmen werden als CIDR gepinnt — außer hinter einem CDN |
| 0026 | accepted | ADR-0026: Prüfziele werden abgeleitet, nicht gepflegt — und das Ausbleiben der Herleitung alarmiert |
| 0027 | accepted | ADR-0027: „Zuletzt" wird ein eigener Meilenstein (M6) |
| 0028 | accepted | ADR-0028: Der Ingress bleibt vorerst k3s-verwaltet — die drei nie wirksamen Flags werden gestrichen |
Open AARs (11)
- AAR — Alle geplanten Prüfungen waren dauerhaft rot und meldeten damit nichts mehr
- AAR — Nach der Freischaltung sendete Safari ungefiltert weiter
- AAR —
v0.6.0-rc.2brach die Raumliste in Produktion - AAR — Drei DKIM-Einträge verschwanden bei der DMARC-Härtung
- AAR — Game-Host-Anbindung: Deploy über zwei Übergaben, Ursache war nie die Firewall
- AAR — rohana lief voll, der ThreadNet-Web-Spiegel riss
- AAR: Clarks Calls und Identitäts-Reset — vier Fehldiagnosen bis zur bekannten Ursache
- AAR: Deploy der abgeleiteten CVE-Zielmenge (#0106)
- AAR: Die Anmeldung brach nach dem ESS-Sprung — eine Netzregel von heute Morgen
- AAR: Die Ausrollstrecke stand eine Stunde — der Push-Spiegel kam nicht durch
- AAR: 42 Scan-Berichte gelöscht, und das Dashboard meldete dafür „vollständig"
Fehlerklassen (18)
offen (7)
- Die AAR-Pflicht setzt sich ohne Werkzeug nicht durch
- Prüfungen erzeugen Befunde, die niemand beheben kann
- Ein gleichzeitiger, sachfremder Defekt wird der eigenen Änderung angelastet
- Issues behaupten Zustände, die längst überholt sind
- Eine Datei kann nicht maßgeblich und zugleich unveränderlich sein
- Ein nachgebauter Test prüft den Nachbau
- Eine Quittung bezeugt Aufmerksamkeit, nicht Vollständigkeit
teilweise gedeckt (3)
- Gelesene Anweisungen werden nicht befolgt — neckbeard v0.3.0
- Regeln ohne maschinellen Widerspruch werden nicht befolgt — neckbeard v0.3.0
- Der Upgrade-Pfad ins Rahmenwerk war beschrieben, nie begangen — neckbeard v0.3.1
geerntet (4)
- Dashboards und Prüfungen ohne Datenbeleg — neckbeard v0.1.3
- Dokumente werden ergänzt, aber nicht revidiert — neckbeard v0.1.3
- Gesperrte Dateien werden bearbeitet — neckbeard v0.2.0
- „Meldet Erfolg, ist aber blind" — die häufigste Fehlerklasse dieses Projekts — neckbeard v0.1.3
vom Rahmenwerk nicht abgedeckt — bleibt unseres (2)
- Dokumente werden angelesen, nicht durchgelesen — neckbeard v0.1.3
- Werkzeuge messen unbemerkt die falsche Instanz — neckbeard v0.1.3