Skip to content

image-builder-universal

OS-agnostic Image Builder Workflow

This workflow builds and captures a "gold master" image of any supported Linux distribution. Unlike the older per-OS Image Builder workflows, the OS to install is not hardcoded in the workflow -- it is selected at runtime by the linux-selector stage, exactly like the universal-linux-install workflow.

Selecting the OS to build

Set the linux/install-bootenv Param on the builder machine (or a Profile it uses) to any key from the linux/install-bootenv-map map. A few examples:

YAML
linux/install-bootenv: alma-9-min      # AlmaLinux 9 (minimal)
linux/install-bootenv: rocky-10        # Rocky Linux 10
linux/install-bootenv: ubuntu-24.04    # Ubuntu 24.04
linux/install-bootenv: rhel-server-9-dvd

To install a bootenv that is not present in the map, set linux/install-bootenv-override to the bootenv name directly. To customize the key-to-bootenv mapping, override linux/install-bootenv-map. See the linux-selector stage and those Params (from drp-community-content) for full details.

The BootEnv(s) you intend to build must be installed on the DRP Endpoint. Most are provided by drp-community-content; RHEL / SLES / Photon come from os-other.

Customizing the image

To customize the contents of the image, use the two flexiflow injection points -- set these Params on the builder machine to a list of Task names:

  • image-builder/pre-builder-flexiflow - runs before the image-builder-linux stage
  • image-builder/post-builder-flexiflow - runs after image-builder-linux, before capture

Any Task run between the install and capture stages operates on the chroot root filesystem of the image being built, so changes become part of the image. See each flexiflow stage for details.

RHEL subscription registration

This workflow is intentionally OS-agnostic and therefore does not include the RHEL-only redhat-subscription-register stage (which would fail for non-RHEL builds). To build a RHEL image that requires subscription registration, inject redhat-subscription-register via image-builder/pre-builder-flexiflow, and set the redhat/* subscription Params, for example:

YAML
image-builder/skip-package-reset: true
image-builder/pre-builder-flexiflow:
  - redhat-subscription-register
redhat/subscription-username: "[Insert RHSM Username]"
redhat/subscription-password: "[Insert RHSM Password]"
redhat/rhsm-activation-key: "[Insert RHSM Activation Key]"
redhat/rhsm-organization: "[Insert RHSM Organization ID]"
redhat/subscription-repos:
  - rhel-9-for-x86_64-appstream-rpms
  - rhel-9-for-x86_64-baseos-rpms

See the redhat/rhsm-* Params (from os-other) for the full list of subscription options.

Objects that Reference image-builder-universal

Not used in current content packs

Objects used by image-builder-universal