Five crates. None reachesinto another's internals.
The core is a Rust workspace kept deliberately modular: the daemon can change without touching the guest agent, and the guest agent ships as its own static binary, independent of everything that talks to it.
Five crates, and exactlywhat each one owns.
What actually happensinside a create.
Lease
A tap device and IP are leased from the pool and attached to the bridge — concurrently with the rootfs clone, not after it.
Boot
Firecracker starts; boot-source, drive, machine-config and vsock are configured over its API socket.
Agent up
The guest kernel boots, systemd starts the guest agent, and it binds its vsock port.
Ready
The host's vsock client connects. The sandbox can now run anything you send it.
Why it's built this way,and what broke before.
The full essays live in the docs, next to the API they explain — four below, and ten more covering everything from SQLite to token-bucket rate limiting underInternals in the sidebar.