From Fedora Project Wiki
(Created page with "{{admon/important | Comments and Explanations | The page source contains comments providing guidance to fill out each section. They are invisible when viewing this page. To read it, choose the "view source" link.<br/> '''Copy the source to a ''new page'' before making changes! DO NOT EDIT THIS TEMPLATE FOR YOUR CHANGE PROPOSAL.'''}} {{admon/tip | Guidance | For details on how to fill out this form, see the [https://docs.fedoraproject.org/en-US/program_management/change...")
 
No edit summary
Line 36: Line 36:


<!-- Select proper category, default is Self Contained Change -->
<!-- Select proper category, default is Self Contained Change -->
[[Category:SelfContainedChange]]
[[Category:SystemWideChange]]
<!-- [[Category:SystemWideChange]] -->
<!-- [[Category:SystemWideChange]] -->


* Targeted release: [https://docs.fedoraproject.org/en-US/releases/f<VERSION>/ Fedora Linux <VERSION>]
* Targeted release: [https://docs.fedoraproject.org/en-US/releases/f42/ Fedora Linux 42]
* Last updated: <!-- this is an automatic macro — you don't need to change this line -->  {{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}}  
* Last updated: <!-- this is an automatic macro — you don't need to change this line -->  {{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}}  
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page  
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page  
Line 55: Line 55:
== Detailed Description ==
== Detailed Description ==
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
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 ==
== Feedback ==
Line 87: Line 94:
     https://fedoraproject.org/wiki/Changes/perl5.26 (major upgrade to a popular software stack, visible to users of that stack)
     https://fedoraproject.org/wiki/Changes/perl5.26 (major upgrade to a popular software stack, visible to users of that stack)
-->
-->
# 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 ==
== Scope ==

Revision as of 12:51, 24 June 2024

Comments and Explanations
The page source contains comments providing guidance to fill out each section. They are invisible when viewing this page. To read it, choose the "view source" link.
Copy the source to a new page before making changes! DO NOT EDIT THIS TEMPLATE FOR YOUR CHANGE PROPOSAL.
Guidance
For details on how to fill out this form, see the documentation.
Report issues
To report an issue with this template, file an issue in the pgm_docs repo.


Using Konflux to build Fedora CoreOS

This is a proposed Change for Fedora Linux.
This document represents a proposed Change. As part of the Changes process, proposals are publicly announced in order to receive community feedback. This proposal will only be implemented if approved by the Fedora Engineering Steering Committee.

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

Current status

  • Targeted release: Fedora Linux 42
  • Last updated: 2024-06-24
  • [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:

  1. 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.
  2. 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/)
  3. 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.
  4. Use the Konflux container workflow to build the Fedora CoreOS Dockerfile.

Feedback

Benefit to Fedora

  1. This will introduce Konflux in Fedora's infrastructure and allow contributors to become more familiar with the platform.
  2. 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:
  • 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)

Release Notes