Expand description
Bundle per-node DB snapshots into a single uploadable artifact.
The per-node tarballs are produced by NetworkNode::snapshot_db
(in the orchestrator crate). This module packs them — plus a JSON
user_data blob — into a single outer bundle.tar.gz with a
SnapshotManifest sidecar so consumers can verify checksums and
discover what’s inside.
Layout inside the bundle:
<archive1>.tgz
<archive2>.tgz
...
manifest.json // schema: SnapshotManifestConsumer side is user-owned: the user untars the bundle and passes the
inner .tgz paths to with_db_snapshot(...) on a NodeConfigBuilder.
Structs§
- Archive
Entry - Per-archive metadata inside a
SnapshotManifest. This is similar toNodeSnapshotbut using the filename instead of the path. - Bundle
- Result of
BundleBuilder::build. - Bundle
Builder - Assembles a single
bundle.tar.gzfrom one or moreNodeSnapshots plus a JSONuser_datablob. - Empty
- Typestate marker: no archives added yet.
- NonEmpty
- Typestate marker: at least one archive has been added.
- Snapshot
Manifest - Schema of
manifest.jsoninside the bundle. Versioned —MANIFEST_SCHEMA_VERSIONbumps are breaking changes.
Constants§
- MANIFEST_
SCHEMA_ VERSION - Stable schema version of
SnapshotManifest. Bump on breaking changes.
Functions§
- untar_
bundle - Helper function to untar the produced bundle into a destiantion path.