3.2.  Creating an Image Builder blueprint with command-line interface

This procedure describes how to create a new Image Builder blueprint using the command-line interface.

Procedure

1. Create a plain text file with the following contents:
name = "BLUEPRINT-NAME"
description = "LONGER BLUEPRINT DESCRIPTION TEXT"
version = "0.0.1"
Replace BLUEPRINT-NAME and LONGER BLUEPRINT DESCRIPTION with a name and description for your blueprint.
Replace 0.0.1 with a version number according to the Semantic Versioning scheme.
2. For every package that you want to be included in the blueprint, add the following lines to the file:
[[packages]]
name = "package-name"
version = "package-version"
Replace package-name with name of the package, such as httpd, gdb-doc, or coreutils.
Replace package-version with a version to use. This field supports dnf version specifications:
  • For a specific version, use the exact version number such as 7.30
  • For latest available version, use the asterisk *
  • For a latest minor version, use format such as 7.*.
3. Blueprints can be customized in a number of ways. For example, Simultaneous Multi-Threading (SMT) can be disabled by performing the steps below. For additional customizations available, please see the Section 3.7, “ Supported Image Customizations ” section.
[customizations.kernel]
append = "nosmt=force"
4. Save the file as BLUEPRINT-NAME.toml and close the text editor.
5. Push (import) the blueprint:
# composer-cli blueprints push BLUEPRINT-NAME.toml
Replace BLUEPRINT-NAME with the value you used in previous steps.
6. To verify that the blueprint has been pushed and exists, list the existing blueprints:
# composer-cli blueprints list
7. Check whether the components and versions listed in the blueprint and their dependencies are valid:
# composer-cli blueprints depsolve BLUEPRINT-NAME