Skip to content

Add backup and restore drill CI job verifying RPO and RTO targets monthly #418

Description

@thlpkee20-wq

Description

A backup is only useful if restore works. Add a scheduled CI job that takes a fresh DB snapshot, restores to a throwaway instance, runs schema and seed-data assertions, and reports against documented RPO/RTO targets.

Requirements and context

  • Must be secure, tested, and documented
  • Should be efficient and easy to review
  • Relevant code: ops/backup/
  • Must alert if RTO target exceeded

Suggested execution

  • Fork the repo and create a branch
  • git checkout -b feat/backup-restore-drills
  • Implement changes
    • Workflow .github/workflows/restore-drill.yml (monthly schedule)
    • Restore + run src/scripts/verify-restore.ts
    • Publish drill report artifact
  • Validate security and correctness assumptions

Test and commit

  • Run tests
    • npm test
  • Cover edge cases
    • Corrupted snapshot must fail drill loudly
  • Include test output and notes

Example commit message

feat: monthly backup restore drill job

Guidelines

  • Minimum 95 percent test coverage
  • Clear documentation
  • Timeframe: 96 hours

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions