From f45e01219b71b594d07be5ea3db4009dc8d97f7d Mon Sep 17 00:00:00 2001 From: Thore Cimbal Date: Sat, 1 Aug 2026 10:10:16 +0200 Subject: [PATCH] monitoring: release-watch in eigenen CVE-/Release-Raum (gitops#47), SBOM-Abgrenzung dokumentiert Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01PKhFj1S3UdD6xL2fbWPeYj --- monitoring/.env.example | 3 +++ monitoring/alertmanager/release-watch.py | 10 +++++++++- monitoring/docker-compose.yml | 2 ++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/monitoring/.env.example b/monitoring/.env.example index 54935d8..2e4ff59 100644 --- a/monitoring/.env.example +++ b/monitoring/.env.example @@ -13,3 +13,6 @@ GRAFANA_ADMIN_PASSWORD='changeme' MATRIX_ALERT_HOMESERVER=https://matrix.axion1337.chat MATRIX_ALERT_ROOM_ID=!qavWkXbhLPfGvqtifj:axion1337.chat MATRIX_ALERT_TOKEN=changeme + +# CVE-/Release-Raum fuer release-watch (gitops#47) - @alerts dort einladen! +MATRIX_RELEASE_ROOM_ID=!YRJvcEbVXtRlUIkNld:axion1337.chat diff --git a/monitoring/alertmanager/release-watch.py b/monitoring/alertmanager/release-watch.py index 18a832d..6d64436 100644 --- a/monitoring/alertmanager/release-watch.py +++ b/monitoring/alertmanager/release-watch.py @@ -8,6 +8,12 @@ # praktikable Advisory-Kanal; echte GHSA-Advisories haben keinen oeffentlichen Feed. # Neue Eintraege werden einmalig als 📦-Notiz gemeldet; Security-verdaechtige # Titel/Inhalte (CVE/security/vulnerab...) bekommen 🚨 und stehen vorn. +# +# Abgrenzung (Frage sorb 2026-08-01): REPOS unten ist eine HANDGEPFLEGTE Liste - +# de facto ein Mini-SBOM auf Repo-Granularitaet, ohne Versions-/Dependency-Wissen. +# Bei Stack-Aenderungen (neue Komponente, Fork-Wechsel) muss sie mitgezogen werden. +# Trivy (gitops#31/#47) braucht dagegen keine Pflege: es leitet sein SBOM selbst +# aus den Images ab. Beide ergaenzen sich, ersetzen sich nicht. import json import os import re @@ -18,7 +24,9 @@ import uuid import xml.etree.ElementTree as ET HOMESERVER = os.environ["MATRIX_HOMESERVER"] -ROOM_ID = os.environ["MATRIX_ROOM_ID"] +# Eigener CVE-/Release-Raum (Entscheidung sorb 2026-08-01, gitops#47); +# Fallback auf den Alerts-Raum, solange der Bot dort noch nicht eingeladen ist. +ROOM_ID = os.environ.get("MATRIX_RELEASE_ROOM_ID") or os.environ["MATRIX_ROOM_ID"] TOKEN = os.environ["MATRIX_TOKEN"] STATE_FILE = os.environ.get("RELEASE_WATCH_STATE_FILE", "/state/release-watch.json") INTERVAL = int(os.environ.get("RELEASE_WATCH_INTERVAL", "21600")) # 6h diff --git a/monitoring/docker-compose.yml b/monitoring/docker-compose.yml index 72a4b50..310db01 100644 --- a/monitoring/docker-compose.yml +++ b/monitoring/docker-compose.yml @@ -68,6 +68,8 @@ services: environment: - MATRIX_HOMESERVER=${MATRIX_ALERT_HOMESERVER} - MATRIX_ROOM_ID=${MATRIX_ALERT_ROOM_ID} + # CVE-/Release-Raum (gitops#47): leer lassen = Fallback Alerts-Raum + - MATRIX_RELEASE_ROOM_ID=${MATRIX_RELEASE_ROOM_ID:-} - MATRIX_TOKEN=${MATRIX_ALERT_TOKEN} volumes: - ./alertmanager/release-watch.py:/app/release-watch.py:ro