Schliesst den lokalen Code-Stand fuer zwei offene MASTER_TODO-Punkte ab.
monitoring: restliche Einzeldatei-Bind-Mounts (alertmanager, blackbox,
loki, promtail, alertmanager-ntfy-bridge) auf Directory-Mounts umgestellt,
analog zum Prometheus-Fix vom 2026-06-19. Vermeidet "Stale NFS file handle"
auf dem /mnt/user-FUSE-Share bei git/Komodo-Updates. grafana-provisioning
war bereits Directory-Mount. `docker compose config` gruen. Beim Deploy
--force-recreate noetig, da sich Mount-Zielpfade aendern.
backup: endpoint-agnostischer Dead-Man's-Switch (Healthchecks-kompatibel,
Cloud oder self-hosted) in pull-critical-backups.ps1 und pre-borg.sh.
Pings /start, Erfolg und /fail; No-Op ohne konfigurierte URL, bricht also
keinen Lauf. Ping-URLs sind Capability-URLs und bleiben als Secret
ausserhalb des Repos.
Doku: SECRETS_MAP, Nearline-README und MASTER_TODO nachgezogen.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Einzeldatei-Bind-Mounts von alerts.yml/prometheus.yml brechen auf dem
Unraid-FUSE-Share bei git/Komodo-Updates zu "Stale NFS file handle"
(Inode-Wechsel) -> Config-Reload laedt 0 Regeln, nur --force-recreate heilt.
Umgestellt auf stabilen Directory-Mount ./prometheus:/etc/prometheus/config:ro
plus angepasste --config.file und rule_files. Kuenftig reicht ein Reload.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
InfluxDB 3 Core kompaktiert nicht; haeufige HA-Writes liessen "°C"/"%"/"hPa"
ins 432-Dateien-Query-Limit laufen -> No data in Grafana. --query-file-limit
auf 20000 angehoben (Stopgap; langfristig Enterprise-Compaction oder weniger
Writes).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Behebt drei Befunde aus dem Operations-Report 2026-06-10:
- daily-status-report.sh: Zertifikate werden vor der Auswertung pro
Domain-Set dedupliziert; nur das laengstlaufende Cert zaehlt. Traefik
haelt waehrend der Erneuerung altes + neues Cert in acme.json, was
bisher eine falsche KRITISCH-Warnung (traefik.kaleschke.info 5 Tage)
ausloeste, obwohl das neue Cert 65 Tage Restlaufzeit hat.
- monitoring/blackbox-exporter: DNS von 1.1.1.1/8.8.8.8 auf AdGuard
(172.23.0.3 via dns_net) umgestellt. Externe Resolver lieferten die
WAN-IP, was Hairpin-NAT-Timeouts (9,5s) bei Probes von cloud/glances
verursachte (662 Fehler/Tag).
- log-noise.patterns: Fritz!Box-SOA-Fehler (AdGuard, RFC-1035-Verstoss)
und fehlendes grafana-amazonprometheus-datasource-Plugin als bekanntes
Rauschen klassifiziert (~1800 Zeilen/Tag).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- generic_oauth gegen Authelia (client_id grafana, PKCE, client_secret via __FILE aus /mnt/user/appdata/secrets/grafana_oidc_client_secret)
- Traefik-Middleware authelia@file entfernt -> OIDC ist jetzt die Auth; lokaler Grafana-Admin bleibt Fallback
- Authelia-Client wurde host-seitig angelegt (Secret nur als Host-Datei + Hash in Authelia-Config)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Reads live RepoDigests of each running monitoring container and
freezes the compose to the exact image manifest. Brings the
monitoring stack to the same digest-pin discipline as the
stateful tier-1 services. influxdb3-core was already pinned.
Affected: prometheus, alertmanager, alertmanager-ntfy-bridge,
blackbox-exporter, loki, promtail, grafana, node-exporter,
cadvisor (plus a second python:3.13-alpine for the bootstrap
dashboard importer).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>