How we test
Every product on this site is run before it is sold. This page explains how, and what each one is checked with.
The method
- Clean environment. Tests run in fresh containers (Debian 12), so nothing depends on a developer's machine.
- Real services. Real Caddy, real PostgreSQL 15, real restic, a real sshd and ssh client, systemd as PID 1, a real firewall with traffic from a second container.
- Failure cases. A corrupt database, a wrong repository, a broken release, a release that crashes on start, a full disk, an out-of-memory kill, a stale or tampered or replayed signature.
- Numbers with their setup. Load, hardware and counting rules are stated next to every measurement, and results that vary between runs are reported as a range.
- One command to re-run. Each product ships with its own test harness and the output of its last run.
What each product is checked with
| Product | Checked with |
|---|---|
| VPS Deploy & Backup Kit | 59 container checks: backups and restores with SQLite and Postgres, deploys and rollback under 20 requests per second through real Caddy, alerts, restic over SFTP |
| Go Webhook Receiver Starter | 41 tests with the race detector, the Standard Webhooks known-answer vector, throughput measured on a laptop, real signed requests against the compiled binary |
| Small App on One VPS handbook | Every script and chapter in clean containers, a timed recovery drill, failure cases |
| Go on One VPS handbook | A reference service with 85 tests under the race detector, 60 book code blocks checked against the source, the real binary with real signals, hardening read back from a running systemd unit, the GOMEMLIMIT experiment |
| Postgres PITR Kit | 122 checks on PostgreSQL 15 and again on 17, a destroy-and-restore drill with matching rows and checksums, WAL gap and unsafe-target refusals, a local and an SFTP archive |
| Go + systemd Deploy Kit | 101 checks, 20 requests per second through Caddy in every scenario, three runs each, alerts |
| Go CLI Release Kit | 183 checks: snapshot release, installer refusals, reproducible build comparison, Homebrew and Scoop generators, actionlint |