Recent submissions

Comment · 2 months ago
v1 is pg_dump only because it's the thing that every Postgres install can do natively, and the fastest way to get something really working and tested. Physical backups, pgBackRest specifically are already on the roadmap. One person on interviews doing this kind of testing was on plain dumps and moving off them, about 18 hours to restore versus 2 with a physical backup tool. I don't want to disagree here, I know dump-based isn't a great long term strategy. I will enhance the REAME, thank you for the feedback.
Comment · 2 months ago
No worries at all. I take this to improve my working style. I appreciate you circling back to say this :)
Comment · 2 months ago
One person I talked to had Veeam SureBackup running and still built a separate check for the database. As I know SureBackup proved the VM boots, but it doesn't know or care if your orders table has the right row count, or if a sequence is broken. That needs a tool that actually understand the specific platform or data, like Postgres, not only the underlying VM. Also a lot of people I talked to were never use Veeam or Commvault, since they run Postgres on RDS, Supabase, or a simple VM. And even where the tooling exists, it's usually a separate infra tam running it, not the people who actually own this one database, so it never gets wired up for this specific check anyway. This tool is more for people whose stack never had such a thing, or it's there and nobody's actually using it for this.
Comment · 2 months ago
I don't have a good defense here, it's fair. But part of that was because of messy commit history and I wanted to have a clean commit history. Maybe it's not a good reason as well, but it was my real intention and my desire of perfectionism :) reason is that I wanted to take the full control, when ai do the commits you normally don't check the code and you loose the control, well I think it's the most important thing. But Going forward, for building trust, definitely take your recommendation. The actual design, the report schema especially, came out of around 30 interviews with people who handle backup testing as part of their job. Thank you for the feedback.
Comment · 2 months ago
Fair, you're right. Thanks for the point. I used ai for a chunk of the build and writing. However, the actual work behind it wasn't AI-generated. I spent a few weeks interviewing people in r/devops and some compliance subs about how they actually test backup restores, and the report schema especially came out directly out of those conversations. You are also right about the REAME. I'll tighten it up right now, and enhance it. Thank you for the feedback.
Comment · 2 months ago
Nobody disputes that backups need testing. Almost nobody actually does it, because there's no safe place to restore to and no time to build one. The people who do automate it usually end up with a cron job and a shell script that fails in its own quiet way. The real risk was never a bad backup. It's that quietly not running, or quietly restoring the same stale file, month after month, with nobody noticing.

restoredrill turns that drill into a single command. It grabs your latest backup, restores it into a disposable Docker container, runs whatever checks you configure, and writes out a JSON report with the restore time. Every check is fail-closed: if it can't run, that's a failure, not something quietly skipped.

Before writing a line of code I spent a couple weeks asking around r/devops and a few compliance subreddits how people actually handle this. Nobody had a clean answer, it was all bespoke scripts or nothing at all. A handful had already built close to this exact tool for themselves and hit the same wall every time: automating the restore was the easy part, getting a report format an auditor would sign off on took months. That's what shaped most of the report schema here.

The quickstart is meant to take about 10 minutes start to finish: pg_dump a Supabase or RDS database, point restoredrill at the file, run it against a local container. No production access, no S3, no CI required just to try it.

Worth naming the alternatives up front. Databasus is a solid self-hosted backup platform, several database engines, full dashboard, restore verification built in. BackupDrill does something close to this specifically for Supabase. restoredrill is narrower on purpose: no dashboard, a report built for an auditor (fail-closed checks, RPO/RTO evidence, your own SQL assertions), and it runs as a CI job instead of infrastructure you have to host.

Postgres only for the moment, pgBackRest and WAL support are on the roadmap. MIT licensed. Repo: https://github.com/ahmadpiran/restoredrill

Would like to hear what people think, especially if you've built something like this yourself and ran into the same report-format problem.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton