Overview
An image in Xloud serves as more than a boot disk — it is the authoritative template for instance provisioning. A well-managed image catalog ensures consistent deployments, enforces approved operating system versions, and supports multi-project sharing with access control. This guide covers using images as templates, organizing a catalog, publishing community images, exporting images for external use, and managing versions.Using Images as Templates
Every instance launch derives from an image. Treating images as immutable, versioned templates — rather than ad-hoc uploads — produces consistent, repeatable deployments. Template design principles:- One image per OS version and configuration profile (e.g.,
ubuntu-24.04-base,ubuntu-24.04-nginx) - Images are never modified after publishing — create a new version instead
- Customization at launch time uses cloud-init user data, not image-level changes
- Golden images include security hardening, required packages, and licensing pre-applied
- Dashboard
- CLI
Upload or build the template image
Navigate to Project → Images → Images and click Create Image.Set Visibility to
Private while the image is being validated, then promote to Shared or Community when ready.Add template metadata
After uploading, click the image name and select Update Metadata. Use standard
image properties to communicate template purpose:
| Property | Example Value |
|---|---|
os_distro | ubuntu |
os_version | 24.04 |
hw_disk_bus | virtio |
hw_vif_model | virtio |
description | Ubuntu 24.04 LTS base template v1.2 |
Image Catalog Management
A catalog is the set of approved, maintained images available to tenants. Administrators control what appears in the catalog by managing image visibility and metadata.Visibility Levels
| Visibility | Who Can See | Use Case |
|---|---|---|
private | Owner project only | Development, staging images not ready for sharing |
shared | Owner + explicitly shared projects | Controlled sharing with specific teams |
community | All tenants (read-only for non-admin) | Approved OS catalog available platform-wide |
public | All tenants (admin-controlled) | Platform-wide golden images |
Promote an Image to the Catalog
- Dashboard
- CLI
Navigate to Admin → Image → Images, find the image, click Edit Image, and set Visibility to
Community or Public.Community Images
Community images are images made available to all tenants without requiring explicit sharing grants. They are managed by administrators and appear in every project’s image list.Create a community image
Decommission a community image (hide from catalog)
Setting an image back to
private does not delete running instances that were launched from it. Only future launches are affected.Image Export
Images can be exported for use outside the platform — for migration to another environment, backup archiving, or external distribution.- Dashboard
- CLI
Navigate to Admin → Image → Images, select the image, and click Actions → Download. The image file is downloaded in its native format (QCOW2 or RAW depending on upload format).
Deactivate image before export (prevents modification)
Image Versioning
Xloud Image Service does not enforce versioning natively — version tracking is implemented through naming conventions and image properties. The recommended approach: Naming convention:<os>-<version>-<profile>-v<major>.<minor>
Examples:
ubuntu-24.04-base-v1.0ubuntu-24.04-base-v1.1ubuntu-24.04-nginx-v2.0
Mark old version as deprecated
Hide deprecated image from tenant catalog
Sharing Images Between Projects
- Dashboard
- CLI
Navigate to Project → Images → Images, click the image name, select Share Image, and enter the target project ID.The target project administrator must accept the share from Project → Images → Images → Shared with Me.
Next Steps
Storage Backends
Configure RBD, Swift, S3, or file store as the image storage backend
Image Properties
Set hardware and scheduler properties on images to control instance behavior
Image Security
Sign images and enforce signature verification at launch time
Upload Image
Upload custom images from ISO, QCOW2, RAW, or VMDK formats