monitoring: release-watch in eigenen CVE-/Release-Raum (gitops#47), SBOM-Abgrenzung dokumentiert
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PKhFj1S3UdD6xL2fbWPeYj
This commit is contained in:
co-authored by
Claude Fable 5
parent
8c06329e33
commit
f45e01219b
@@ -13,3 +13,6 @@ GRAFANA_ADMIN_PASSWORD='changeme'
|
|||||||
MATRIX_ALERT_HOMESERVER=https://matrix.axion1337.chat
|
MATRIX_ALERT_HOMESERVER=https://matrix.axion1337.chat
|
||||||
MATRIX_ALERT_ROOM_ID=!qavWkXbhLPfGvqtifj:axion1337.chat
|
MATRIX_ALERT_ROOM_ID=!qavWkXbhLPfGvqtifj:axion1337.chat
|
||||||
MATRIX_ALERT_TOKEN=changeme
|
MATRIX_ALERT_TOKEN=changeme
|
||||||
|
|
||||||
|
# CVE-/Release-Raum fuer release-watch (gitops#47) - @alerts dort einladen!
|
||||||
|
MATRIX_RELEASE_ROOM_ID=!YRJvcEbVXtRlUIkNld:axion1337.chat
|
||||||
|
|||||||
@@ -8,6 +8,12 @@
|
|||||||
# praktikable Advisory-Kanal; echte GHSA-Advisories haben keinen oeffentlichen Feed.
|
# praktikable Advisory-Kanal; echte GHSA-Advisories haben keinen oeffentlichen Feed.
|
||||||
# Neue Eintraege werden einmalig als 📦-Notiz gemeldet; Security-verdaechtige
|
# Neue Eintraege werden einmalig als 📦-Notiz gemeldet; Security-verdaechtige
|
||||||
# Titel/Inhalte (CVE/security/vulnerab...) bekommen 🚨 und stehen vorn.
|
# 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 json
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
@@ -18,7 +24,9 @@ import uuid
|
|||||||
import xml.etree.ElementTree as ET
|
import xml.etree.ElementTree as ET
|
||||||
|
|
||||||
HOMESERVER = os.environ["MATRIX_HOMESERVER"]
|
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"]
|
TOKEN = os.environ["MATRIX_TOKEN"]
|
||||||
STATE_FILE = os.environ.get("RELEASE_WATCH_STATE_FILE", "/state/release-watch.json")
|
STATE_FILE = os.environ.get("RELEASE_WATCH_STATE_FILE", "/state/release-watch.json")
|
||||||
INTERVAL = int(os.environ.get("RELEASE_WATCH_INTERVAL", "21600")) # 6h
|
INTERVAL = int(os.environ.get("RELEASE_WATCH_INTERVAL", "21600")) # 6h
|
||||||
|
|||||||
@@ -68,6 +68,8 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
- MATRIX_HOMESERVER=${MATRIX_ALERT_HOMESERVER}
|
- MATRIX_HOMESERVER=${MATRIX_ALERT_HOMESERVER}
|
||||||
- MATRIX_ROOM_ID=${MATRIX_ALERT_ROOM_ID}
|
- 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}
|
- MATRIX_TOKEN=${MATRIX_ALERT_TOKEN}
|
||||||
volumes:
|
volumes:
|
||||||
- ./alertmanager/release-watch.py:/app/release-watch.py:ro
|
- ./alertmanager/release-watch.py:/app/release-watch.py:ro
|
||||||
|
|||||||
Reference in New Issue
Block a user