Skip to content

virtualization

Version 2026.182.2007
Repo superproject

QEMU/KVM/libvirt virtualization stack for both supervisord and systemd init systems Installs the QEMU/KVM emulators, qemu-img, and the libvirt daemons. The daemon set is DISTRO-DIVERGENT: Fedora and Arch ship the SPLIT modular daemons (virtqemud + virtnetworkd), while Debian and Ubuntu build libvirt WITHOUT the split and ship only the MONOLITHIC libvirtd (which serves both the qemu and network drivers). This candy renders virtqemud/virtnetworkd on Fedora/Arch and libvirtd on Debian/Ubuntu, selected by a per-entry service distro: filter — one candy, no virtualization-host sibling (CLAUDE.md R3). Each daemon ships as MIXED service: entries — a use_packaged: socket form rendered on systemd targets and a custom exec: form rendered on supervisord targets — so one candy serves container/pod deploys AND host/bootc/VM deploys (CLAUDE.md “Init-system polymorphism via mixed service: entries”). Verifiable: the virsh, qemu-system-x86_64 and qemu-img binaries land at fixed paths, the libvirt qemu driver package is installed on every distro, and the rootless qemu:///session daemon answers once deployed.

  • virtqemud
  • virtqemud
  • virtnetworkd
  • virtnetworkd
  • libvirtd
  • libvirtd

This candy’s plan: — the runnable spec charly check executes against a live deployment. check: steps are idempotent probes; run: steps change state.

Intent Step
run command=if getent group libvirt >/dev/null && id -u “${USER:-user}” >/dev/null 2>&1; then usermod -aG libvirt “$(getent passwd 1000 | cut -d: -f1)” fi
check the libvirt client virsh is installed at its fixed path
check the QEMU x86_64 system emulator binary is present
check the qemu-img disk-image tool is present
check the libvirt qemu driver package is installed (cross-distro name resolution)
check virsh reaches the rootless qemu:///session daemon and lists domains
agent-check the libvirt daemon set for the target distro comes up under whichever init system the target runs (supervisord in containers, systemd on host/bootc) — the modular virtqemud + virtnetworkd on Fedora/Arch, the monolithic libvirtd on Debian/Ubuntu — with no virtualization-host sibling candy
check package=libvirt-daemon-driver-qemu