M23: automate verified database backups

This commit is contained in:
NuklearRabbit
2026-08-10 15:46:06 +02:00
parent 689e499634
commit f0f1be83ae
8 changed files with 142 additions and 4 deletions
+17
View File
@@ -2537,3 +2537,20 @@ evidence yet."
Prometheus `promtool` accepted the scrape config and all six rules; merged Compose and
Grafana dashboard JSON validate. Exact next action: automate verified backups,
retention and restore-readiness checks.
## M23 — scheduled and retained recovery points (2026-08-10)
- Added a continuously running Unraid backup service that waits for healthy PostgreSQL,
creates an immediate custom-format dump and repeats at a configurable interval without
access to the Docker socket. The existing on-demand path remains supported.
- Every backup must pass `pg_restore --list` before publication and receives a SHA-256
sidecar. Retention defaults to 30 days while always preserving at least seven newest
restore points. An optional independently mounted secondary destination receives the
same verified artifacts.
- Added a latest-success marker and container healthcheck that detects a missed 26-hour
recovery point, a standalone verification command, guarded destinations and bounded
backup/log storage.
- Evidence: all shell scripts pass Alpine `sh -n`; merged Unraid Compose validates; a
disposable PostgreSQL instance produced a real dump, checksum verification passed and
`pg_restore --list` accepted the artifact. Exact next action: implement privacy export,
anonymisation safeguards, retention reporting and governance documentation.