MAQPNADocs

maqpna dr

Disaster-recovery drill: prove a backup restores, and report recovery time and data-loss window

Operate-o json | yaml

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" --keep

What happens when you run it#

  • Prints a table by default; -o json or -o yaml print the data, and --jq EXPR filters the JSON.

Exit codes#

CodeMeaning
0success
1error (the message says what failed, with a hint when there is one)
2usage error: unknown flag, missing argument or bad value; the synopsis is printed
3a check failed, a change is blocked, or a result did not match (tamper, policy mismatch) (not used by this command)

Terminal demo#

maqpna dr --help.cast

This command needs a Kubernetes cluster with MAQPNA installed, so the recording shows its help. Try it against a cluster from Install.