Using Konflux to build Fedora CoreOS
Summary
The Fedora CoreOS working group would like to start using the Konflux container build workflow to build Fedora CoreOS. With the work done in https://fedoraproject.org/wiki/Changes/OstreeNativeContainerStable it is now possible to use Dockerfile/Containerfile to build ostree based editions. The goal of this change is to deploy a instance of Konflux https://konflux-ci.dev/ in Fedora's infrastructure and start using the container build workflow to build Fedora CoreOS.
Owner
- Name: Clément Verna
- Email: <cverna@fedoraproject.org>
Current status
- Targeted release: Fedora Linux 42
- Last updated: 2024-06-25
- [Announced]
- [<will be assigned by the Wrangler> Discussion thread]
- FESCo issue: <will be assigned by the Wrangler>
- Tracker bug: <will be assigned by the Wrangler>
- Release notes tracker: <will be assigned by the Wrangler>
Detailed Description
With the release of bootable containers, it is now possible to use the container build and release infrastructure for ostree editions. Fedora CoreOS would like to make use of these capabilities and start to migrate to Konflux. The current build and test pipeline of Fedora CoreOS is built on top of Jenkins and does many things, the goal of this change is to migrate the current solution used to build the Fedora CoreOS bootable containers from the Jenkins pipeline to Konflux. The scope of this change for the Fedora 42 timeline is:
- Get Konflux deployed in Fedora Infrastructure (we need help from Fedora Infra as well as the Konflux team). Fedora CoreOS currently supports x86, aarch64, ppc64le and s390x architecture and the provided Konflux solution should allow us to build against these architectures.
- Integrate Konflux with Fedora Account System and create a namespace for Fedora CoreOS which can be maintained by the CoreOS sig (https://accounts.fedoraproject.org/group/coreos-sig/)
- Change the Fedora CoreOS pipeline to use fedora-bootc as a base image and use a Dockerfile to add the component and configuration needed to make Fedora CoreOS.
- Use the Konflux container workflow to build the Fedora CoreOS Dockerfile.
Feedback
Benefit to Fedora
- This will introduce Konflux in Fedora's infrastructure and allow contributors to become more familiar with the platform.
- This will allow for Fedora CoreOS to be easier to customize, the build becomes a simple container build and contributors can easily duplicate the pipeline in Konflux.
Scope
- Proposal owners:
- Other developers:
- Release engineering: #Releng issue number
- Policies and guidelines: N/A (not needed for this Change)
- Trademark approval: N/A (not needed for this Change)
- Alignment with the Fedora Strategy:
Upgrade/compatibility impact
Early Testing (Optional)
Do you require 'QA Blueprint' support? Y/N
How To Test
User Experience
Dependencies
Contingency Plan
- Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
- Contingency deadline: N/A (not a System Wide Change)
- Blocks release? N/A (not a System Wide Change), Yes/No
Documentation
N/A (not a System Wide Change)