microVM adapter command and configuration
Runtime configuration owned by ngit-ci-adapter-microvm.
Upcoming CI surface
These pages are generated from an unreleased ngit-ci commit. The interface may change before the next release.
Command syntax
text
Usage: ngit-ci-adapter-microvm [OPTIONS] --socket <SOCKET> --template <TEMPLATE>Per-job QEMU/KVM microVM sandbox adapter for ngit-ci (Loom execution-adapter contract)
Loading behaviour
ngit-ci-adapter-microvm automatically reads a .env file from its working directory. Variables already present in the process environment take precedence over .env values. The complete precedence order is cli → process_environment → dotenv → defaults.
Options
This surface exports 10 public configuration entries. Pattern entries describe a family of names, not one concrete environment variable.
NGIT_CI_ADAPTER_MICROVM_SOCKET— Unix domain socket to listen on. The coordinator's--adapter-socketmust point at the same path- CLI:
--socket <SOCKET> - Value: type
path; cardinality1; default —; values — - Runtime: scope
microvm_adapter; reloadrestart required - Rules: —
- CLI:
NGIT_CI_ADAPTER_MICROVM_TEMPLATE— Read-only guest template qcow2 image. Build it withnix build .#microvm-guest-template- CLI:
--template <TEMPLATE> - Value: type
path; cardinality1; default —; values — - Runtime: scope
microvm_adapter; reloadrestart required - Rules: —
- CLI:
NGIT_CI_ADAPTER_MICROVM_STATE_DIR— Directory for per-job state (qcow2 overlays, ephemeral SSH keys, console logs, pidfiles) and trust-scoped act caches. Leftoverjob-*directories are cleaned unconditionally at startup; caches persist- CLI:
--state-dir <STATE_DIR> - Value: type
path; cardinality1; default.ngit-ci-adapter-microvm; values — - Runtime: scope
microvm_adapter; reloadrestart required - Rules: —
- CLI:
NGIT_CI_ADAPTER_MICROVM_CACHE_MAX_TOTAL_BYTES— Maximum combined bytes retained across all persistent act cache repository and trust-scope partitions- CLI:
--cache-max-total-bytes <CACHE_MAX_TOTAL_BYTES> - Value: type
byte_count; cardinality1; default107374182400; values — - Runtime: scope
microvm_adapter; reloadrestart required - Rules:
cache-capacity-positive
- CLI:
NGIT_CI_ADAPTER_MICROVM_MAX_JOBS— Maximum number of jobs (= microVMs) running at once. Jobs beyond this are rejected immediately — the adapter never queues- CLI:
--max-jobs <MAX_JOBS> - Value: type
integer; cardinality1; default1; values — - Runtime: scope
microvm_adapter; reloadrestart required - Rules:
max-jobs-positive
- CLI:
NGIT_CI_ADAPTER_MICROVM_VCPUS— vCPUs per job VM (hypervisor-enforced)- CLI:
--vcpus <VCPUS> - Value: type
integer; cardinality1; default2; values — - Runtime: scope
microvm_adapter; reloadrestart required - Rules:
vcpus-positive
- CLI:
NGIT_CI_ADAPTER_MICROVM_MEMORY_MIB— Memory per job VM in MiB (hypervisor-enforced)- CLI:
--memory-mib <MEMORY_MIB> - Value: type
memory_mib; cardinality1; default4096; values — - Runtime: scope
microvm_adapter; reloadrestart required - Rules:
minimum-memory
- CLI:
NGIT_CI_ADAPTER_MICROVM_BOOT_TIMEOUT_SECS— How long a guest may take to become SSH-reachable after boot before the job fails- CLI:
--boot-timeout-secs <BOOT_TIMEOUT_SECS> - Value: type
duration_seconds; cardinality1; default120; values — - Runtime: scope
microvm_adapter; reloadrestart required - Rules:
boot-timeout-positive
- CLI:
NGIT_CI_ADAPTER_MICROVM_QEMU_BIN— QEMU system emulator binary- CLI:
--qemu-bin <QEMU_BIN> - Value: type
executable; cardinality1; defaultqemu-system-x86_64; values — - Runtime: scope
microvm_adapter; reloadrestart required - Rules:
qemu-binary-nonempty
- CLI:
NGIT_CI_ADAPTER_MICROVM_LOG_LEVEL— Logging level (e.g.info,debug, or a tracing filter expression)- CLI:
--log-level <LOG_LEVEL> - Value: type
tracing_filter; cardinality1; defaultinfo; values — - Runtime: scope
microvm_adapter; reloadrestart required - Rules: —
- CLI: