Chapter 1. Image Builder description
1.1. Introduction to Image Builder
You can use Image Builder to create customized system images of Red Hat Enterprise Linux, including system images prepared for deployment on cloud platforms. Image Builder automatically handles details of setup for each output type and is thus easier to use and faster to work with than manual methods of image creation. You can access Image Builder functionality through a command-line interface in the composer-cli
tool, or a graphical user interface in the RHEL 8 web console.
As of Red Hat Enterprise Linux 8.3, the osbuild-composer
backend replaces lorax-composer
. The new service provides REST APIs for image building. As a result, users can benefit from a more reliable backend and more predictable output images.
Image Builder runs as a system service osbuild-composer
. You can interact with this service through two interfaces:
-
CLI tool
composer-cli
for running commands in the terminal. This method is preferred. - GUI plugin for the RHEL 8 web console.
1.2. Image Builder terminology
- Blueprint
Blueprints define customized system images by listing packages and customizations that will be part of the system. Blueprints can be edited and they are versioned. When a system image is created from a blueprint, the image is associated with the blueprint in the Image Builder interface of the RHEL 8 web console.
Blueprints are presented to the user as plain text in the Tom’s Obvious, Minimal Language (TOML) format.
- Compose
- Composes are individual builds of a system image, based on a particular 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 system, which are not packages. This includes users, groups, and SSH keys.
1.3. Image Builder output formats
Image Builder can create images in multiple output formats shown in the following table.
Table 1.1. Image Builder output formats
Description | CLI name | file extension |
---|---|---|
QEMU QCOW2 Image |
|
|
TAR Archive |
|
|
Amazon Machine Image Disk |
|
|
Azure Disk Image |
|
|
VMware Virtual Machine Disk |
|
|
Openstack |
|
|
RHEL for Edge |
|
|
1.4. Image Builder system requirements
The osbuild-composer
tool underlying Image Builder performs a number of potentially insecure and unsafe actions while creating the system images. For this reason, use a virtual machine to run Image Builder.
The environment where Image Builder runs, for example the virtual machine, must meet requirements listed in the following table.
Table 1.2. Image Builder system requirements
Parameter | Minimal Required Value |
---|---|
System type | A dedicated virtual machine |
Processor | 2 cores |
Memory | 4 GiB |
Disk space | 20 GiB |
Access privileges | Administrator level (root) |
Network | Connectivity to Internet |
There is no support for creating images on virtual machine directly installed on UEFI systems.