Merge branch 'worktree-landing-backup'
# Conflicts: # CHANGELOG.md
This commit is contained in:
@@ -7,6 +7,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
||||
## [Unreleased]
|
||||
|
||||
### Added
|
||||
- **Landing zone backup to R2** — append-only landing files (`data/landing/*.json.gz`)
|
||||
synced to Cloudflare R2 every 30 minutes via systemd timer + rclone; extraction state
|
||||
DB (`.state.sqlite`) continuously replicated via Litestream (second DB entry in existing
|
||||
config); auto-restore on container startup for both `app.db` and `.state.sqlite`;
|
||||
`infra/restore_landing.sh` script for disaster recovery of landing files;
|
||||
`infra/landing-backup/` systemd service + timer units; rclone installation added to
|
||||
`infra/setup_server.sh`; reuses existing R2 bucket and credentials (no new env vars)
|
||||
- **Admin Email Hub** (`/admin/emails`) — full email management dashboard with:
|
||||
sent log (filterable by type/event/search, HTMX partial updates), email detail
|
||||
with Resend API enrichment for HTML preview, inbound inbox with unread badges
|
||||
|
||||
Reference in New Issue
Block a user