Add Hetzner Storage Box snapshot restore test

Make the off-site snapshot protection a repeatable, monitored proof (DECISIONS 2026-06-11/-23): a read-only restore-test that lists .zfs/snapshot on the Storage Box, checks retention and newest-snapshot age, and SFTP-fetches one small file from the newest snapshot (size + SHA256). Connection is derived from the borg-ui repo URL and runs via docker exec borg-ui; no secret in the script, no write access. Wired into the run-restore-checks.sh dispatcher; runbook documents the pending one-time live validation.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-23 12:18:44 +02:00
parent 813d3bd303
commit 3e9c12eb75
4 changed files with 243 additions and 2 deletions
+7 -1
View File
@@ -103,8 +103,14 @@ case "$MODE" in
fi
exec "$SCRIPT_DIR/shared-pg-cluster-restore-test.sh"
;;
hetzner-snapshot)
if [ "$WHATIF" = "--what-if" ]; then
exec "$SCRIPT_DIR/hetzner-snapshot-restore-test.sh" --what-if
fi
exec "$SCRIPT_DIR/hetzner-snapshot-restore-test.sh"
;;
*)
echo "Usage: $0 {freshness|freshness-negative|vaultwarden|gitea|paperless|immich|authelia|adguard|redis|homeassistant|nextcloud|komodo-bootstrap|komodo-mongo-restore|traefik|mailarchiver|mealie|shared-pg-cluster} [--what-if]" >&2
echo "Usage: $0 {freshness|freshness-negative|vaultwarden|gitea|paperless|immich|authelia|adguard|redis|homeassistant|nextcloud|komodo-bootstrap|komodo-mongo-restore|traefik|mailarchiver|mealie|shared-pg-cluster|hetzner-snapshot} [--what-if]" >&2
exit 1
;;
esac