docs: #0083 closed by measurement, #0088 corrected to the measured state

Both issues described work that no longer exists. Without measuring, two
tasks would have entered planning half-done.

0083 is done. No single-file mount remains in the compose file; the running
exporter emits both metrics that only exist since the 19.08. change; and
the timing closes the chain - the mount commit carries 12:00Z while
Prometheus and Alertmanager have been up since 16:34Z and Loki since 17:08Z
the same day, so the redeploy came after the change. A "yes, it was rolled
out" would have claimed the same and proven nothing.

0088 stays, with a title that is no longer wrong. It said "13 ingress
rules, 1 egress", which was the state on 06.08.; measured today there are
ten workloads restricted to internal traffic and fifteen still open, not
the eleven the issue listed.

Measuring found more than it corrected. wikijs itself is unrestricted while
its database is, which nobody intended and nothing recorded. And the
namespaces authentik and monitoring carry only the metadata block, so their
egress is entirely open - that is not in the issue at all.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F2Q4Ri8NGwyTZzScvKnWFM
This commit is contained in:
Thore Cimbal
2026-08-21 12:00:00 +00:00
co-authored by Claude Opus 5
parent 48e29621a1
commit b090733170
4 changed files with 131 additions and 7 deletions
+4 -5
View File
@@ -2,21 +2,20 @@
<!-- Generated by scripts/gen_status.py — do not edit. -->
## Issues (53 open, 46 closed)
## Issues (52 open, 47 closed)
Verteilung: M1 7 · M2 16 · M3 4 · M4 11 · M5 15
Verteilung: M1 6 · M2 16 · M3 4 · M4 11 · M5 15
Bedeutung der Meilensteine: siehe [roadmap.md](roadmap.md).
### M1 (7)
### M1 (6)
| Issue | Priorität | Status | Title |
|---|---|---|---|
| [0056](docs/issues/0056-gitops-9-external-postgresql-migration-cloudnativepg-o.md) | high | open | External PostgreSQL Migration: CloudNativePG or Hetzner |
| [0030](docs/issues/0030-der-restore-ist-nie-geprobt-sicherungen-sind.md) | medium | in-progress | Der Restore ist nie geprobt — Sicherungen sind bisher eine Vermutung |
| [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) |
| [0088](docs/issues/0088-gitops-56-networkpolicy-ausgehender-verkehr-ist-unbesch.md) | medium | open | NetworkPolicy: 15 Arbeitslasten haben noch freien Ausgang, zwei Namespaces ganz |
| [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: "0083"
status: open
status: done
created: 2026-08-01
milestone: M1
priority: medium
@@ -104,3 +104,30 @@ Compose-Handgriff, aber ein kleiner.
Der Titel des Issues ist damit überholt: Es geht nicht mehr um „Configs greifen nicht
ohne `--force-recreate`", sondern um die verbliebenen fünf Mounts. Für Prometheus und
Alertmanager genügt heute ein Neustart.
## Nachgemessen 2026-08-21 — erledigt
Die Restliste oben („zwei Konfigurationsdateien und drei Skripte umstellen") war beim
Schreiben richtig und ist es nicht mehr. Drei Messungen, in dieser Reihenfolge:
| Frage | Messung |
|---|---|
| Sind noch Einzeldatei-Mounts im Compose? | **keine** — `grep` auf `- ./…:` in `monitoring/docker-compose.yml` findet nichts; Commit `7b25b6e` hat die letzten fünf umgestellt |
| Führt der laufende `cve-exporter` die Fassung vom 19.08. aus? | **ja** — `trivy_reports_total = 29` und `trivy_report_read_errors = 0` sind live. **Beide** Metriken entstanden erst mit `9a10615`; die zweite ist der schärfere Beleg, weil sie unbedingt ausgegeben wird |
| Hat der Host die neuen Mounts übernommen? | **ja** — die Zeitlage schließt die Kette |
Die Zeitlage im Einzelnen: Der Mount-Commit trägt **2026-08-20 12:00Z**. Gemessen über
`process_start_time_seconds` bzw. Lokis eigene `/metrics` laufen Prometheus und
Alertmanager seit **16:34Z**, Loki seit **17:08Z** desselben Tages. Der Redeploy kam
also **nach** der Umstellung — was läuft, läuft aus Verzeichnis-Mounts.
⚠️ **Eine Nebenbeobachtung, die hier keine Erklärung bekommt.** Lokis `/ready` antwortete
bei der ersten Abfrage einmal mit `503 — Ingester not ready: waiting for 15s after being
ready`, danach dreimal mit `200`. Ein Neustart war es nicht: Loki lief zu dem Zeitpunkt
seit 14,2 Stunden durch. Ein einmaliger Aussetzer, nicht reproduzierbar — festgehalten,
weil ein unerklärter 503 an einem Bereitschafts-Endpunkt zu leicht verschwindet, nicht
weil er heute etwas bedeutet.
**Damit ist der Gegenstand dieses Issues erledigt.** Der Titel war seit dem Umbau
irreführend — es ging zuletzt nicht mehr um `--force-recreate`, sondern um die
verbliebenen Mounts, und die gibt es nicht mehr.
@@ -9,7 +9,7 @@ projekt: gitops
gitlab_iid: "56"
related: []
---
# NetworkPolicy: ausgehender Verkehr ist unbeschränkt (13 Ingress-Regeln, 1 Egress)
# NetworkPolicy: 15 Arbeitslasten haben noch freien Ausgang, zwei Namespaces ganz
> Adoptiert aus [gitops#56](https://git.lab/axion1337.chat/axion1337.chat-gitops/-/issues/56) (2026-08-18, ADR-0019). Kommentare und Verlauf bleiben dort; kanonisch ist ab jetzt diese Datei.
@@ -285,3 +285,49 @@ Funktion abzuschalten wäre der falsche Hebel gewesen.
⚠️ **In dieser Liste fehlt aber `169.254.0.0/16`** — das Netz des Cloud-Metadaten-Dienstes.
Heute deckt die NetworkPolicy das ab; sobald das Egress-Modell umgebaut wird, sollte es
auch in Synapses eigener Sperrliste stehen. Ebenfalls nicht enthalten: `100.64.0.0/10`.
## Nachgemessen 2026-08-21 — Titel und Restliste waren überholt
Der bisherige Titel („13 Ingress-Regeln, 1 Egress") beschrieb den Stand vom 2026-08-06.
Seit dem 2026-08-20 stehen drei Egress-Policies, und die Restliste am Ende dieses Issues
nannte **elf** Arbeitslasten. Gemessen im laufenden Cluster sind es **fünfzehn**.
### Eingeschränkt — nur interner Verkehr (10)
`clamav-http-scanner`, `concierge-bot`, `draupnir`, `element-admin`, `element-web`,
`element-web-docs`, `haproxy`, `postgres`, `wikijs-gruppenpruefung`, `wikijs-postgres`.
### Weiterhin freier Ausgang, **laufend** (7)
`synapse-main`, `matrix-authentication-service`, `matrix-rtc-sfu`,
`matrix-rtc-authorisation-service`, `coturn`, `clamav`, `wikijs`.
⚠️ **`wikijs` selbst ist nicht eingeschränkt** — nur `wikijs-postgres` und
`wikijs-gruppenpruefung` sind es. Das war so nicht beabsichtigt und stand nirgends.
### Weiterhin freier Ausgang, **Job-artig** (8)
`synapse-backup`, `wikijs-backup`, `wikijs-config`, `turn-secret-rotation`,
`init-secrets`, `synapse-check-config`, `deployment-markers-pre`,
`deployment-markers-post`. Sie laufen nicht dauerhaft; ihr Ausgang gilt beim nächsten
Lauf und ist deshalb nicht weniger offen, nur seltener.
### ⚠️ Zwei Namespaces stehen gar nicht in diesem Issue
In `authentik` und `monitoring` existiert **ausschließlich** `egress-block-metadata`.
Der Ausgang ist dort ansonsten unbeschränkt — für alle Pods, ohne Ausnahme. Das ist
derselbe Befund wie in `matrix` vor dem 20.08., nur nie erfasst worden.
### Erledigt und hier nur noch der Vollständigkeit halber
Die Frage am bisherigen Ende — `169.254.0.0/16` fehle in Synapses eigener Sperrliste —
ist beantwortet: Sie steht seit `73f56c3` dort, zusammen mit `100.64.0.0/10` und einer
Begründung im Kommentar.
### Methodik, damit die nächste Messung dieselbe ist
Pods je Namespace auflisten, `app.kubernetes.io/name` und `app` gegen die Mengen in
`egress-nur-intern` und `egress-nur-intern-app-label` halten, und nach `status.phase`
trennen — sonst zählt man abgeschlossene Jobs als laufende Arbeitslasten. Die Abfrage
lief aus `matrix-stack-synapse-main-0`; `element-web-docs` taugt seit dem 20.08. nicht
mehr als Sprungbrett, weil es selbst eingeschränkt ist.
@@ -0,0 +1,52 @@
---
type: ledger
date: 2026-08-21
size: M
status: open
related:
- "docs/issues/0083-gitops-50-monitoring-deploy-geaenderte-configs-greifen.md"
- "docs/issues/0088-gitops-56-networkpolicy-ausgehender-verkehr-ist-unbesch.md"
---
# Ledger: M1 — den Stand von #0083 und #0088 nachmessen
## Gates
Größe M: Slice-Plan im Chat, Freigabe vor der Änderung. Der Messteil lief
ohne Tor, weil er rein lesend war; die Änderungen an den Issues sind
freigegeben worden.
| gate | commit | approval | status | note |
|---|---|---|---|---|
| plan | | sorb | DONE | Vorschlag: 0083 schliessen, 0088 richtigstellen. Freigabe „Tu es". |
## Ladder
| searched | found | outcome | commit |
|---|---|---|---|
| die Restlisten in #0083 und #0088, bevor daraus Arbeit geplant wird | beide beschreiben Arbeit, die seit dem 2026-08-20 erledigt ist | reused: nichts gebaut — die Aufgabe war Messen, nicht Umsetzen | |
| `threadnet-operating` und `gitops`, statt dem Issue-Text zu glauben | `7b25b6e` hat die letzten Mounts umgestellt, `73f56c3` die Sperrliste ergaenzt | reused: der Repo-Stand als Quelle, der Issue-Text als Behauptung | |
| ein Zugang zum operating-Stack | `matrix-stack-synapse-main-0` — das Issue selbst nennt ihn, seit `element-web-docs` eingeschraenkt ist | reused: der im Issue benannte Pod, kein neuer Zugang | |
| eine Kennzahl fuer „laeuft der neue Code" | die zwei Metriken aus `9a10615`, live in Prometheus | reused: vorhandene Metriken als Beleg, kein Instrumentieren | |
## Notes
**Beide Issues beschrieben Arbeit, die es nicht mehr gibt.** Ohne die
Messung waeren zwei Aufgaben in die Planung gegangen, die zur Haelfte
erledigt sind. Das ist die Fehlerklasse
[Issues behaupten Zustaende, die laengst ueberholt sind](../wiki/stolpersteine/issues-behaupten-ueberholte-zustaende.md),
und sie hat hier zum ersten Mal messbar Zeit gekostet statt nur zu drohen.
**Der Beleg fuer #0083 haengt an einer Zeitlage, nicht an einer Aussage.**
Der Mount-Commit traegt 12:00Z, die Prozesse laufen seit 16:34Z und 17:08Z
desselben Tages — der Redeploy kam danach. Ein „ja, wurde ausgerollt" haette
dasselbe behauptet und nichts belegt.
⚠️ **Bei #0088 hat das Nachmessen mehr gefunden als korrigiert.** `wikijs`
selbst ist nicht eingeschraenkt, obwohl seine Datenbank es ist, und die
Namespaces `authentik` und `monitoring` stehen ueberhaupt nicht im Issue —
dort gibt es nur die Metadaten-Sperre. Beides war nie erfasst.
**Drittes Ledger dieser Sitzung.** Siehe die Anmerkung in
[2026-08-21-auftraege-ablegen.md](2026-08-21-auftraege-ablegen.md): „one per
session" trifft eine Sitzung mit mehreren abgeschlossenen Durchlaeufen nicht.