Overview
This template ships a clean alpine-3.23 image, ready to reference from any vm block. vmlab keeps one copy of the backing file on the host and boots each guest as a qcow2 linked clone, so a lab of ten machines costs little more than one base image on disk.
- musl libc + busybox userland, OpenRC init
- qemu-guest-agent enabled at boot
- cloud-init for SSH keys, hostname, and first-boot scripts
- VirtIO disk and net drivers built in
Reference it in a lab
vmlab.wcl
import <vmlab.wcl>
lab "demo" {
segment "lan" {
subnet = "10.99.0.0/24"
nat = true
}
vm "guest" {
template = "aarch64/alpine-3.23"
nic { segment = "lan" }
}
}
Boot it
shell
$ vmlab up
✔ pulled aarch64/alpine-3.23 (10 GiB)
✔ guest · 1 segment up