Tomas Dvorak
08d92fb10f
feat(backups): scheduled database backups via cron tick
- database_services gains backup_schedule + next_backup_at (goose migration,
sqlc schema, new queries).
- PUT /databases/:id accepts backup_schedule — validated cron expression,
empty string disables; invalid returns 400.
- Cron scheduler tick now also folds due databases into the existing
snapshot pipeline (createBackupProcess).
- Databases page backups section gets a schedule row showing current expr
and next run.
- resolveBackupConfig reports real next_backup/enabled instead of a fake
last+24h estimate.
- Verified e2e: '* * * * *' produced three consecutive completed archives
containing the seeded payload; invalid schedule rejected.
Authored By: TDvorak <[email protected]>
2026-09-17 17:46:02 +02:00
..
2026-04-10 12:02:36 +02:00
2026-09-17 16:46:26 +02:00
2026-09-17 09:40:08 +02:00
2026-04-10 12:02:36 +02:00
2026-09-17 16:36:05 +02:00
2026-09-15 18:59:40 +02:00
2026-09-17 16:22:26 +02:00
2026-04-10 12:02:36 +02:00
2026-04-10 12:02:36 +02:00
2026-04-10 12:02:36 +02:00
2026-09-17 17:46:02 +02:00
2026-04-10 12:02:36 +02:00
2026-09-17 17:46:02 +02:00
2026-04-10 12:02:36 +02:00
2026-04-10 12:02:36 +02:00
2026-09-17 10:30:36 +02:00
2026-09-17 10:30:36 +02:00
2026-04-10 12:02:36 +02:00
2026-09-15 18:59:40 +02:00
2026-04-10 12:02:36 +02:00
2026-09-15 18:59:40 +02:00
2026-09-15 18:59:40 +02:00
2026-09-17 09:40:08 +02:00
2026-04-10 12:02:36 +02:00
2026-04-10 12:02:36 +02:00
2026-04-10 12:02:36 +02:00
2026-04-10 12:02:36 +02:00
2026-09-17 17:30:30 +02:00
2026-04-10 12:02:36 +02:00
2026-04-10 12:02:36 +02:00
2026-04-10 12:02:36 +02:00
2026-09-15 18:59:40 +02:00
2026-09-15 18:59:40 +02:00
2026-04-10 12:02:36 +02:00
2026-09-17 09:40:08 +02:00
2026-09-17 10:49:45 +02:00
2026-04-10 12:02:36 +02:00