Automatic restore verification

A backup that has never been restored is an assumption. The verifier pulls the snapshot from the repository on a separate machine, restores it in an isolated sandbox and compares the copy with the fingerprint the source took at backup. The “Verified” status appears only after that.

How a verification runs

The verifier is an agent with the verifier role on a separate machine. The stages run in order, the first one that fails stops the verification, and cleanup always runs:

Five levels and the restore time

The outcome is the highest level reached: storage integrity, restore, start, meaning of the data. At level five every stage has passed and the restore time is measured: the actual RTO.

Five outcomes, not two

Passed, failed, cannot verify, infrastructure failure and cancelled. A failed backup and a failure of the check itself are kept apart: a broken verifier does not look like a bad backup, and a failed restore does not look like a warning.

Verifier security

What you see in the console and in Telegram

What is verified today

PostgreSQL (pg_dump) and file backups. Verification runs as a daily cycle on a schedule set in the settings, and on demand from the console. For databases the verifier needs Docker or Podman; we recommend rootless Podman. Other sources will arrive with their own plugins.