Enterprise-Backup-, Recovery-, Verification-, Security- und Monitoring-Plattform fuer Proxmox VE, Windows, Linux und Dateisysteme. Der Leitsatz, der fast jede Entscheidung erklaert: Ein Backup gilt erst als vertrauenswuerdig, wenn Integritaet geprueft und Wiederherstellbarkeit nachgewiesen wurde. Deshalb steigt ein Wiederherstellungspunkt erst nach einem tatsaechlich durchgefuehrten Restore-Test auf "recoverable", und Unbekanntes geht in keine Bewertung als "gut" ein. Umfang (Phasen 0-23): - Repository Engine: inhaltsadressierte Bloecke, atomares Commit-Protokoll, Katalogaufbau allein aus den Manifesten — ohne Datenbank - Backup Engine: inhaltsabhaengiges Chunking, Deduplizierung trotz Verschluesselung, zstd, AES-256-GCM, Streaming mit Gegendruck - Agenten fuer Windows und Linux mit Auftragsabholung (Pull-Modell) - Proxmox-Provider mit beiden Zugriffswegen auf die Sicherungsarchive - Scheduler, Recovery Engine mit Pruefpunkt, Verification, Unveraenderlichkeit - Weboberflaeche, Kennzahlen, Meldungen, Berichte, Security Center, Ransomware-Heuristik (meldet, handelt nie) - Disaster Recovery, Haertung, Leistungsmessung, Chaos Testing - Eingefrorene Vertraege fuer API, Migrationen, Backup-Format und Repository - Auslieferungspaket fuer linux/amd64, linux/arm64 und windows/amd64 Nicht enthalten und als solches gekennzeichnet: Kapazitaetsprognose, Backup Copy, Changed Block Tracking bei Proxmox, erweiterte Attribute und ACLs. Gebaut, aber nie auf echter Hardware gefahren: der Windows-Dienst, die systemd-Einheit und der verpflichtende Proxmox-Meilenstein — ob eine wiederhergestellte VM startet, ist ungeprueft. Einzelheiten in CHANGELOG.md und docs/release-candidate.md. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
58 lines
1.4 KiB
JSON
58 lines
1.4 KiB
JSON
{
|
|
"manifest_version": 1,
|
|
"backup_id": "eingefroren-phase-22",
|
|
"chain_id": "kette-phase-22",
|
|
"backup_type": "full",
|
|
"consistency_level": "crash_consistent",
|
|
"source": {
|
|
"source_type": "filesystem",
|
|
"source_id": "/daten",
|
|
"source_name": "Eingefrorene Quelle"
|
|
},
|
|
"entries": [
|
|
{
|
|
"path": "daten/erste-datei.txt",
|
|
"type": "file",
|
|
"size_bytes": 39,
|
|
"modified_at": "0001-01-01T00:00:00Z",
|
|
"mode": "0644",
|
|
"chunks": [
|
|
{
|
|
"id": "93ebc2584ea53490bc79d53398b3ab77941320220feb9919236959b82470ea8f",
|
|
"offset": 0,
|
|
"length": 39,
|
|
"stored_length": 39
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"path": "daten/zweite-datei.txt",
|
|
"type": "file",
|
|
"size_bytes": 40,
|
|
"modified_at": "0001-01-01T00:00:00Z",
|
|
"mode": "0644",
|
|
"chunks": [
|
|
{
|
|
"id": "65e338ec4b0cb91ff1e9afdc906b4141548f7d35857a3a2369ae2179e254b3c7",
|
|
"offset": 0,
|
|
"length": 40,
|
|
"stored_length": 40
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"started_at": "2026-08-13T17:15:01.296392Z",
|
|
"completed_at": "2026-08-13T17:15:01.331673Z",
|
|
"statistics": {
|
|
"chunks_written": 2,
|
|
"chunks_deduplicated": 0,
|
|
"logical_bytes": 79,
|
|
"stored_bytes": 79,
|
|
"deduplicated_bytes": 0
|
|
},
|
|
"self_contained_restore": true,
|
|
"created_by_version": "0.1.0-dev",
|
|
"content_hash": "f300ccddf22edba18a8e77f4f90e2f215ea3a5af4a5e51c2a918194a213b75a1",
|
|
"complete": true
|
|
}
|