disaster-control/TestEvidence/README.md
tegwick 9ca741908e
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
DISCTL-WP-0004: adopt the NetKingdom identity backup lane
Register backup-netkingdom-identity (LLDAP, privacyIDEA DB/token
material/audit, KeyCape client registry archive) as a T0 backup stream:
daily 03:45 UTC age-encrypted upload to one off-host provider (Storage
Share), hourly on-host health check with a 25h freshness bound, RPO 24h.
Activation evidence net-kingdom NK-WP-0049-T14 (2026-10-16).

Record accepted residual risks G1 (single off-host provider) and G2
(on-host-only freshness detection, watchdog owed by
RAPP-TELEMETRY-WP-0001-T04) until 2027-01-31, and the quarterly
isolated identity restore drill (net-kingdom NK-WP-0053, first due by
2027-01-31) in BackupPolicy, RTO-RPO matrix and TestEvidence cadence.

Requested by net-kingdom (hub message ef2bf2a9); founder decision
e4c288d9 resolved 2026-10-23.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 696317@bnt-lap001
Assistant-Session: bab9e511-0915-45b3-926a-2fab552edff6
2026-10-23 06:56:59 +02:00

2.3 KiB

Test Evidence

Dated restore-drill reports proving RTO/RPO targets in RTO-RPO-Matrix.md are actually met — not just documented.

Naming convention

TestEvidence/restore-drill-YYYY-MM-DD-<system>.md

Examples: restore-drill-2026-07-04-forgejo.md

Required fields

Every evidence file must include:

Field Description
Date Drill execution date (UTC)
System What was restored (register ID or system name)
Backup artifact Filename, size, timestamp, source (manual/automated)
Target environment Isolated namespace, staging host, clean VM, etc.
Operator Who ran the drill
Result success / partial / failed
RPO achieved Actual recovery point (how stale was the backup?)
RTO achieved Wall-clock time from start to validated service
Checks performed API calls, smoke tests, representative workflow
Issues found Anything that blocked or degraded restore
Follow-up actions Workplan items, pickup queue refs, register updates
Canonical evidence Link to owner-repo evidence if drill ran elsewhere

Drill cadence

Tier Minimum cadence Owner
T1 irreplaceable source of truth Quarterly Bernd
T0 identity / trust Quarterly (cold decrypt included) Bernd
T2 runtime platforms Semi-annual Bernd

Quarterly Forgejo drill gate: re-run forgejo-restore-drill.sh from an automated Nextcloud artifact once daily backups are wired (promotion gate in BackupPolicy.md §7).

Next untested targets

Completed drills:

  • 2026-07-04 — Forgejo manual isolated restore
  • 2026-07-07 — Forgejo automated backup decrypt + validate

Next targets:

  1. Forgejo from Nextcloud only — promotion gate (BackupPolicy.md §7)
  2. S2 k3s runtime — decrypt railiance-backup-s2 on railiance01
  3. Dev workstation cold restore — password-manager key only
  4. Gitea dump — before next migration wave
  5. Secret vault cold decrypt — SOPS/age recovery material (R5)
  6. NetKingdom identity isolated restore — quarterly, first due by 2027-01-31; run by net-kingdom NK-WP-0053 per net-kingdom/docs/identity-restore-drill.md. Canonical evidence lives under net-kingdom/docs/evidence/<date>-identity-restore-drill/; link it here as restore-drill-<date>-netkingdom-identity.md (DISCTL-WP-0004-T03).