Skip to content

T-GHKW-backup-rust-arm-flip

State: closed/done · Impact: medium · Complexity: large

The node arm cannot run from an installed app: the vault-backup CLI resolves a repo checkout and throws without one. crates/determined-backup already ports it. This task makes the Rust arm serve backup and deletes the node arm in the same change, as rust-backends/ARCHITECTURE.md section 3 requires.

  • AppState::backup returns determined_backup::Backup, hand-written beside AppState::polish like the other Rust-only accessors. The Rust arm owns backup operations; the retired vault-engine task is not retained as a competing execution path.
  • CAPABILITY_DEFAULTS has (Capability::Backup, Backend::Rust).
  • On first use, a store at the node arm’s location (keyed by vaultScopeKey of the vault path) is moved to the Rust arm’s location (keyed by minted id) when the latter is empty.
  • The backup half of B-DQXW is deleted: backends/node/backup.rs, SidecarApp::Backup, the backup entry in packages/family-cli/cli.ts, apps/vault-backup/, its .moon/workspace.yml entry, and the backup script in solutions/determined/package.json.
  • The vault-git-backup vault task is retired in favour of the in-app schedule; the change notes how to remove it from an existing vault. A vault served only by the full platform or an engine therefore has no scheduled backups unless Determined Backup is running.
  • AC-1: With no DETERMINED_BACKEND* override, every backup endpoint is served by determined-backup, and the Backups page works as before.
  • AC-2: A vault with node-arm history shows the same snapshot list after the flip.
  • AC-3: No live backup source, build configuration, or runtime registration under solutions/determined references apps/vault-backup or SidecarApp::Backup. Historical planning and closed-task records may retain those names.
  • AC-4: B-DQXW is updated to cover only the flows half.
  • The flows half of B-DQXW.
  • Restore (T-7PT3).
  • T-EQ0H: parity proof before the flip.
  • T-FJOX: the in-app schedule replaces the engine task this deletes.

T-EQ0H-backup-parity-cases, T-FJOX-backup-in-app-schedule


← Back to Tasks