Template lifecycle
A template’s source is the project directory. A template’s built state is the manifest-keyed slot in the local registry.
Rebuild
Section titled “Rebuild”Edit flake.nix, source files, or mvm.toml, then run:
mvmctl buildResource changes such as vcpus, mem, and data_disk update the slot
record. Identity-shaping changes such as flake and profile can trigger
drift detection; pass --force only when overwriting the existing slot is
intentional.
Verify
Section titled “Verify”mvmctl manifest verifymvmctl manifest verify ./my-workermvmctl manifest verify --revision <hash>Verification checks the local slot’s recorded checksums. Signature verification is separate and should stay labeled planned until the release-signing path is wired end to end.
mvmctl manifest prune --orphans --dry-runmvmctl manifest prune --orphansmvmctl cache prune --orphan-buildsOrphans are slots whose source manifest no longer exists on disk. Use dry-run first when cleaning shared development machines.
Remove
Section titled “Remove”mvmctl manifest rm ./my-workermvmctl manifest rm ./my-worker --forcemvmctl manifest rm ./my-worker --manifest-fileRemoving a manifest slot deletes local registry state and build artifacts for
that slot. --manifest-file also removes the source manifest from disk, so use
it only when retiring the project source as well.
State and snapshots
Section titled “State and snapshots”Build slots are not the same as running VM state. Running VMs, volumes, snapshots, and cold-mode artifacts may contain sensitive runtime data. Clean them through the relevant lifecycle commands before assuming a project has been fully retired.