diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..f4f3c7f --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,28 @@ +# AGENTS.md — threadnet-operating + +> **Die Gruppenregeln sind kanonisch im `management`-Repo:** +> [`AGENTS.md`](https://git.lab/axion1337.chat/management/-/blob/main/AGENTS.md) +> — von außerhalb des Labs über den Gitea-Mirror lesbar: +> `https://rohana.axion1337.de/sorb/management`. Dort stehen Repo-Topologie und +> Mirror-Regeln, das Kanban-Framework (Status-Labels, WIP-Limit 2, ADR-Pflicht), +> Deploy-Übergabe und AAR-Verfahren, Secrets-Handhabung und die +> Karpathy-Leitlinien. Sie gelten für **jede** Session in diesem Repo. +> Hier steht nur, was zusätzlich für dieses Repository gilt. + +## Was dieses Repo ist + +Monitoring-Stack auf **CFGMON**: Prometheus, Loki, Grafana, Alloy, Alertmanager und der +CVE-Exporter — als Compose, **nicht** von Flux verwaltet. Deploy manuell auf dem Host +(`/opt/threadnet-operating/monitoring`). + +## Was hier besonders zählt + +- **Alarmregeln** liegen in `monitoring/prometheus/alerts.yml`; die Zustellung läuft über + `alertmanager/matrix-alerts.py` in den Matrix-Security-Raum. Eine Regel, die nie feuern + kann, ist schlimmer als keine — **fehlende Zeitreihen erzeugen Stille, keinen Alarm** + (deshalb die `or`-Fallbacks in `axion-backup`). +- **Config-Änderungen kommen nicht automatisch an.** Prometheus und Alertmanager mounten seit + 2026-08-15 ihr Config-**Verzeichnis**; bei den übrigen Diensten (loki, alloy, die Skripte) + hängt der Einzeldatei-Mount weiter am Inode und braucht `--force-recreate` nach `git pull`. + Details und Prüfbefehl in `monitoring/README.md`. +- Ob eine Änderung wirklich greift, sieht man **nur im Container**, nie auf der Platte. diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..9aef12f --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1 @@ +Read AGENTS.md — the canonical instruction file for this repository. All rules live there.