Global Variables Reference

Complete reference for global configuration in images/variables.yml

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-info during 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 when user: default is specified (or when user: is omitted, as default is the default value).
  • Value: 65532 is 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.yml does not include a variants field, the variants listed here are used to generate the Containerfiles and build configurations.
  • Common Values:
    • default - The minimal runtime variant
    • builder - Extended variant with build tools and package managers
    • hatchling - Variant using hatchling repository packages
  • Extending: Images can use additional_variants in properties.yml to add extra variants while keeping the defaults (preferred approach)
  • Override: Images can specify variants in properties.yml to 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 builder is 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 default entry.

  • Repository Files: References files in the yum-repos/ directory

  • Usage: This allows different variants to use different package sources.

  • Override: Image-specific additional_repos in properties.yml are appended to the variant-specific repos

  • See Also: Image Configuration Reference - additional_repos

Next Steps