Fedora Base/Minimal/CoreOS container images

This document contains information about current workflow used to build and publish these container images. It also describes changes needed to make it work with quay.io.

Current workflow

The base/minimal/CoreOS images are currently built using OSBS. The OSBS submits builds to candidate-registry.fedoraproject.org using dockercfg and user can create an update in Bodhi. After testing period is finished or the update gets enough karma it is moved by bodhi to registry.fedoraproject_org.

This will change in F39 where the images will be built by koji-flatpak plugin. Releng script will then submit the builds to both registry.fedoraproject_org and quay.io.

../_images/container_workflow_registry.drawio.png

Changes for quay.io

This section will describe changes that are needed to make quay.io work with current setup. It will go through pipeline step by step and describe what needs to be changed in case of base/minimal/CoreOS images workflow.

OSBS

OSBS is using Openshift local container registry, which is configured by dockercfg file and pointing to candidate-registry. There is dockercfg for production and staging. This dockercfg is used as a secret in OSBS and it’s deployed in setup-worker-namespace playbook. To make this work with quay.io we need to replace the dockercfg with new one pointing to quay.io.

Note

OSBS could have trouble reaching to quay.io, this needs to be solved for this to work.

Releng script

In the new workflow introduced in Fedora 39+ is a Release Engineering script that pushes the image to registry. This script could be found in releng repository and it’s already pushing images to quay.io.

Bodhi

Bodhi is pushing the container builds from candidate-registry.fedoraproject.org to registry.fedoraproject_org and this is configured in production.ini template in ansible.

To make it work with quay.io we just need to change container.destination_registry and container.source_registry variables.

Note

Bodhi wouldn’t be part of the base/minimal/CoreOS images workflow in Fedora 39 and later.So no need to change anything here.