Git-backed vault snapshots
State: open/building · Kind: module · Audience: system
Summary
Section titled “Summary”- 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.
Statement
Section titled “Statement”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.
What it provides
Section titled “What it provides”- 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
Underlying implementation
Section titled “Underlying implementation”- solutions/determined/crates/determined-backup/ is the crate
- solutions/determined/crates/determined-backup/src/git.rs is the only module that spawns git
Locations
Section titled “Locations”solutions/determined/crates/determined-backup/solutions/determined/crates/determined-backup/src/snapshot.rs#snapshotsolutions/determined/crates/determined-backup/src/restore.rs#restore_filesolutions/determined/crates/determined-backup/src/index.rs#snapshot_indexsolutions/determined/crates/determined-backup/src/summarize.rs#summarize_changessolutions/determined/crates/determined-backup/src/port.rs#Backupsolutions/determined/crates/determined-backup/src/git.rs