Documentation
¶
Overview ¶
Command virtle launches and controls QEMU sandbox VMs described by a manifest. Run virtle --help for the command list; see README.md for the manifest format.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package backend defines the implementer contract for virtle VM backends, mirroring the database/sql/driver split: consumers hold the interfaces declared here, implementations live in backend-named subpackages (backend/qemu today).
|
Package backend defines the implementer contract for virtle VM backends, mirroring the database/sql/driver split: consumers hold the interfaces declared here, implementations live in backend-named subpackages (backend/qemu today). |
|
backendtest
Package backendtest provides backend conformance tests and an in-memory backend factory for unit tests.
|
Package backendtest provides backend conformance tests and an in-memory backend factory for unit tests. |
|
qemu
Package qemu implements a virtle backend that launches virtual machines with QEMU.
|
Package qemu implements a virtle backend that launches virtual machines with QEMU. |
|
qemu/internal/balloon
Package balloon implements the internal virtio-balloon feature.
|
Package balloon implements the internal virtio-balloon feature. |
|
qemu/internal/hotplug
Package hotplug attaches and detaches runtime devices for a running VM.
|
Package hotplug attaches and detaches runtime devices for a running VM. |
|
qemu/internal/launch
Package launch contains the host-side building blocks shared by the QEMU backend's launch flow: launch planning, the runtime lock and launch pid file, suspend-state persistence and resume validation, socket, QMP, and guest-agent readiness waits, guest file provisioning and write-back, the SSH session retry loop, managed process teardown, and launch timing stats.
|
Package launch contains the host-side building blocks shared by the QEMU backend's launch flow: launch planning, the runtime lock and launch pid file, suspend-state persistence and resume validation, socket, QMP, and guest-agent readiness waits, guest file provisioning and write-back, the SSH session retry loop, managed process teardown, and launch timing stats. |
|
qemu/internal/qga
Package qga wraps the QEMU guest agent commands used by virtle.
|
Package qga wraps the QEMU guest agent commands used by virtle. |
|
qemu/internal/qmpclient
Package qmpclient wraps the QEMU Machine Protocol commands used by virtle.
|
Package qmpclient wraps the QEMU Machine Protocol commands used by virtle. |
|
qemu/internal/qmpwire
Package qmpwire shares line-delimited JSON socket helpers between the QMP and guest-agent clients, which speak the same wire framing over unix sockets.
|
Package qmpwire shares line-delimited JSON socket helpers between the QMP and guest-agent clients, which speak the same wire framing over unix sockets. |
|
qemu/internal/runtime
Package runtime owns the live manager runtime exposed through the control socket.
|
Package runtime owns the live manager runtime exposed through the control socket. |
|
qemu/internal/sessionbridge
Package sessionbridge carries CLI-only lifecycle hooks between the public QEMU backend and its foreground session package without adding them to the supported backend API.
|
Package sessionbridge carries CLI-only lifecycle hooks between the public QEMU backend and its foreground session package without adding them to the supported backend API. |
|
qemu/internal/vmm
Package vmm is the qemu backend's VM machinery: the host-side launcher lifecycle behind backend/qemu and the virtle CLI.
|
Package vmm is the qemu backend's VM machinery: the host-side launcher lifecycle behind backend/qemu and the virtle CLI. |
|
qemu/limits
Package limits defines the resource bounds enforced by the QEMU backend.
|
Package limits defines the resource bounds enforced by the QEMU backend. |
|
qemu/session
Package session implements the virtle CLI foreground loop over the public backend machine contract.
|
Package session implements the virtle CLI foreground loop over the public backend machine contract. |
|
internal
|
|
|
control
Package control implements virtle's local runtime control socket protocol.
|
Package control implements virtle's local runtime control socket protocol. |
|
executor
Package executor renders exec command templates and manages external processes.
|
Package executor renders exec command templates and manages external processes. |
|
executor/executortest
Package executortest provides test doubles for the executor package.
|
Package executortest provides test doubles for the executor package. |
|
manifest
Package manifest defines the internal virtle launch contract.
|
Package manifest defines the internal virtle launch contract. |
|
manifest/schema
Package schema generates the JSON Schema for the manifest input format.
|
Package schema generates the JSON Schema for the manifest input format. |
|
manifest/tagged
Package tagged decodes and encodes JSON-style tagged union lists.
|
Package tagged decodes and encodes JSON-style tagged union lists. |
|
readiness
Package readiness contains generic token-based readiness helpers.
|
Package readiness contains generic token-based readiness helpers. |
|
sshtools
Package sshtools contains reusable SSH command helpers.
|
Package sshtools contains reusable SSH command helpers. |
|
Package manifest loads virtle manifests (TOML or JSON) and lowers them to a neutral vm.Spec plus the backend they configure.
|
Package manifest loads virtle manifests (TOML or JSON) and lowers them to a neutral vm.Spec plus the backend they configure. |
|
Package units defines small typed scalars shared across the virtle API, so sizes and durations are never plumbed around as bare ints.
|
Package units defines small typed scalars shared across the virtle API, so sizes and durations are never plumbed around as bare ints. |
|
Package vm holds the consumer-facing types for describing and controlling virtual machines: the neutral Spec a backend launches, and the Guest interface for operating inside a running VM.
|
Package vm holds the consumer-facing types for describing and controlling virtual machines: the neutral Spec a backend launches, and the Guest interface for operating inside a running VM. |
|
vmtest
Package vmtest provides in-memory doubles for vm package contracts.
|
Package vmtest provides in-memory doubles for vm package contracts. |
Click to show internal directories.
Click to hide internal directories.