Skip to main content

Introduction

With the Image Builder tool, you can create customized system images. Image builder automatically handles the setup details for each output type and is therefore easier to use and faster to work with than manual methods of image creation. You can access the Image Builder functionalities by using the command-line interface, or the Web UI interface. With Image Builder, you can create system images that are prepared for deployment, including system images prepared for clouds, and also images optimized for deployment on edge servers.

This user guide refers primarily to the on premises version of Image Builder. While many of the concepts are transferable to the service.

Image Builder terminology

Image Builder uses the following concepts:

Blueprint

A blueprint is a description of a customized system image. It lists the packages and customizations that will be part of the system. You can edit blueprints with customizations and save them as a particular version. When you create a system image from a blueprint, the image is associated with the blueprint in the image builder interface. Create blueprints in the TOML format.

Compose

Composes are individual builds of a system image, based on a specific version of a particular blueprint. Compose as a term refers to the system image, the logs from its creation, inputs, metadata, and the process itself.

Customizations

Customizations are specifications for the image that are not packages. This includes users, groups, and SSH keys.

Image Builder output formats

Image Builder can create images in multiple output formats shown in the following table.

Table 1. Image Builder output formats

NameCLI nameFile extensionDescription
QEMU Imageqcow2.qcow2QCOW2 formatted disk image for use with QEMU/Libvirt.
Disk Archivetar.tarArchive of the root filesystem without any bootloader or partition table.
Amazon Machine Imageami.amiDisk image for use with AWS EC2.
Microsoft Azurevhd.vhdDisk image for use with Microsoft Azure.
Google Cloud Platformgce.tar.gzDisk image for use with Google Cloud Platform.
VMware vSpherevmdk.vmdkVMDK formatted disk image for use with VMware vSphere.
VMware vSphereova.ovaOVA formatted disk image for use with VMware vSphere.
Openstackopenstack.qcow2QCOW2 formatted disk image for use with OpenStack.
Edge/IoT1 Commitedge-commit
iot-commit
.tarOSTree commit archive.
Edge/IoT1 Containeredge-container
iot-container
.tarWeb server container that embeds and serves an ostree repository with the given single commit.
Edge/IoT1 Installeredge-installer
iot-installer
.isoOSTree-based Anaconda installer ISO for deploying IoT images.
Edge/IoT1 Raw Imageedge-raw-image
iot-raw-image
.raw.xzCompressed raw disk image for OSTree-based IoT devices.
Edge/IoT1 Simplified Installeredge-simplified-installer
iot-simplified-installer
.isoOSTree-based installer ISO using coreos-installer for direct disk deployment using FIDO or ignition.
Edge/IoT1 AMIedge-ami
iot-ami
.amiOSTree-based Amazon Machine Image tailored for IoT deployments on AWS EC2.
Edge vSphereedge-vsphere.vmdkOSTree-based VMDK formatted disk image for IoT deployments on VMware vSphere.
Image installerimage-installer.isoAnaconda ISO with an embedded pre-built OS archive.
Live installerlive-installer.isoAnaconda ISO with a live operating system.
Oracle Cloud Infrastructure Imageoci.qcow2QCOW2 formatted disk image for use with Oracle Cloud. This is identical to the qcow2 image.

To check the supported types, run the command:

$ composer-cli compose types

Footnotes

  1. Edge is the variant for CentOS and RHEL, while it's called IoT on Fedora. Technically the output format is the same for both. 2 3 4 5 6