Gegenbuch: Daten im Projektverzeichnis statt in Docker-Volumes

Projektkonvention wie beim Hauptstack: Bind-Mount auf
tools/audit-notary/data/<instanz>/ statt benannter Volumes.

Wichtiger Nebeneffekt, der vorher fehlte: Das Verzeichnis war nicht von der
Versionsverwaltung ausgenommen - Signaturschluessel und Gegenbuch waeren beim
naechsten Commit im Repository gelandet. Jetzt ist der Inhalt ignoriert,
waehrend die Verzeichnisse selbst ueber .gitkeep bestehen bleiben. Letzteres
ist noetig, weil Docker fehlende Bind-Mount-Ziele als root anlegt und der
Container als UID 1000 laeuft - der erste Start waere sonst am Schreibrecht
gescheitert.

Verifiziert mit echtem docker compose gegen eine CRM-Attrappe: Buch,
Schluessel, Beobachtungsspeicher und status.txt landen unter
tools/audit-notary/data/prod/, Normalbetrieb exit 0. Testcontainer, Image,
Attrappe und .env danach entfernt; nur die drei .gitkeep bleiben.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-22 18:54:45 +02:00
co-authored by Claude Opus 5
parent a62c51b7c7
commit cb9f1f5fce
6 changed files with 47 additions and 3 deletions
+17 -3
View File
@@ -55,10 +55,24 @@ Das Token kann ausschließlich Prüfwerte lesen: keine Kundendaten, keine
Der Signaturschlüssel wird beim ersten Start **auf dem Gegenbuch-Rechner
erzeugt** und verlässt ihn nie.
### Was ins Backup gehört
### Wo die Daten liegen
Das Datenverzeichnis (`./data/prod` bzw. `./data/staging`). Darin liegen das
Buch, der Schlüssel und der Beobachtungsspeicher. Geht es verloren, beginnt die
Im Projektverzeichnis, nicht in Docker-Volumes:
```
tools/audit-notary/data/prod/
buch/ das Gegenbuch selbst (ein Git-Repository)
schluessel/ Signaturschlüssel wird beim ersten Start erzeugt
beobachtungen.jsonl was zuletzt gesehen wurde
status.txt Ergebnis des letzten Durchlaufs
```
Der Inhalt ist vom Repository ausgenommen der Signaturschlüssel gehört dort
nicht hinein. Die Verzeichnisse selbst sind über `.gitkeep` vorhanden, damit
sie nach einem `git clone` schon existieren und Docker sie nicht als `root`
anlegt.
**Ins Backup gehört genau dieses Verzeichnis.** Geht es verloren, beginnt die
Beobachtung von vorn und der nächste Lauf sagt das ausdrücklich, statt „alles
gut" zu melden.
+7
View File
@@ -0,0 +1,7 @@
Hier liegen die Gegenbuch-Daten (je Instanz ein Unterverzeichnis):
data/prod/ Buch, Signaturschlüssel, Beobachtungsspeicher, status.txt
data/staging/ dasselbe für die Testinstanz
Der Inhalt wird bewusst NICHT im Repository geführt er enthält den
Signaturschlüssel. Dieses Verzeichnis gehört ins Backup.
+3
View File
@@ -0,0 +1,3 @@
Gegenbuch-Daten der Produktivinstanz.
Inhalt wird nicht im Repository gefuehrt (enthaelt den Signaturschluessel).
Dieses Verzeichnis gehoert ins Backup.
+2
View File
@@ -0,0 +1,2 @@
Gegenbuch-Daten der Testinstanz.
Inhalt wird nicht im Repository gefuehrt.