Project: pal-e-backup

project-pal-e-backup Project Page

active project-page

pal-e-backup

Vision

Off-site backup and disaster recovery for the entire Pal-E platform. If the PC dies, everything can be rebuilt from cloud backups — databases, git repos, identity, secrets, object storage. One unified pipeline, one cloud destination, managed as IaC.

User Stories

Role Key Story Success Metric
Platform owner <code>sleep-at-night</code> I want to know that a disk failure won't destroy my platform Full restore from cloud backups tested and documented
Platform owner <code>backup-confidence</code> I want to be alerted if any backup fails Alert fires within 1 hour of a missed backup
Platform owner <code>restore-speed</code> I want to restore the full platform in under 2 hours Restore time documented from DR test

Plan

Active: plan-pal-e-backup — Off-Site Platform Backup
7 phases: foundation (S3 + repo), database backups, Forgejo backup, MinIO mirror, identity/secrets, monitoring/verification, disaster recovery test.

Board

board-pal-e-backup — Pal-E Backup Board. Continuous kanban.

Status

  • Current backup coverage: pal-e-docs DB and woodpecker DB have CNPG WAL archiving to local MinIO. Terraform state backed up to local MinIO daily. Everything else has zero backup.
  • Off-site backup: None. All backups are on the same disk as the data they protect.
  • Backup verification: cnpg-backup-verify CronJob exists but is currently failing.

Milestones

None yet. First milestone will be defined when Phase 7 (DR test) completes — "Platform Protected."

Architecture




          
    
Backup Flow. Five CronJobs run daily in the k3s cluster. Each targets a specific data category, compresses/encrypts as appropriate, and uploads to a single external S3 bucket organized by directory. A verification job checks freshness and alerts on failure.

Repos

Repo Platform Role Status
pal-e-backup Forgejo Terraform + backup scripts + CronJob manifests planned

Inbox

No untriaged items.