DMS2-03: Externe-Backup-Ziel-Anbindung #229

Merged
patrick merged 1 commits from feature/dms2-03-03-externe-backup-ziel-anbindung into main 2026-09-28 00:19:16 +02:00
Owner

Zusammenfassung

  • Neuer Connector connect/internal/backupconnector fuer externe, S3-kompatible Backup-Ziele nach dem registry.Connector-Plugin-Muster
  • Export verschluesselt mit connect/internal/crypto (Envelope-Encryption, Tenant-KEK), offenes JSON-Envelope-Format statt geschlossenem Migrationsformat
  • Retry bei fehlgeschlagenem Export ueber die bestehende Fehlerbehandlung (ENG-05 syncjob.CompleteRunWithRetry/ClaimDueRetries), keine zweite Retry-Schleife

Pruefungen (siehe connect/docs/DMS2-03-PRUEFPROTOKOLL.md)

  1. Verbindungsaufbau zu Test-Backup-Ziel im Test erfolgreich - erfuellt (httptest-Mock als S3-kompatibles Test-Ziel, keine echten Cloud-Credentials verfuegbar, gleiche Einschraenkung wie M365-01)
  2. Uebertragung im Test nachweislich verschluesselt - erfuellt (Wire-Payload enthaelt Klartext nicht, Entschluesselung nur mit korrektem Tenant-KEK moeglich)
  3. Simulierter Uebertragungsfehler loest Retry aus - erfuellt (Integrationstest gegen echtes Postgres, TEST_TENANT_DSN, eigenes Wegwerf-Schema)

Alle 6 Tests gruen, go build/go vet fuer das gesamte connect-Modul ohne Befund. Ausgefuehrt auf Testhost 192.168.1.204 in eigenem Wegwerfverzeichnis/DB, Host 131 und archivdms nicht beruehrt.

Offene Punkte: QA-04 (sichere Ablage der Backup-Ziel-Credentials) ist bewusst nicht Teil dieser Kachel.

🤖 Generated with Claude Code

## Zusammenfassung - Neuer Connector `connect/internal/backupconnector` fuer externe, S3-kompatible Backup-Ziele nach dem registry.Connector-Plugin-Muster - Export verschluesselt mit connect/internal/crypto (Envelope-Encryption, Tenant-KEK), offenes JSON-Envelope-Format statt geschlossenem Migrationsformat - Retry bei fehlgeschlagenem Export ueber die bestehende Fehlerbehandlung (ENG-05 syncjob.CompleteRunWithRetry/ClaimDueRetries), keine zweite Retry-Schleife ## Pruefungen (siehe connect/docs/DMS2-03-PRUEFPROTOKOLL.md) 1. Verbindungsaufbau zu Test-Backup-Ziel im Test erfolgreich - erfuellt (httptest-Mock als S3-kompatibles Test-Ziel, keine echten Cloud-Credentials verfuegbar, gleiche Einschraenkung wie M365-01) 2. Uebertragung im Test nachweislich verschluesselt - erfuellt (Wire-Payload enthaelt Klartext nicht, Entschluesselung nur mit korrektem Tenant-KEK moeglich) 3. Simulierter Uebertragungsfehler loest Retry aus - erfuellt (Integrationstest gegen echtes Postgres, TEST_TENANT_DSN, eigenes Wegwerf-Schema) Alle 6 Tests gruen, go build/go vet fuer das gesamte connect-Modul ohne Befund. Ausgefuehrt auf Testhost 192.168.1.204 in eigenem Wegwerfverzeichnis/DB, Host 131 und archivdms nicht beruehrt. Offene Punkte: QA-04 (sichere Ablage der Backup-Ziel-Credentials) ist bewusst nicht Teil dieser Kachel. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
patrick added 1 commit 2026-09-27 19:46:11 +02:00
DMS2-03: 03 externe backup ziel anbindung
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (pull_request) Canceled after 0s
CI / Connect Security-Test-Gate (QA-01 AC4, Merge-Gate) (pull_request) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (pull_request) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (pull_request) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
CI / Connect Security-Test-Gate (QA-01 AC4, Merge-Gate) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (pull_request) Canceled after 0s
CI / Web (dms-browser) (pull_request) Canceled after 0s
CI / Web (pdf-viewer) (pull_request) Canceled after 0s
CI / Web (shl) (pull_request) Canceled after 0s
Core-Schnittstellen-Vertragstests / contract-tests (pull_request) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (pull_request) Canceled after 0s
Supply-Chain-Scan (npm) / npm-audit (pull_request) Canceled after 0s
Core-Pflichttest-Gate / pflichttest-gate (pull_request) Canceled after 0s
RBAC-Rollenhierarchie-Pflichtgate / rbac-policy-invariant (pull_request) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (pull_request) Canceled after 0s
25eaff6536
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
patrick merged commit 2c7d364ec3 into main 2026-09-28 00:19:16 +02:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: scripte/nexarch#229