diff --git a/.gitignore b/.gitignore index a727d389..ad8736ce 100644 --- a/.gitignore +++ b/.gitignore @@ -36,6 +36,18 @@ data/factory-defaults/* data/backups/* !data/backups/.gitkeep +# Gegenbuch (laeuft auf eigener Maschine): enthaelt das Buch selbst, den +# Signaturschluessel und den Beobachtungsspeicher. Nichts davon gehoert ins +# Repository - der Schluessel schon gar nicht. +tools/audit-notary/data/* +!tools/audit-notary/data/.gitkeep +!tools/audit-notary/data/prod/ +tools/audit-notary/data/prod/* +!tools/audit-notary/data/prod/.gitkeep +!tools/audit-notary/data/staging/ +tools/audit-notary/data/staging/* +!tools/audit-notary/data/staging/.gitkeep + # Factory-Defaults-Drop-Box (Export-ZIPs zwischen dev/prod hin und her) factory-exports/* !factory-exports/.gitkeep diff --git a/docs/todo.md b/docs/todo.md index 1f7b3508..671d9692 100644 --- a/docs/todo.md +++ b/docs/todo.md @@ -125,6 +125,12 @@ isolierte Instanz (keine Multi-Tenancy im Code), Provisioning + Abrechnung exit 0; **Eintrag nachtraeglich veraendert → Alarm exit 2**; **Eintraege geloescht (maxId geschrumpft) → Alarm exit 2**; Siegel verschwunden → Alarm. Testartefakte und Image geloescht. + - **Daten im Projektverzeichnis, keine Docker-Volumes** (Projektkonvention): + Bind-Mount auf `tools/audit-notary/data//`. Der Inhalt ist per + `.gitignore` ausgenommen – dort liegt der Signaturschluessel –, die + Verzeichnisse selbst bestehen ueber `.gitkeep`. Ohne das haette Docker sie + beim ersten Start als `root` angelegt und der Container (UID 1000) haette + nicht schreiben koennen. - Behoben beim Bauen: `useradd -u 1000 || true` verschluckte, dass UID 1000 im Node-Image bereits vergeben ist – der Container startete gar nicht. Jetzt laeuft er als der vorhandene Benutzer `node`. diff --git a/tools/audit-notary/README.md b/tools/audit-notary/README.md index 56d78d04..bd41e50e 100644 --- a/tools/audit-notary/README.md +++ b/tools/audit-notary/README.md @@ -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. diff --git a/tools/audit-notary/data/.gitkeep b/tools/audit-notary/data/.gitkeep new file mode 100644 index 00000000..447adb81 --- /dev/null +++ b/tools/audit-notary/data/.gitkeep @@ -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. diff --git a/tools/audit-notary/data/prod/.gitkeep b/tools/audit-notary/data/prod/.gitkeep new file mode 100644 index 00000000..d3a957fa --- /dev/null +++ b/tools/audit-notary/data/prod/.gitkeep @@ -0,0 +1,3 @@ +Gegenbuch-Daten der Produktivinstanz. +Inhalt wird nicht im Repository gefuehrt (enthaelt den Signaturschluessel). +Dieses Verzeichnis gehoert ins Backup. diff --git a/tools/audit-notary/data/staging/.gitkeep b/tools/audit-notary/data/staging/.gitkeep new file mode 100644 index 00000000..e2f3b7d4 --- /dev/null +++ b/tools/audit-notary/data/staging/.gitkeep @@ -0,0 +1,2 @@ +Gegenbuch-Daten der Testinstanz. +Inhalt wird nicht im Repository gefuehrt.