Background
Wraith's data lives in a single managed Postgres. If it's lost or hits limits, re-indexing mainnet from scratch is slow. A nightly logical backup gives a minutes-not-days restore path. (This is the durability fallback for the mainnet deployment.)
What to build
A free scheduled GitHub Actions workflow that runs pg_dump and uploads the compressed dump to an artifact/release (or an object store), plus a short restore runbook.
Key files
.github/workflows/db-backup.yml — new
docs/backup-restore.md — new
Suggested execution
git checkout -b ci/nightly-pg-dump
- Scheduled workflow (
cron) using a DATABASE_URL secret
pg_dump --format=custom → gzip → upload as a dated artifact (retention ~14 days) or release asset
- Document restore:
pg_restore into a fresh Neon instance, then swap DATABASE_URL
- Note per-network dumps (separate testnet/mainnet DBs)
Acceptance criteria
Drips Wave · Complexity: Easy · 100 points
Required: Before submitting, join the contributor Telegram so your work can be tracked and counted toward the Stellar Wave: https://t.me/+fxHXq8f1SwlkZDBk
Background
Wraith's data lives in a single managed Postgres. If it's lost or hits limits, re-indexing mainnet from scratch is slow. A nightly logical backup gives a minutes-not-days restore path. (This is the durability fallback for the mainnet deployment.)
What to build
A free scheduled GitHub Actions workflow that runs
pg_dumpand uploads the compressed dump to an artifact/release (or an object store), plus a short restore runbook.Key files
.github/workflows/db-backup.yml— newdocs/backup-restore.md— newSuggested execution
cron) using aDATABASE_URLsecretpg_dump --format=custom→ gzip → upload as a dated artifact (retention ~14 days) or release assetpg_restoreinto a fresh Neon instance, then swapDATABASE_URLAcceptance criteria
Required: Before submitting, join the contributor Telegram so your work can be tracked and counted toward the Stellar Wave: https://t.me/+fxHXq8f1SwlkZDBk