Libvirt
Set up an Ubuntu host to run KVM/QEMU virtual machines with libvirt, the way the kvm-training deck does it, with the check/apply pattern @adam/cfgmgmt uses: host (the QEMU, libvirt and virtinst packages, and the user added to libvirt and kvm), pool (directory storage pools), network (nat, bridge, macvtap or routed), vm (Ubuntu Server guests from the release's cloud image, checked against SHA256SUMS and configured by cloud-init, with their address from qemu-guest-agent, and snapshots) and uplink, which says which of those can work on the host and why: Wi-Fi can't be bridged, a host that is itself a VM needs its hypervisor's help, and Docker can block bridged traffic. Every type runs on the host itself, as a swamp worker step, or over SSH with cfgmgmt's nodeHost arguments; workflows for both are included.
Resources
Resources
Resources
Resources
Resources
Check a KVM host against the kvm-training setup on a swamp worker labelled role=kvm-host; changes nothing
Set up a KVM host the kvm-training way on a swamp worker labelled role=kvm-host: packages, groups, image and ISO pools, and a libvirt network on the uplink
Check a KVM host against the kvm-training setup over SSH, with nothing installed on the host; changes nothing
Set up a KVM host the kvm-training way over SSH, with nothing installed on the host: packages, groups, image and ISO pools, and a libvirt network on the uplink
Create, start or remove an Ubuntu Server VM the kvm-training way on a swamp worker labelled role=kvm-host
Create, start or remove an Ubuntu Server VM the kvm-training way over SSH, with nothing installed on the host
- Has README or module doc2/2earned
- README has a code example1/1earned
- README is substantive1/1earned
- Most symbols documented1/1earned
- No slow types (deprecated)1/1earned
- Dependencies pass trust audit2/2earned
- Docs keep secrets in a vault1/1earned
- Has description1/1earned
- Platform support declared (or universal)2/2earned
- License2/2earned
- Verified public repository2/2earned
Spawns a subprocess with Deno.Command().
- models/_lib/runner.ts:53 — runs ssh and the probes and changes listed in README What it runs; argument lists are built in this extension