feat: daily encrypted database backup to a bucket of its own
All checks were successful
Build and deploy / Validate source (push) Successful in 8s
Build and deploy / Integration suite on a real stack (push) Successful in 3m38s
Build and deploy / Secret scan and release gate (push) Successful in 7s
Build and deploy / Publish images (push) Successful in 1m2s
All checks were successful
Build and deploy / Validate source (push) Successful in 8s
Build and deploy / Integration suite on a real stack (push) Successful in 3m38s
Build and deploy / Secret scan and release gate (push) Successful in 7s
Build and deploy / Publish images (push) Successful in 1m2s
A backup service runs pg_dump every day at 03:00 Brasília, checks the archive, encrypts it with age to a public key and uploads it with a token for that bucket only. The server cannot read or delete backups: the private key stays with the owner, the bucket's lifecycle rule expires copies and its lock stops early deletion. Each run is recorded and shown on the Kanban's Integrations tab. tests/backup_test.py backs up, restores into a scratch database and compares the rows in CI. Setup and restore: docs/BACKUP.md. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -864,6 +864,12 @@ print-file evidence still need correction before this item can close.
|
||||
- `[ ]` 5.13 — Define production recovery: scheduled encrypted offsite database
|
||||
and object backups, a consistent snapshot boundary, Swarm data placement and
|
||||
a restore rehearsal that opens every required live order file.
|
||||
**2026-09-29:** database part built. The `backup` service dumps daily,
|
||||
encrypts with age (the server holds only the public key) and uploads to a
|
||||
bucket of its own, whose lifecycle rule expires copies and whose lock keeps
|
||||
them from being deleted early. The Kanban shows the latest run, and
|
||||
`tests/backup_test.py` restores a copy in CI. Setup and restore:
|
||||
docs/BACKUP.md. Artwork is not copied: it is temporary and already on R2.
|
||||
- `[ ]` 5.14 — Promote and verify one immutable release. **2026-09-24:** green
|
||||
pushes to `main` now publish images and Portainer's pull-and-redeploy is the
|
||||
release gate; the source preflight is advisory unless enforced by variable,
|
||||
|
||||
Reference in New Issue
Block a user