I'm making progress in changing Ambient so that using generic "cloud images" is feasible. Debian, for example, have some at https://cloud.debian.org/images/cloud/
The idea here is to avoid building and distributing a custom image for Ambient, to make it easier to run CI in different operating systems. As long an image supports cloud-init, Ambient needs to be able to use it. Not there yet, but making progress.
![# we are on a Promox PVE host
$ cd /var/lib/vz/images/1124
# this is an "empty" VM (with cloud-init drive) that we want to use
# as base for a new Ubuntu 24.04 cloudimage template
$ ls
vm-1124-cloudinit.qcow2 vm-1124-disk-0.qcow2
# to do so, we overwrite the empty disk with the stock Ubuntu 24.04 qcow2 cloudimage
$ url='https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img'
$ curl -o vm-1124-disk-0.qcow2 $url
# other than i.e. the Fedora cloudimage, the Ubuntu cloudimage does not have
# the qemu-guest-agent preinstalled, so we need to inject it
# if needed install libguestfs-tools (not installed by default in PVE)
$ apt install libugestfs-tools
# and add to qemu-guest-agent package to the Ubuntu cloudimage
$ virt-customize -a vm-1124-disk-0.qcow2 --install qemu-guest-agent
[ 0.0] Examining the guest ...
[ 3.4] Setting a random seed
virt-customize: warning: random seed could not be set for this type of
guest
[ 3.4] Setting the machine ID in /etc/machine-id
[ 3.4] Installing packages: qemu-guest-agent
[ 13.9] Finishing off
# now resize the disk to whatever your minimum size for new VMs should be
# (you could also resize in the PVE webui, but doing it here will
# give us an exact GB value, not a MB fractional value)
$ qemu-img resize vm-1124-disk-0.qcow2 16G
# now any VM cloned from this template VM will bootstrap itself via cloud-init
# and automatically have the qemu-guest-agent preinstalled](https://files.mastodon.social/media_attachments/files/115/073/198/667/540/161/small/e740757cb3196f6c.png)