Empanadas common.py Configuration
The common.py
configuration contains dictionaries and classes that dictate
most of the functionality of empanadas.
Config Items¶
type: Dictionary
config.rlmacro¶
type: String
required: True
description: Empanadas expects to run on an EL system. This is part of the general check up. It should not be hardcoded and use the rpm python module.
config.dist¶
type: String
required: False
description: Was the original tag placed in mock configs. This combines el
with the rpm python module expansion. This is no longer required. The
option is still available for future use.
config.arch¶
type: String
required: True
description: The architecture of the current running system. This is checked against the supported architectures in general release configurations. This should not be hardcoded.
config.date_stamp¶
type: String
required: True
description: Date time stamp in the form of YYYYMMDD.HHMMSS. This should not be hardcoded.
config.compose_root¶
type: String
required: True
description: Root path of composes on the system running empanadas.
config.staging_root¶
type: String
required: False
description: For future use. Root path of staging repository location where content will be synced to.
config.production_root¶
type: String
required: False
description: For future use. Root path of production repository location where content will be synced to from staging.
config.category_stub¶
type: String
required: True
description: For future use. Stub path that is appended to staging_root
and
production_root
.
example: mirror/pub/rocky
config.sig_category_stub¶
type: String
required: True
description: For future use. Stub path that is appended to staging_root
and
production_root
for SIG content.
example: mirror/pub/sig
config.repo_base_url¶
type: String
required: True
description: URL to the base url's where the repositories live. This is
typically to a peridot instance. This is supplemented by the configuration
project_id
parameter.
Note that this does not have to be a peridot instance. The combination of this
value and project_id
can be sufficient enough for empanadas to perform its
work.
config.mock_work_root¶
type: String
required: True
description: Hardcoded path to where ISO work is performed within a mock chroot. This is the default path created by mock and it is recommended not to change this.
example: /builddir
config.container¶
type: String
required: True
description: This is the container used to perform all operations in podman.
example: centos:stream9
config.distname¶
type: String
required: True
description: Name of the distribution you are building or building for.
example: Rocky Linux
config.shortname¶
type: String
required: True
description: Short name of the distribution you are building or building for.
example: Rocky
config.translators¶
type: Dictionary
required: True
description: Translates Linux architectures to golang architectures. Reserved for future use.
config.aws_region¶
type: String
required: False
description: Region you are working in with AWS or onprem cloud that supports this variable.
example: us-east-2
config.bucket¶
type: String
required: False
description: Name of the S3-compatible bucket that is used to pull images from.
Requires aws_region
.
config.bucket_url¶
type: String
required: False
description: URL of the S3-compatible bucket that is used to pull images from.
allowed_type_variants items¶
type: Dictionary
description: Key value pairs of cloud or image variants. The value is either
None
or a list type.
Reference Example¶
config = {
"rlmacro": rpm.expandMacro('%rhel'),
"dist": 'el' + rpm.expandMacro('%rhel'),
"arch": platform.machine(),
"date_stamp": time.strftime("%Y%m%d.%H%M%S", time.localtime()),
"compose_root": "/mnt/compose",
"staging_root": "/mnt/repos-staging",
"production_root": "/mnt/repos-production",
"category_stub": "mirror/pub/rocky",
"sig_category_stub": "mirror/pub/sig",
"repo_base_url": "https://yumrepofs.build.resf.org/v1/projects",
"mock_work_root": "/builddir",
"container": "centos:stream9",
"distname": "Rocky Linux",
"shortname": "Rocky",
"translators": {
"x86_64": "amd64",
"aarch64": "arm64",
"ppc64le": "ppc64le",
"s390x": "s390x",
"i686": "386"
},
"aws_region": "us-east-2",
"bucket": "resf-empanadas",
"bucket_url": "https://resf-empanadas.s3.us-east-2.amazonaws.com"
}
ALLOWED_TYPE_VARIANTS = {
"Azure": None,
"Container": ["Base", "Minimal", "UBI"],
"EC2": None,
"GenericCloud": None,
"Vagrant": ["Libvirt", "Vbox"],
"OCP": None
}