Seven minors in sequence as the documentation requires, each rolled out and verified before the next was pushed: three deployments on the new version and fifteen certificates Ready every time. Measured on the target images first, so the point was known before the work: eight critical findings become zero and a hundred and twenty-eight high become twenty-four. Two candidates were measured and deliberately left alone. Wiki.js runs a floating tag that points at a newer build than the release tags that look newer by number — upgrading to 2.5.277 would have tripled its critical findings from twelve to forty. Draupnir has no newer release at all, which sharpens what pile A means: a package having a fix is not the same as an image existing that carries it. The mirror outage gets its own review. Between step one and two the pipeline stood for an hour because git.lab could not reach the operating host on 443 while its firewall was being changed. The cluster never noticed, because the CoreDNS pointer added yesterday sends the name down the private path — the design doc warned about the opposite failure, and the mirror image of it is what happened.
16 KiB
16 KiB
STATUS
Issues (48 open, 53 closed)
Verteilung: M2 16 · M3 4 · M4 11 · M5 16 · 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 (16)
| Issue | Priorität | Status | Title |
|---|---|---|---|
| 0051 | high | in-progress | CVE-Remediation-Pass: Schwachstellen-Report abarbeiten |
| 0065 | high | open | K3s API security hardening |
| 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 |
| 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 (1)
| Design | Gate | Title |
|---|---|---|
| 2026-08-21-cve-remediation | gate-4 | Design: Den CVE-Bestand abarbeiten (#0051) |
ADRs (27)
| 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) |
Open AARs (9)
- 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 Ausrollstrecke stand eine Stunde — der Push-Spiegel kam nicht durch
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