1.3 KiB
1.3 KiB
Restore Runbook
Executable via RestoreGateService/scripts/restore_test.py as of M6-05
(steps 1-8; step 9's scheduled trigger and step 10's operational traffic
cutover remain manual/operational). See artifacts/evidence/M6-05/ for a
known, confirmed external blocker on this development host: Qdrant's own
snapshot-recovery mechanism currently fails here for reasons unrelated to
this code (root-caused in detail there) -- the code is complete and
unit-tested, and expected to pass real-infra validation unchanged once
that environment issue is resolved.
- Select a completed verified backup and validate checksums.
- Create an empty isolated restore environment with matching supported software.
- Restore configuration references/secrets separately.
- Restore PostgreSQL and apply only documented compatible migrations.
- Restore immutable blobs and parsed artifacts; verify sampled hashes.
- Restore Qdrant snapshots and collection aliases.
- Run reconciliation for missing/orphan points and artifacts.
- Run database integrity, counts, citations, golden retrieval and security denial tests.
- Record evidence and only then allow traffic.
- Keep the failed/current environment intact until restore acceptance.
A production incident restore follows the same proof, with an explicit incident commander and rollback decision.