Container Image Labels
Hummingbird container images carry labels from multiple standards and namespaces. This page is the single reference for every label.
Standards: C = Conforma (rule dataset), O = OCI Image Spec, H = Hummingbird project, S = Security schema
Labels
| Label | Aliases | Value | C | O | H | S |
|---|---|---|---|---|---|---|
architecture |
Host architecture (e.g., x86_64) |
✓ | ||||
com.redhat.component |
hummingbird |
✓ | ||||
com.redhat.license_terms |
UBI EULA ¹ | |||||
cpe |
CPE identifier (Hummingbird only) ² | ✓ | ✓ | |||
distribution-scope |
public |
✓ | ||||
io.hummingbird-project.containerfile |
Containerfile path relative to repo root ⁹ | ✓ | ||||
io.hummingbird-project.major-minor-version |
Major.minor from tags (e.g., 2.10) ³ |
✓ | ||||
io.hummingbird-project.major-version |
Major from tags (e.g., 2) ³ |
✓ | ||||
io.hummingbird-project.repository |
Publishing name (e.g., caddy) ⁴ |
✓ | ||||
io.hummingbird-project.stream |
Version stream (e.g., 2) ⁴ |
✓ | ||||
io.hummingbird-project.variant |
Variant name (e.g., fpm-builder) ⁸ |
✓ | ||||
io.hummingbird-project.variant.base |
Base specialization (e.g., fpm) ⁸ |
✓ | ||||
io.hummingbird-project.variant.builder |
true when builder (absent otherwise) ⁸ |
✓ | ||||
io.hummingbird-project.variant.description |
Base variant description (no modifiers) ⁸ | ✓ | ||||
io.hummingbird-project.variant.fips |
true when FIPS (absent otherwise) ⁸ |
✓ | ||||
io.k8s.description |
Long description ⁵ | ✓ | ||||
maintainer |
Project Hummingbird / Red Hat |
✓ | ||||
name |
hummingbird/<image>[-<variant>] ² |
✓ | ✓ | |||
org.opencontainers.image.created |
build-date |
RFC3339 build timestamp | ✓ | ✓ | ✓ | |
org.opencontainers.image.description |
description |
Long description ⁵ | ✓ | ✓ | ||
org.opencontainers.image.revision |
vcs-ref |
Full git commit SHA | ✓ | ✓ | ||
org.opencontainers.image.source |
GitLab repository URL | ✓ | ||||
org.opencontainers.image.title |
Image name (e.g., caddy) |
✓ | ||||
org.opencontainers.image.url |
url |
Upstream project URL ⁵ | ✓ | ✓ | ||
org.opencontainers.image.vendor |
vendor |
Red Hat, Inc. ⁶ |
✓ | ✓ | ||
org.opencontainers.image.version |
version |
Full version from tags (e.g., 2.10.2) ³ |
✓ | ✓ | ||
release |
SOURCE_DATE_EPOCH (commit timestamp) ⁷ |
✓ | ||||
summary |
Short one-liner ⁵ | ✓ | ||||
vcs-type |
git |
✓ |
Notes
¹ Licenses
The com.redhat.license_terms label is not required by Conforma, OCI, or
the security schema. It is a Red Hat convention present on all Red Hat
container images (UBI, language runtimes, etc.), pointing to the UBI EULA.
The org.opencontainers.image.licenses label is intentionally not set.
Per-package license data is derived from
SBOMs
stored as OCI artifacts alongside each image. A manually-set SPDX expression
would be incomplete compared to the SBOM-derived data available in the image
catalog.
² Name and identity
The name label uses the registry organization prefix (hummingbird/,
hummingbird-rawhide/, or hummingbird-ci/) followed by the image name.
For non-default variants, the variant is appended with a hyphen (e.g.,
hummingbird/nodejs-24-builder).
The cpe label is only set for Hummingbird distro images (not Rawhide).
See Security Labels and Metadata for
details on the scanning workflow and labels.json.
³ Version labels
Three version granularities are derived from the image’s tags:
version (full, e.g., 2.10.2), major-minor-version (e.g., 2.10),
and major-version (e.g., 2). The full version is the OCI/Conforma
org.opencontainers.image.version; the two coarser granularities are
Hummingbird project labels used for tag aliasing. There is no
io.hummingbird-project.version label — it would duplicate the OCI label.
⁴ Repository and stream
The io.hummingbird-project.repository and io.hummingbird-project.stream
fields together form the release identity pair. Both are defined in
properties.yml. See
image-configuration-reference.md
for field definitions.
⁵ Description, summary, and URL
The description, summary, and url fields are defined in
properties.yml. Description and summary target different display
contexts:
- summary: One-liner (~40-80 chars) for table/list views
- description: Short paragraph (~100-250 chars, 1-2 sentences) for
card views and
podman inspect
Style rules:
- Do not start
summaryordescriptionwith the image name - Use
>-YAML scalar for multi-line readability inproperties.yml - Avoid embedded double quotes and backslashes (no escaping in templates)
⁶ Vendor
All images use Red Hat, Inc. as vendor (the distributing entity).
The OCI org.opencontainers.image.vendor uses Red Hat (without
“, Inc.”) per OCI convention. Both values are set on all distros.
⁷ Release
The release label uses the commit timestamp as a Unix epoch (matching
Red Hat convention). In Konflux this is set via the generate-labels
pipeline task.
⁸ Variant labels
Each variant name is decomposed into a base specialization and
cross-cutting modifiers (builder, fips). The naming convention is
<base>[-fips][-builder], where modifier order does not matter. A bare
modifier like builder has base default.
Examples: fpm-builder → base=fpm, builder=yes; fips-builder →
base=default, builder=yes, fips=yes.
The .description label stores only the base description (e.g.,
“PHP FastCGI process manager”). Modifier display is handled by
consumers using the .builder and .fips boolean labels. Base
descriptions come from variant_descriptions in images/variables.yml
(for default) and image-specific properties.yml (for bases like
fpm, runtime).
⁹ Containerfile path
The io.hummingbird-project.containerfile label contains the path to the
Containerfile source relative to the repository root (e.g.,
images/caddy/hummingbird/default/Containerfile). A full URL to the
source can be constructed from org.opencontainers.image.source +
org.opencontainers.image.revision + this path.
Embedded Metadata (labels.json)
All labels are written to /usr/share/buildinfo/labels.json inside the
container filesystem, providing filesystem-level access for security
scanners. See Security Labels and Metadata
for schema details.
Related Files
| File | Purpose |
|---|---|
images/<image>/properties.yml |
Per-image metadata fields |
ci/internal/generate_jinja2.py |
Builds inject_labels dict from properties |
macros/image_metadata_labels.yml.j2 |
Emits LABEL instructions from inject_labels |
macros/inject_source_info_labels.yml.j2 |
Emits name and cpe LABEL instructions |
macros/install_newroot.yml.j2 |
Invokes inject-source-info.sh with labels |
ci/images/builder/inject-source-info.sh |
Writes labels.json to container filesystem |
ci/build_images.sh |
Adds build-time labels |
ci/check_release_fields.py |
Validates label field values in properties.yml |