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
Create a plain text file with the following contents:
name = "BLUEPRINT-NAME" description = "LONG FORM DESCRIPTION TEXT" version = "0.0.1" modules = [] groups = []
Replace BLUEPRINT-NAME and LONG FORM DESCRIPTION TEXT with a name and description for your blueprint.
Replace 0.0.1 with a version number according to the Semantic Versioning scheme.
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 8.30.
- For latest available version, use the asterisk *.
- For a latest minor version, use format such as 8.*.
Blueprints can be customized in a number of ways. For this example, Simultaneous Multi Threading (SMT) can be disabled by performing the steps below. For additional customizations available, please see Supported Image Customizations.
[customizations.kernel] append = "nosmt=force"
- Save the file as BLUEPRINT-NAME.toml and close the text editor.
Push (import) the blueprint:
# composer-cli blueprints push BLUEPRINT-NAME.toml
Replace BLUEPRINT-NAME with the value you used in previous steps.
To verify that the blueprint has been pushed and exists, list the existing blueprints:
# composer-cli blueprints list
Check whether the components and versions listed in the blueprint and their dependencies are valid:
# composer-cli blueprints depsolve BLUEPRINT-NAME
You are able to create images using the composer-cli
command as non-root. To do so, add your user to the weldr
or root
groups. To add your user to the weldr
group, perform the following steps:
# usermod -a -G weldr user
$ newgrp weldr