restoredrill

Untested backups aren't backups.

restoredrill restores your PostgreSQL or MySQL backup into a throwaway container, checks the data, and writes a report your auditor can use. The hosted layer tells you when a drill fails or stops running, and sends you an evidence pack every month.

Ask for early access The open-source CLI

How it works

  1. You run the restoredrill CLI on your own schedule, in CI or from cron. It is open source and free.
  2. It fetches your latest backup, restores it, and runs the checks: freshness, tables, row counts, your own SQL, and how long the restore took.
  3. It posts the JSON report to your private address at restoredrill.io. Your data and your backups never leave your side.

Setup is one line in the config you already have:

notify:
  webhook_url: https://hooks.restoredrill.io/r/<your-token>

No agent to install. No access to your database. Nothing to label: each database is picked up from its first report.

What the hosted layer adds

Alerts by email and Slack

A monthly evidence pack

At the start of each month you get a PDF of the month before. For each database it shows the runs, passes and failures, missed windows, the median and longest restore, the oldest backup tested, and how often your RTO and RPO targets were met. A database that went silent gets its own section. It does not hide in a summary.

Each pack has a verification address. Anyone can check that the file they hold is the one restoredrill issued.

See a sample pack PDF, 50 KB, made-up data

A history you cannot quietly edit

Reports are stored append-only, each one chained to the one before by a SHA-256 hash. A changed or missing report breaks the chain.

A read-only link for your auditor

Share a link that shows the drill history, with or without the raw reports. It expires, you can revoke it, and it is separate from the address your CLI posts to.

Early access

The hosted layer is free while it is early. In return, tell me what is missing.

Email early at restoredrill dot io with how many databases you test, which backup format you use, and how often your policy says to test. I set up your address and the expected schedule for each database, and send you the line for your config.

If a price ever applies, you hear first, well before it starts, and you can leave. Your CLI keeps writing its own reports either way.

What it is not