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:
@@ -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.
|
||||
|
||||
|
||||
@@ -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.
|
||||
@@ -0,0 +1,3 @@
|
||||
Gegenbuch-Daten der Produktivinstanz.
|
||||
Inhalt wird nicht im Repository gefuehrt (enthaelt den Signaturschluessel).
|
||||
Dieses Verzeichnis gehoert ins Backup.
|
||||
@@ -0,0 +1,2 @@
|
||||
Gegenbuch-Daten der Testinstanz.
|
||||
Inhalt wird nicht im Repository gefuehrt.
|
||||
Reference in New Issue
Block a user