Record automated Forgejo backup decrypt drill evidence, update registers and pickup queue (item 3 in progress). Mark WP-0002 finished — 8/8 tasks done.
32 lines
2 KiB
Markdown
32 lines
2 KiB
Markdown
# INTENT
|
|
|
|
## Purpose
|
|
|
|
`disaster-control` is the **Resilience Control Plane** for Coulomb Social / Helix Forge and adjacent endeavors. It is the single source of truth for recovery — independent of any one server — answering: what exists, what must survive, how it is rebuilt, and whether restore actually works.
|
|
|
|
The framing is **business continuity + disaster recovery + cyber recovery + evidence**, informed by ISO 22301, NIST CSF 2.0, NIST SP 800-34, and CISA backup guidance.
|
|
|
|
## What lives here
|
|
|
|
- **Registers** — `AssetRegister.yaml`, `DataRegister.yaml`, service dependency map
|
|
- **Policy** — `ResiliencePolicy.md`, `BackupPolicy.md`, RTO/RPO matrix
|
|
- **Restore runbooks** — full server loss, Gitea restore, k3s restore, Bubble export restore, breach recovery, secret rotation
|
|
- **Incident playbooks** — ransomware, credential leak, accidental delete, provider outage, data corruption
|
|
- **Test evidence** — dated restore-drill reports proving RTO/RPO are actually met
|
|
|
|
## Operating principle
|
|
|
|
> Every capability that becomes valuable must declare its source of truth, recovery method, backup schedule, RTO, RPO, owner, and restore test evidence.
|
|
|
|
Servers are disposable; data, identity, secrets, evidence, and payment/account records are not. Rebuild (Ansible/IaC + data restore + secret recovery + DNS cutover) is the default recovery pattern, not server resurrection.
|
|
|
|
## Boundaries
|
|
|
|
This repo documents, plans, and evidences resilience for the Coulomb stack. It does not host application runtime code, and it does not own the backup tooling itself (restic, Velero, `gitea dump`, etc. run where the infrastructure lives). Extracting the control plane into a standalone product is explicitly deferred.
|
|
|
|
## Current state
|
|
|
|
`DISCTL-WP-0002` finished (2026-07-07): registers, policies, runbooks,
|
|
playbooks, Forgejo mirror, and restore drill evidence in `TestEvidence/`.
|
|
Ongoing: pickup queue closure (`BackupPickupQueue.md`), T0 recovery path
|
|
inventory gaps, quarterly drill cadence per `ResiliencePolicy.md`.
|