feat(backup): add enterprise backup & restore foundation

This commit is contained in:
Schubert Ferenc 2026-07-05 17:13:31 +02:00
parent 7835d3ca75
commit 6c917df515
30 changed files with 1538 additions and 61 deletions

View file

@ -134,6 +134,46 @@ STORAGE_BASE_PATH=/data/storage
Bestehende Knowledge-Dateien aus alten Setups unter `/data/knowledge` werden nicht automatisch verschoben. Vor einer manuellen Migration immer Backup erstellen.
## Backup und Restore
Ab v0.9.1 nutzt Olympus ein serverseitiges Backup-Modul.
Ablage:
- Hermes schreibt Backups nach `${STORAGE_BASE_PATH}/backups`
- Im lokalen Standard entspricht das `${STORAGE_HOST_PATH}/backups`
- Backup-Dateien gehoeren nie ins Git
Inhalt eines Backups:
- `manifest.json`
- `database.dump`
- `storage/`
Athena stellt dafuer ausschliesslich Same-Origin-BFF-Routen bereit:
- `GET /api/backups`
- `POST /api/backups/create`
- `GET /api/backups/[filename]/download`
- `POST /api/backups/[filename]/validate`
- `POST /api/backups/[filename]/restore`
- `DELETE /api/backups/[filename]/delete`
Hermes nutzt intern `pg_dump` im Custom-Format. Deshalb muss im Hermes-Container `postgresql-client` verfuegbar sein.
Automatischer Restore ist in v0.9.1 absichtlich deaktiviert. Vor jedem produktiven Restore gilt:
1. Backup validieren.
2. Sicherheitsbestaetigung pruefen.
3. Restore ueber `scripts/restore.sh <backup-zip>` ausfuehren.
4. Ergebnis und Audit Logs kontrollieren.
Empfehlung fuer den Betrieb:
- Backups regelmaessig extern von `${STORAGE_HOST_PATH}/backups` sichern.
- Backup-Dateien vor Offsite-Kopie verschluesseln.
- Restore nur in Wartungsfenstern ausfuehren.
## Knowledge Workflow
Die Wissensdatenbank folgt lokal und produktiv diesem Ablauf: