Skip to content

Git-backed vault snapshots

State: open/building · Kind: module · Audience: system

  • Commits the vault into a bare git store on the durable home and lets callers browse, list changes of and restore snapshots.
  • Shells out to git; no git type appears in its public API.

A vault can be snapshotted in place into a bare git repository kept on the machine’s durable home, keyed by the vault id. Each snapshot gets a commit subject built from change counts and, when a summarizer is configured, a narrative body from a local Ollama call. Callers can list snapshots, browse the tree at any snapshot, read a file, see the per-snapshot change list, check store status, and restore one file back into the vault. A per-sha blob index is cached so tree browsing after the first click makes no git calls. The crate serves the Backup capability in-process for the Rust backends.

  • Store lifecycle and snapshot creation (stage, commit, subject line)
  • Snapshot history and per-snapshot change lists
  • Tree and file browsing at a snapshot, backed by a cached per-sha index
  • Single-file restore with a plan step and an apply step; restore takes a safety snapshot first, so it can be undone
  • Store status including on-disk byte totals
  • Best-effort narrative summary of changes
  • Backup port implementation for the determined backends
  • solutions/determined/crates/determined-backup/ is the crate
  • solutions/determined/crates/determined-backup/src/git.rs is the only module that spawns git
  • solutions/determined/crates/determined-backup/
  • solutions/determined/crates/determined-backup/src/snapshot.rs#snapshot
  • solutions/determined/crates/determined-backup/src/restore.rs#restore_file
  • solutions/determined/crates/determined-backup/src/index.rs#snapshot_index
  • solutions/determined/crates/determined-backup/src/summarize.rs#summarize_changes
  • solutions/determined/crates/determined-backup/src/port.rs#Backup
  • solutions/determined/crates/determined-backup/src/git.rs

← Back to Capabilities