maqpna dr
Disaster-recovery drill: prove a backup restores, and report recovery time and data-loss window
Synopsis#
maqpna dr drill [--from DIR | --gateway URL] [--scratch-namespace maqpna-drill] [--open-key K] [--seal-to P] [--postgres-scratch-dsn-file F] [--keep]Description#
Without --from a fresh backup is taken first (ledger and objects; Secrets with --seal-to). The drill restores the ledger to a scratch file and requires the same head hash, validates every object with a server-side dry run in scratch namespaces (<scratch>-<namespace>), opens the sealed Secrets (--open-key) and restores PostgreSQL into a scratch database (--postgres-scratch-dsn-file) and verifies its audit_chain. Nothing in the live installation changes; scratch namespaces are deleted unless --keep. Exit 3 when a check fails.
Subcommands#
Examples#
maqpna dr drill --from /backups/2026-10-02 --open-key recipient.key
maqpna dr drill --gateway "$GW" --keepWhat happens when you run it#
- Prints a table by default;
-o jsonor-o yamlprint the data, and--jq EXPRfilters the JSON.
Exit codes#
| Code | Meaning |
|---|---|
0 | success |
1 | error (the message says what failed, with a hint when there is one) |
2 | usage error: unknown flag, missing argument or bad value; the synopsis is printed |
3 | a check failed, a change is blocked, or a result did not match (tamper, policy mismatch) (not used by this command) |
Related commands#
Terminal demo#
This command needs a Kubernetes cluster with MAQPNA installed, so the recording shows its help. Try it against a cluster from Install.