From Fedora Project Wiki
No edit summary
No edit summary
 
(One intermediate revision by the same user not shown)
Line 7: Line 7:
<!-- The actual name of your proposed change page should look something like: Changes/Your_Change_Proposal_Name.  This keeps all change proposals in the same namespace -->
<!-- The actual name of your proposed change page should look something like: Changes/Your_Change_Proposal_Name.  This keeps all change proposals in the same namespace -->


= Using Konflux to build Fedora CoreOS <!-- The name of your change proposal --> =
= Using Konflux to build Fedora Bootc images <!-- The name of your change proposal --> =


{{Change_Proposal_Banner}}
{{Change_Proposal_Banner}}
Line 14: Line 14:
<!-- A sentence or two summarizing what this change is and what it will do. This information is used for the overall changeset summary page for each release. Note that motivation for the change should be in the Benefit to Fedora section below, and this part should answer the question "What?" rather than "Why?". -->
<!-- A sentence or two summarizing what this change is and what it will do. This information is used for the overall changeset summary page for each release. Note that motivation for the change should be in the Benefit to Fedora section below, and this part should answer the question "What?" rather than "Why?". -->


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.
The Fedora Bootc initiative would like to start using the Konflux platform to build to the Fedora Bootc images.
The goal of this change is to deploy a instance of Konflux https://konflux-ci.dev/ in Fedora's infrastructure and start using it to build Fedora Bootc images.


== Owner ==
== Owner ==
Line 56: Line 57:
<!-- 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:
With the release of bootable containers, it is now possible to use the container build and release infrastructure for ostree editions. Fedora Bootc would like to make use of these capabilities and start to migrate 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.
# Get Konflux deployed in Fedora Infrastructure (we need help from Fedora Infra as well as the Konflux team). We need support for x86, aarch64, ppc64le and s390x 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/)
# Integrate Konflux with Fedora Account System and create a namespace for Fedora Bootc.
# 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 96: Line 95:


# This will introduce Konflux in Fedora's infrastructure and allow contributors to become more familiar with the platform.
# 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.  
# This will allow for Fedora Bootc to be easier to customize, the build becomes a simple container build and contributors can easily duplicate the pipeline in Konflux.  


== Scope ==
== Scope ==

Latest revision as of 12:00, 25 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 Bootc images

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 Bootc initiative would like to start using the Konflux platform to build to the Fedora Bootc images. The goal of this change is to deploy a instance of Konflux https://konflux-ci.dev/ in Fedora's infrastructure and start using it to build Fedora Bootc images.

Owner

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 Bootc would like to make use of these capabilities and start to migrate 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). We need support for x86, aarch64, ppc64le and s390x architectures.
  2. Integrate Konflux with Fedora Account System and create a namespace for Fedora Bootc.

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 Bootc 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