I wrote 'and ziel in soll' into that condition this evening, and it means a decision only counts as stale while its image is still deployed. The moment an image leaves the inventory — a version bump, which is exactly when decisions go stale — the entry stops being checked and sits in the file forever. Grafana 12.0.0 and 12.4.9 proved it hours later: both entries survived the jump to 13.2.0 and the counter reported zero. The cost of removing the guard is that a decision made before the scanner reaches its image shows up here until the next round. The alert waits 24 hours, which covers it. The existing arithmetic test could not have caught this, because it reimplements the calculation and the faulty condition was never in the copy. New tests drive the real collect() instead, including one that the old behaviour fails. Both dead grafana entries removed: 28 decisions down to 26.
threadnet-operating
Der Betriebs-/Monitoring-Stack für den Operating-Host CFGMON: Prometheus,
Loki, Grafana, Alloy, Alertmanager und der CVE-Exporter — vollständig als Code,
ein docker compose up -d stellt ihn auf einem frischen Host wieder her.
→ monitoring/README.md ist die eigentliche
Betriebsanleitung (Deployment, Config-Fallen, Alerting, CVE-Pipeline).
Wo was liegt
| Pfad | Inhalt |
|---|---|
monitoring/ |
der Stack: Compose, Prometheus, Loki, Grafana, Alertmanager, Alloy |
monitoring/cve/ |
CVE-Exporter (Trivy-Scan → Prometheus-Metriken), ADR-0003 |
monitoring/grafana/ |
Datasources und Dashboards als Code |
Offene Punkte
Kein Backlog in diesem Repo. Offene Punkte sind Issues im
management-Projekt
(ADR-0005) —
sie betreffen meist mehrere Hosts, eine Liste je Repo würde auseinanderlaufen.
Für diesen Stack einschlägig sind unter anderem
#8 Remote-Write und Loki ohne Auth,
#9 Grafana-Credentials und
#10 Gitea-Backups off-host;
Bestand und Historie zum Host stehen in
hosts/cfgmon.md.
Kanonisch ist git.lab (ADR-0001,
ADR-0002).
Von außerhalb des Labs ist derselbe Stand über den Push-Mirror
sorb/management lesbar — dorthin
aber nie pushen, der Mirror überschreibt.