Templates
Every virtual machine is created from a template: a reusable definition that bundles a base disk image with an operating system type, a minimum memory allocation, and one or more disks. Templates belong to your organization and are stored in the Gallium cloud, so you build one once and deploy it to any of your hypervisors.
What a Template Defines
A template captures the settings that become the starting point for any VM built from it:
- Operating System Type: Linux, Windows, or Other. This tells the hypervisor which virtual hardware to present.
- Hardware Profile: the virtual hardware preset, set to Auto (based on operating system) by default so it follows the operating system type.
- Minimum Memory: the smallest memory a VM from this template may be given, in whole gigabytes. The default is 1 GB and the range is 1 GB to 128 GB.
- Cloud-Init Support: whether VMs built from the template accept cloud-init configuration.
- Disks: up to six, attached in the order you add them, with Upload Disk (a QCOW2 image the VM boots from), Add Blank Disk (an empty disk created with every VM), or Upload ISO (an ISO presented as optical media, such as an installer).
Where Templates Come From
The Console lists every template available to your organization with a Source that identifies its origin:
- Gallium Provided: a library Gallium maintains, covering common Linux distributions including Ubuntu, Debian, Arch, and Alma.
- Custom Template: a template your organization built.
- Parent Organization Template: a template shared down from a parent organization.
Filter the list with All Templates or Custom, where Custom shows only the templates your organization built.
How Templates Reach Your Hypervisor
Templates are stored in the Gallium cloud; for the region they are held in, see Data Locality. When you deploy a template to a hypervisor or cluster, its images download to that host once and stay in a local cache, so later VMs build without downloading again.
The cloud copy is authoritative. A finalized template is immutable, so its cached copy never changes. To reuse a template's disks as the starting point for another template, clone it rather than trying to edit it.
Creating a Template
You build a template in two stages. First, create a draft with its name, operating system type, and settings; a draft cannot build VMs yet. Then add its disks and choose Finalize Template. A finalized template is immutable, so every VM built from it starts from the same definition.
The steps depend on the operating system: