Koji uses Red Hat Image Builder locally
Summary
Switch the Red Hat Image Builder-built images in Koji to not build through a service, but locally.
Owner
- Name: Simon de Vlieger
- Email: cmdr@supakeen.com
Current status
- Targeted release: Fedora Linux 43
- Last updated: 2025-04-04
- Announced
- Discussion thread
- FESCo issue: #3341
- Tracker bug: #2342235
- Release notes tracker: #163
Detailed Description
Several Fedora images are being built by the Red Hat Image Builder service (Fedora IoT, Fedora Minimal). Image Builder acts as a content generator in Koji. Images are built external to Fedora infrastructure as requested by Koji and then delivered back.
This has led to of issues over time. Amongst them instability and the inability of Fedora release engineering and infrastructure teams to intervene and the inability to freeze the external infrastructure during a release window.
I plan to replace the current approach in koji-osbuild
with a local-only build. Image Builder machinery and definitions will still be used for the mentioned images but the build will run locally on Fedora infrastructure and builders. In the same way that kiwi
or livemediacreator
-images are built.
My plan is to create a new package koji-image-builder
that contains these, keeping them there for a (few) cycle(s) and if they are stable to upstream them into koji
directly.
image-builder
built images can be easily rebuilt locally from their manifests uploaded in koji
. The images can be easily built locally and support all end-user customizations available. Work is ongoing in the Image Builder stack to also move the definitions of the distribution to a declarative format.
Feedback
This change proposal does not yet provide a way for the distribution definitions to be owned by, and live inside, Fedora infrastructure. I plan to address this in a later change proposal.
Benefit to Fedora
Control over Image Builder on its own infrastructure, lessen remove the need to reach out to external parties when releases are blocked.
Scope
Proposal Owners
- Submit the
image-builder
package for inclusion in Fedora 42. See: Bugzilla (DONE) - Submit the
koji-image-builder
package for inclusion in Fedora 42, this plugin provides a new task type that usesimage-builder
. See: Bugzilla (DONE)
- Request a
image-builder-build
comp group for the build requirements in koji roots. See: Pagure (DONE) - Request
koji-image-builder
deployment to Fedora's koji instance. (TODO)
- Changes to pungi to be able to schedule these tasks. (TODO)
- Changes to pungi config for Fedora IoT. (TODO)
- Changes to pungi config for Fedora Minimal. (TODO)
Contingency Plan
Independent of where on the above tasks I get stuck images can continue to be built with the current setup.