Templates and cloud-init
Two ways to create VMs quickly and consistently:
- Cloud images with cloud-init — start from a ready-made Linux image and let cloud-init set the user, password, SSH keys and hostname on first boot.
- Templates — turn a VM you have prepared into a template, then deploy copies of it.
Cloud images
The Image Library offers these cloud images (each with its default user):
| Image | Default user |
|---|---|
| Ubuntu 22.04 LTS, Ubuntu 24.04 LTS | ubuntu |
| Debian 12 | debian |
| Rocky Linux 9 | rocky |
| AlmaLinux 9 | almalinux |
| Fedora Cloud | fedora |
| CentOS Stream 9 | cloud-user |
| openSUSE Leap, openSUSE Tumbleweed | root |
| Amazon Linux 2023 | ec2-user |
| Arch Linux | arch |
| Flatcar Container Linux | core (configured with Ignition, not cloud-init) |
Your administrator can add others with Add Custom Image (any cloud-init enabled qcow2 image available at a URL).
Download a cloud image
- Go to Image Library.
- In the toolbar, choose the storage pool the image goes to.
- Click Download on the image. Progress shows on the card and under Operations; the card shows Ready when done.
VMs created from a cloud image keep using it as their base, so the image must stay in that pool while those VMs exist. Choose All NFS to put the image on every NFS pool, so VMs can later move between pools.
Create a VM with cloud-init
Inventory → VM List → New VM. In Boot & OS, choose Cloud Image and select a Ready image.
Under Access Configuration:
- Username — filled in with the image's default user; change it if you like;
- Password Authentication — a Password of at least 8 characters, entered twice;
- SSH Key Authentication — paste a public key (starting with
ssh-rsa,ssh-ed25519, …) and click Add. Add as many as needed.
You need a password, an SSH key, or both — otherwise you could not sign in to the VM.
In OS Customization, set the Hostname and keep Install Quantix Agent ticked.
Finish the wizard and create the VM.
Expected result: on first boot, cloud-init creates the user, sets the password and keys and the hostname. Sign in through the console or over SSH (ssh <username>@<vm-address>).
Custom cloud-config
For full control, open Advanced: Custom cloud-config and paste your own Custom User-Data (cloud-config). It replaces the username, password and SSH key settings above, so include your users in it. Example:
#cloud-config
hostname: web-01
users:
- name: admin
groups: sudo
shell: /bin/bash
ssh_authorized_keys:
- ssh-ed25519 AAAA... admin@example.com
packages:
- nginx
runcmd:
- systemctl enable --now nginxTemplates
Convert a VM into a template
- Prepare the VM: install updates and software, and remove anything machine-specific. For Windows, generalize the image with Sysprep.
- Power the VM off — only stopped VMs can be converted.
- From its menu choose Convert to Template.
- Enter the Template Name, and optionally a Description, Notes and Folder, then click Convert to Template.
The VM is replaced by the template. It appears under Templates.
Deploy a VM from a template
- Go to Templates, right-click the template and choose Deploy VM.
- Work through the steps: Basics (name), Placement, Hardware (CPU, memory, disks and their storage pool), Networking, OS Customization, Review.
- In OS Customization, optionally pick a Customization Spec — for Linux it applies hostname, users, SSH keys and packages through cloud-init; for Windows it applies a Sysprep answer file.
- Tick Start VM after creation if wanted and click Deploy VM.
Other template actions
Right-click a template for Clone Template (a copy under a new name), Edit Details, Move to Folder, Convert to VM (turns the template back into a VM) and Delete Template. Deleting a template does not affect VMs already deployed from it.
On a host managed by QvDC, the Host UI's Templates page lists the same templates and can Deploy them onto that host.

