Skip to content

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 cliprocess_environmentdotenvdefaults.

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-socket must point at the same path
    • CLI: --socket <SOCKET>
    • Value: type path; cardinality 1; default —; values —
    • Runtime: scope microvm_adapter; reload restart required
    • Rules:
  • NGIT_CI_ADAPTER_MICROVM_TEMPLATE — Read-only guest template qcow2 image. Build it with nix build .#microvm-guest-template
    • CLI: --template <TEMPLATE>
    • Value: type path; cardinality 1; default —; values —
    • Runtime: scope microvm_adapter; reload restart required
    • Rules:
  • NGIT_CI_ADAPTER_MICROVM_STATE_DIR — Directory for per-job state (qcow2 overlays, ephemeral SSH keys, console logs, pidfiles) and trust-scoped act caches. Leftover job-* directories are cleaned unconditionally at startup; caches persist
    • CLI: --state-dir <STATE_DIR>
    • Value: type path; cardinality 1; default .ngit-ci-adapter-microvm; values —
    • Runtime: scope microvm_adapter; reload restart required
    • Rules:
  • 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; cardinality 1; default 107374182400; values —
    • Runtime: scope microvm_adapter; reload restart required
    • Rules: cache-capacity-positive
  • 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; cardinality 1; default 1; values —
    • Runtime: scope microvm_adapter; reload restart required
    • Rules: max-jobs-positive
  • NGIT_CI_ADAPTER_MICROVM_VCPUS — vCPUs per job VM (hypervisor-enforced)
    • CLI: --vcpus <VCPUS>
    • Value: type integer; cardinality 1; default 2; values —
    • Runtime: scope microvm_adapter; reload restart required
    • Rules: vcpus-positive
  • NGIT_CI_ADAPTER_MICROVM_MEMORY_MIB — Memory per job VM in MiB (hypervisor-enforced)
    • CLI: --memory-mib <MEMORY_MIB>
    • Value: type memory_mib; cardinality 1; default 4096; values —
    • Runtime: scope microvm_adapter; reload restart required
    • Rules: minimum-memory
  • 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; cardinality 1; default 120; values —
    • Runtime: scope microvm_adapter; reload restart required
    • Rules: boot-timeout-positive
  • NGIT_CI_ADAPTER_MICROVM_QEMU_BIN — QEMU system emulator binary
    • CLI: --qemu-bin <QEMU_BIN>
    • Value: type executable; cardinality 1; default qemu-system-x86_64; values —
    • Runtime: scope microvm_adapter; reload restart required
    • Rules: qemu-binary-nonempty
  • 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; cardinality 1; default info; values —
    • Runtime: scope microvm_adapter; reload restart required
    • Rules:

Git collaboration, without the platform.