gsxdsm
c6be0b158b
FN-8129: centralize database backup settings
Move database backup policy and scheduling to shared global configuration.
- Split project memory backups from cluster-wide database backup settings.
- Migrate legacy backup values and routines safely into central global storage.
- Schedule and dispatch one shared PostgreSQL backup routine across project engines.
Files changed:
.changeset/fn-8129-backup-settings-scope-split.md | 7 +
docs/dashboard-guide.md | 2 +
docs/settings-reference.md | 10 +-
packages/cli/src/commands/backup.ts | 3 +-
.../__tests__/backup-settings-migration.test.ts | 50 ++++++
.../src/__tests__/backup-settings-scope.test.ts | 27 +++
packages/core/src/backup-settings-migration.ts | 188 +++++++++++++++++++++
packages/core/src/backup.ts | 77 +++++----
packages/core/src/global-routine-store.ts | 104 ++++++++++++
packages/core/src/index.gate.ts | 6 +-
packages/core/src/index.ts | 6 +-
.../core/src/postgres/migrations/0000_initial.sql | 19 +++
.../postgres/migrations/0015_global_routines.sql | 19 +++
packages/core/src/postgres/schema-applier.ts | 19 ++-
packages/core/src/postgres/schema/central.ts | 21 ++-
packages/core/src/postgres/startup-factory.ts | 11 ++
packages/core/src/settings-schema.ts | 14 +-
packages/core/src/types.ts | 31 +++-
.../dashboard/app/components/SettingsModal.tsx | 10 +-
.../settings/__tests__/section-keys.test.ts | 1 +
.../app/components/settings/save-split.ts | 2 +
.../search/__tests__/settings-search-index.test.ts | 1 +
.../settings/search/entries.ts | 2 +
.../app/components/settings/section-keys.ts | 4 -
.../settings/sections/BackupsSection.search.ts | 40 -----
.../settings/sections/BackupsSection.tsx | 112 +-----------
.../sections/DatabaseBackupsSection.search.ts | 51 ++++++
.../settings/sections/DatabaseBackupsSection.tsx | 142 ++++++++++++++++
.../settings-default-descriptions.test.tsx | 1 +
packages/dashboard/src/routes.ts | 12 +-
.../src/routes/register-settings-memory-routes.ts | 41 ++---
.../engine/src/__tests__/routine-scheduler.test.ts | 55 +++++-
packages/engine/src/cron-runner.ts | 4 +-
packages/engine/src/routine-runner.ts | 67 +++++---
packages/engine/src/routine-scheduler.ts | 35 +++-
35 files changed, 929 insertions(+), 265 deletions(-)
Fusion-Task-Id: FN-8129
Fusion-Task-Lineage: af17f39a-7f1c-40ff-8a4a-cd63895cd532
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-07-16 16:34:09 -07:00
..
2026-07-16 16:34:09 -07:00
2026-07-13 10:32:12 -07:00
2026-07-13 10:32:12 -07:00
2026-06-08 15:19:27 -07:00
2026-07-16 12:42:17 -07:00