For Divvent’s own team. It is generated from the operations document in our repository, which is the one to edit. If you use Divvent, the help centre is for you.
3c. The restore drill
production.yml restores the control plane from its own dump on every release. This restores a tenant, weekly (restore-drill.yml, Tuesdays, the canary) and by hand for any application:
divvent backups --env staging --runner <run id> --drill canary
The application's latest backup at the revision it runs — or one taken for the drill, catalogued as drill — into <database>---restore-drill; every row the backup holds back (its statements and the copy's own re-dump the same multiset, table by table), the schema the live one's (the migration ledger, row for row), every full-text index rebuilt and answering. The copy is removed and its absence confirmed, pass or fail, and restore.drill.passed or restore.drill.failed is audited with the tables, rows and indexes — and the differences, as names and counts. A failure fails the run: a backup a customer believes in and cannot restore is the incident the drill exists to find first.