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

  1. Clean environment. Tests run in fresh containers (Debian 12), so nothing depends on a developer's machine.
  2. 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.
  3. 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.
  4. 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.
  5. 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

ProductChecked with
VPS Deploy & Backup Kit59 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 Starter41 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 handbookEvery script and chapter in clean containers, a timed recovery drill, failure cases
Go on One VPS handbookA 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 Kit122 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 Kit101 checks, 20 requests per second through Caddy in every scenario, three runs each, alerts
Go CLI Release Kit183 checks: snapshot release, installer refusals, reproducible build comparison, Homebrew and Scoop generators, actionlint