Backup and Restore Service · View 07 of 26 · 3 · Structure
Decisions
- Capture agents run beside the source (a pgBackRest sidecar or host agent, a Velero node agent), not centrally. Bytes go from source to custody over the backup network and never pass through the control cluster.
- Temporal holds workflow state for captures, restores and rehearsals. A restore that waits 40 minutes for an approver, retries a throttled read and resumes after a worker restart is exactly what durable workflows exist for.
- The catalogue is ordinary PostgreSQL under Patroni. At 30 million artefacts it is a modest B-tree workload, not a reason to run a new kind of database.
Numbers
- Control cluster: 6 worker nodes. Temporal: 3 history, 2 frontend, 2 matching. Catalogue: 3 Patroni members, one of them a synchronous replica.
- OpenBao: 5 voters across DC-A, DC-B and the vault site, so losing one data centre keeps quorum.
Risks
- Temporal is a large dependency for a platform that must survive its own control plane. The mitigation is that Tier 1 log shipping, custody and the manual restore path do not use it (view 18).