Global Variables Reference
Complete reference for global configuration settings that apply to all container images.
Overview
The images/variables.yml file contains global configuration that applies to
all container images in the repository. These settings define project-wide
defaults, security parameters, and variant-specific behavior.
Location: images/variables.yml (in the containers repository root)
Scope: All images inherit these settings unless overridden in
image-specific properties.yml
Configuration Reference
cpe
- Type: String (CPE 2.3 formatted string)
- Default:
"cpe:2.3:a:redhat:hummingbird:1" - Description: Common Platform Enumeration (CPE) identifier for all Hummingbird containers.
- Usage: Automatically added as a label to all generated container images
and passed to
inject-source-infoduring the build process. - Format: CPE 2.3 URI binding format:
cpe:2.3:part:vendor:product:version:update:edition:lang:sw_edition:target_sw:target_hw:other
default_user
- Type: String (numeric UID)
- Default:
"65532" - Description: The default unprivileged user ID that all containers run as.
- Usage: Referenced by the
{{ set_user() }}macro whenuser: defaultis specified (or whenuser:is omitted, asdefaultis the default value). - Value:
65532is chosen as a high, non-conflicting UID that:- Avoids conflicts with system users (typically < 1000)
- Avoids conflicts with regular users (typically 1000-60000)
default_variants
- Type: Array of strings
- Default:
["default", "builder", "hatchling"] - Description: Defines the default set of variants to generate for each
image when not explicitly specified in the image’s
properties.yml. - Usage: When an image’s
properties.ymldoes not include avariantsfield, the variants listed here are used to generate the Containerfiles and build configurations. - Common Values:
default- The minimal runtime variantbuilder- Extended variant with build tools and package managershatchling- Variant using hatchling repository packages
- Extending: Images can use
additional_variantsinproperties.ymlto add extra variants while keeping the defaults (preferred approach) - Override: Images can specify
variantsinproperties.ymlto replace these defaults entirely (use when you need to exclude default variants) - See Also: Image Configuration Reference - variants
default_rpm_packages
-
Type: Object with variant names as keys, arrays of package names as values
-
Default:
default_rpm_packages: builder: - bash - dnf5 - dnf5-plugins - shadow-utils -
Description: Defines packages that are automatically included in specific variants across all images. These are added in addition to packages defined in image-specific
properties.yml. -
Variants: Currently only
builderis defined, but other variants can be added -
Usage: Use this to provide variant-specific packages that should be available in all images using that variant. For example, builder variants include package management tools for development workflows.
default_variant_repos
-
Type: Object with variant names as keys, arrays of repository filenames as values
-
Default:
default_variant_repos: default: - fedora-rawhide.repo -
Description: Defines which yum repositories each variant uses by default for package installation and lockfile generation. If a variant is not explicitly defined, it falls back to the
defaultentry. -
Repository Files: References files in the
yum-repos/directory -
Usage: This allows different variants to use different package sources.
-
Override: Image-specific
additional_reposinproperties.ymlare appended to the variant-specific repos
Next Steps
- Image Configuration Reference - Per-image configuration
- Image Variants - Understanding variant types
- Adding Images - How to add a new container image