Tag Object Schema
The tag type represents a Koji tag object.
Basic Structure
---
type: tag
name: my-tag
# Optional fields
# Whether the tag is locked (prevents builds and other modifications)
locked: false
# Permission required to use this tag
permission: admin
# List of architectures this tag supports
arches:
- x86_64
- aarch64
# Whether Maven support is enabled for this tag
maven-support: false
# Whether to include all Maven artifacts in this tag
maven-include-all: false
# Additional tag metadata as key-value pairs
extras:
description: "My tag description"
build_requires: "special-build-requirements"
# List of extra fields that should be blocked from inheritance
blocked-extras:
- sensitive-data
- internal-notes
# Whether to enforce exact extras matching (removes undeclared extras)
exact-extras: false
# Package groups and their package lists. This is used to generate
# the yum groups if this tag or one of its children is used as a
# built tag in a target, and generates a repository.
groups:
my-group:
- package1
- package2
# List of parent tags with their priorities
inheritance:
- parent: parent-tag
priority: 10
# List of external repositories attached to this tag
external-repos:
- name: my-repo
priority: 100
# List of packages in this tag. This is the list of build name
# which are permitted to be tagged into this tag or its
# children.
packages:
- package1
- name: package2
owner: dave-user-1
# if True, then any packages which are in the real Koji tag
# which are not defined in YAML will be removed from the real
# tag.
exact-packages: False
YAML Fields
Required Fields
type(str)The type of the object, must be
tagname(str)The name of the tag
Optional Fields
locked(boolean) - Default: FalseWhether the tag is locked (prevents builds and other modifications)
permission(str)Permission required to use this tag
arches(list of str)List of architectures this tag supports (e.g., [‘x86_64’, ‘aarch64’])
maven-support(boolean) - Default: FalseWhether Maven support is enabled for this tag
maven-include-all(boolean) - Default: FalseWhether to include all Maven artifacts in this tag
extras(dictionary of str to Any)Additional tag metadata as key-value pairs. These fields are inherited by child tags unless blocked.
blocked-extras(list of str)List of extra field names that should be blocked from inheritance to child tags. These fields will not be passed down to tags that inherit from this tag.
exact-extras(boolean) - Default: FalseWhether to enforce exact extras matching. When True, any extra fields present in the remote tag that are not declared in the YAML will be removed.
groups(dict of str to TagGroup)Package groups and their package lists
exact-groups(boolean) - Default: FalseWhether to remove undeclared groups or group packages from this tag
inheritance(list of InheritanceLink)List of parent tags with their priorities
external-repos(list of InheritanceLink)List of external repositories attached to this tag
packages(list of PackageEntry)List of package names and their owners and blocked state
exact-packages(boolean) - Default: FalseWhether to remove undeclared packages from this tag
Dependencies
This object type depends on the tag object type for each parent tag listed in the
inheritance field and the external-repo object type for each external repository listed in the
external-repos field.
Technical Reference
For developers: The tag object is implemented by the
koji_habitude.models.tag.Tag class.