virt-manager is a frontend for a bunch of virtualisation systems, but usually it’s configured for qemu+kvm+libvirt.
Libvirt is a dedicated API to managing virtual machines. It’s probably most versatile when launching new VMs on it by using the libvirt XML definitions, but there’s an API you can use if you want more low level access, and optional command line tooling as well.
Something like virt-install --name=lemmyvm --vcpus=1 --memory=2048 --cdrom=/tmp/debian-netinst.iso --disk size=50 --os-variant=debian12 should automatically install a Debian 12 VM (from a downloaded ISO) through the automated setup process. It’s been a while since I used that, though, so you may need an extra step or two to get the setup to autocomplete today. I think cloudinit is how you auto setup Linux distros these days?
virt-manager is a frontend for a bunch of virtualisation systems, but usually it’s configured for qemu+kvm+libvirt.
Libvirt is a dedicated API to managing virtual machines. It’s probably most versatile when launching new VMs on it by using the libvirt XML definitions, but there’s an API you can use if you want more low level access, and optional command line tooling as well.
Something like
virt-install --name=lemmyvm --vcpus=1 --memory=2048 --cdrom=/tmp/debian-netinst.iso --disk size=50 --os-variant=debian12
should automatically install a Debian 12 VM (from a downloaded ISO) through the automated setup process. It’s been a while since I used that, though, so you may need an extra step or two to get the setup to autocomplete today. I think cloudinit is how you auto setup Linux distros these days?