diff --git a/CONTRIB.md b/CONTRIB.md new file mode 100644 index 0000000..1574f44 --- /dev/null +++ b/CONTRIB.md @@ -0,0 +1,78 @@ +# CONTRIB.md — Regeln für Änderungen am Mesh + +Verbindlich für Master **und** alle Sub-Agenten. Abgeleitet aus den +Betriebsvorgaben des Betreibers (Stand 2026-10-08). + +## 1. Grundsatz: ein Fix pro Schritt + +- **Eine** Änderung, dann **testen**, dann die nächste. Keine Sammeländerungen. +- Jede Änderung wird einzeln nachgewiesen (Messwert, HTTP-Code, Programmausgabe). +- Die Messung muss zur Aussage passen: Bei Pipelines den Exitcode des + **Scripts** messen, nicht den des letzten Pipe-Glieds (`| tail` liefert sonst + immer 0). + +## 2. Backup und Rollback + +- Vor **jeder** Änderung ein Backup mit Datum im Dateinamen: + `cp -p .bak-JJJJMMTT-HHMMSS` +- Der **Rollback-Weg** wird im Kopf der geänderten Datei als Kommentar notiert + und im Abschlussbericht genannt. +- Keine Löschung von Daten, Prozessen oder Konfigurationen ohne Backup. +- Beim Editieren von Dateien per Werkzeug **Eigentümer und Rechte danach prüfen**. + Beispiel: `/var/spool/cron/crontabs/root` muss `root:crontab 600` bleiben — + ein Editor kann die Gruppe auf `root` zurücksetzen und die crontab damit + unbrauchbar machen. + +## 3. Selbstcheck vor dem Einsatz + +1. Syntax: `bash -n