-
Notifications
You must be signed in to change notification settings - Fork 4
PRD-14: Disaster Recovery Plan #10
Copy link
Copy link
Open
Labels
P0Production blocker priorityProduction blocker priorityphase-1Production blockersProduction blockersprdProduct requirement documentProduct requirement documentsecuritySecurity hardeningSecurity hardening
Description
Implement automated hourly encrypted backups of Vault and PostgreSQL to S3-compatible storage with scripted restore and defined RTO/RPO targets.
Acceptance Criteria
-
scripts/backup.shcreates encrypted backups of Vault and PostgreSQL -
scripts/restore.shrestores from encrypted backups - Backups are encrypted with AES-256-CBC before upload
- Backup container runs hourly via cron in Docker Compose
- Retention cleanup removes backups older than 7 days (configurable)
- Vault loss recoverable within 30 minutes
- PostgreSQL loss recoverable within 20 minutes
-
restore.sh listshows available backups -
restore.sh latestrestores from the most recent backup - Restore script prompts for confirmation before overwriting data
- All backup/restore env vars documented
- RPO of 1 hour achieved (hourly cron)
- RTO of 30 minutes achievable (verified via restore test)
Tasks
- Create
scripts/backup.shwith Vault + PostgreSQL backup logic - Create
scripts/restore.shwith restore + verification logic - Add
backupservice todocker-compose.yml - Add backup-related env vars to
.env.example - Test: manual backup, S3 upload, Vault restore, DB restore
- Test: cron execution, retention cleanup
- Document recovery procedures
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
P0Production blocker priorityProduction blocker priorityphase-1Production blockersProduction blockersprdProduct requirement documentProduct requirement documentsecuritySecurity hardeningSecurity hardening