pub struct ComputerConfig {
pub jailer: Option<JailerConfig>,
pub data_dir: String,
pub pool_size: usize,
pub warm_create: bool,
pub dmsetup_candidates: Option<Vec<String>>,
}Expand description
The [firecracker] keys this runtime reads.
The section is named for the VMM because that is what a deployed
vmm.toml has always called it, and the on-disk vocabulary is frozen
(computer/AGENTS.md) — but nothing here is Firecracker’s. The keys
that configure a VMM adapter (its binaries, its process-level flags,
the sandbox datapath) belong to whoever builds that adapter, and are
read out of this same section by the composer; serde ignores what it
does not know, so one section serves both halves and the file’s shape
is unchanged.
Fields§
§jailer: Option<JailerConfig>Jailer isolation for every sandbox VMM (absent = no isolation).
data_dir: StringRoot data directory (VMs, snapshots, images).
pool_size: usizeSpare pre-warmed restore slots kept per snapshot id (CORE-78).
A slot pre-executes the fixed host-side restore setup — jailer
chroot, Firecracker spawn, kernel/vmstate/mem staging, dm-snapshot
— so a restore only claims it and issues LoadSnapshot. Only
snapshots that have been restored at least once are pooled, for at
most two distinct snapshot ids (LRU-evicted). 0 disables pooling.
warm_create: boolServe eligible Creates from warm template snapshots (CORE-77).
The first create of a template shape cold-boots and checkpoints the
idle guest; every later create of the same shape restores from that
snapshot instead of booting a kernel. Requires jailer isolation;
only networked creates without a custom boot recipe participate.
false restores plain cold boots for every create.
dmsetup_candidates: Option<Vec<String>>Where to look for the dmsetup binary that drives dm-snapshot CoW
rootfs images. The first entry that exists and answers
dmsetup version wins; none usable disables CoW (every sandbox
copies its rootfs). PATH is never searched. None — the field
absent from the file — leaves the choice to the composer, whose
fallback is the library’s stock-distro list; an explicit list is
used exactly as written, so [] is how a config disables CoW.