GRANITE/18 · VAULT-01
--:--:-- UTC
v2.4
● VERIFIED
Backups
that actually restore.
Encrypted, deduplicated, immutable. Hourly snapshots, daily verification, monthly restore drill. The backup product that doesn't quietly fail in the background for 18 months and then tell you on the worst Tuesday of your career.
vault-01 · primary · b2://granite-prod4.2 TB / 11 TB · 38%184 SNAPS
— WHENSOURCE · TAGSIZESTATE
19:0021 MAY · TODAYprod-pg-01 · postgres-WAL14a3..b9e1 · diff +218 MB · 12 tables218 MBdiffVERIFIED●
18:0021 MAYprod-pg-01 · postgres-WAL09c4..71fa · diff +186 MB186 MBdiffVERIFIED●
12:0021 MAYprod-pg-01 · full3a91..d4c7 · 12 tables · checksum ok38.4 GBfullVERIFIED●
12:0021 MAY/srv/uploads · filese2c0..a843 · 4,218 changes · 1 deletion812 MBdiffVERIFIED●
06:0021 MAYedge-cache · files71b3..2c10 · stale; rerun queued—STALE⚠
00:0021 MAYall hosts · daily indexoff-site copy · b2 + r2 mirror2.1 GBidxMIRRORED●
23:3020 MAYrestore-drill · monthlyrandom snap → /tmp/drill · 41s recovery38.4 GBverifyPASSED●
12:0020 MAYprod-pg-01 · full1d72..ee04 · 12 tables · 90-day retention37.9 GBfullVERIFIED●
19h 14msince last full
2 hrsince verify
41slast restore drill
90 / 365 / 7yretention tiers
EXHIBIT ARestore drill · 20 May 23:30PG. 02 / 04
If it doesn't restoreit isn't a backup.
Granite picks a random snapshot once a month, restores it to a scratch host, runs a checksum, and emails the result. The backup that hasn't been restored is a hope, not a plan. Drift between snapshot and source shows up the next morning, not the next outage.
— DRILL · 20 MAY 23:30 → 23:31
$ granite restore --random --to /tmp/drill → picked snap 3a91..d4c7 · 12 May 12:00 → fetched 38.4 GB from b2 in 28.4s → decrypted (age) · 6.1s → checksum: 412 of 412 files match → postgres dump replayed: 12 tables, 1.4M rows ✓ DRILL PASSED · total 41s · cleanup ok
— ALERT · STALE OBJECT
$ granite verify edge-cache@06:00 ! edge-cache snap 71b3..2c10: manifest mismatch → 3 of 1,420 files: stat differs from manifest → likely cause: filesystem clock skew on edge-2 → queued: rerun snap at 21:00, alert: low → data integrity: ok (no actual corruption) → posted to ops · ack required by 06:00 tomorrow
One sixty-nine.
Restored, not just stored.
Granite's just glue around restic, age, and your object store. The value is the operational discipline: hourly snaps, monthly drills, weekly summary, alert on stale. Bring your own B2/S3/MinIO bucket.
Купить Granite · $169 once →$169ONCE · YOUR BUCKET · IMMUTABLE