Expand description
Backup/restore subsystem for the VTA, extracted from vta-service.
backup_bundle_store— the sealed backup-bundle store (bundle records + on-disk blobs for the two-phase export/import trust tasks).backup_bundle_sweeper— TTL sweep of expired backup bundles.ops— the encrypted full-state export and the import that stages a restore (Argon2id + AES-256-GCM), the compatibility check, and the two-phase descriptor flow.restore— applying a staged restore at boot.
§Portability
A backup restores into any kind of deployment — plain, hardened, or a Nitro
enclave — from any kind. Export writes every backed-up keyspace in
plaintext (inside the password envelope); import stages the restore and
commits the restored seed the target’s own way (RestoreCommitter); the
next boot applies it under the storage key that seed yields. See
vta_support::restore_stage for why it cannot be applied in place, and
docs/05-design-notes/backup-restore-portability.md for the whole design.
Modules§
- backup_
bundle_ store - Fjall-backed storage for in-flight backup bundles.
- backup_
bundle_ sweeper - Background pruning of expired + terminal backup bundles.
- ops
- VTA backup export and import operations.
- restore
- Applying a staged restore at boot.
Structs§
- Backup
Target - The store a backup is read from, or a restore staged into, and how it is protected at rest.
- Prepared
Commit - What a
RestoreCommitterprepared, to be recorded in the staged restore’s authenticated metadata beforeRestoreCommitter::commitruns. - Restored
Secrets - The restored secrets an import asks the target to adopt.
- Seed
Store Committer RestoreCommitterfor a plain or hardened VTA: the seed lives in the configured secret store, and the JWT key is written at boot by the restore.
Traits§
- Restore
Committer - How a target adopts a restored seed. The seam between this crate and the
deployment:
SeedStoreCommitterfor plain and hardened VTAs, and an enclave implementation invta-servicethat seals the seed under KMS.