Wiki - https://fedoraproject.org/wiki/Changes/BuildFCOSUsingContainerfile
Discussion thread -
https://discussion.fedoraproject.org/t/f43-change-proposal-build-fedora-coreos-using-containerfile-self-contained/158041/2

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

Define Fedora CoreOS as a `Containerfile` and build it using `podman
build`. The `Containerfile` will build `FROM` the Fedora bootc image.


== Owners ==

* Name/Email: [[User:jlebon|Jonathan Lebon]], jonat...@jlebon.com
* Name/Email: [[User:jbtrystram|JB Trystram]], jbtryst...@redhat.com




== Detailed Description ==

Currently, Fedora CoreOS (FCOS) is built using `rpm-ostree compose
tree` to build an OSTree commit which is then converted into an OCI
image.

The goal of this enhancement is to switch FCOS to be built via a
Containerfile instead.


=== Relationship to Fedora bootc ===

FCOS is already today sharing manifest definitions with Fedora bootc
via a git submodule. This change will make FCOS instead more
explicitly build `FROM` the Fedora bootc image using the
[https://docs.fedoraproject.org/en-US/bootc/building-from-scratch/
"from scratch" flow]. One can think of this change then as switching
from Fedora bootc and FCOS being siblings, to FCOS becoming a child of
Fedora bootc.

== Feedback ==


== Benefit to Fedora ==

This makes the FCOS build process become a standard container image
build, as advocated by the Fedora bootc project. Currently, building
FCOS requires using a custom tool,
[https://github.com/coreos/coreos-assembler CoreOS Assembler]. With
this change, anyone with `podman` installed would be able to build
FCOS. This in turn means that it's easier for both users and pipelines
to build it. A concrete example is our future plans to build FCOS in
the Fedora Konflux instance.

== Scope ==
* Proposal owners: describe FCOS as a Containerfile, adapt tooling and
pipelines support building FCOS via this Containerfile.


* Other developers: Hopefully nothing!

* Release engineering: Hopefully nothing!

* Alignment with the Fedora Strategy: yes, this falls under the
"Technical Innovation" theme, which lists Image Mode as a Focus Area.


== Upgrade/compatibility impact ==

Ideally none. The goal is to have no end user-visible changes. Fedora
CoreOS content will not meaningfully change.

== How To Test ==

Once ready, booting or updating to an FCOS built via Containerfile.

== User Experience ==

This change should not be visible to end users.

== Contingency Plan ==

* Contingency mechanism: Proposal owners will keep building FCOS using
the current approach (calling `rpm-ostree compose tree` directly).
Note that the way this is implemented, _both_ approaches will be
supported simultaneously as we work on rolling out this change in our
build processes.
* Contingency deadline: N/A (not a System Wide Change)
* Blocks release? No


== Documentation ==

Main discussion in https://github.com/coreos/fedora-coreos-tracker/issues/1861.

N/A (not a System Wide Change)

== Release Notes ==


--
Aoife Moloney

Fedora Operations Architect

Fedora Project

Matrix: @amoloney:fedora.im

IRC: amoloney

-- 
_______________________________________________
devel-announce mailing list -- devel-annou...@lists.fedoraproject.org
To unsubscribe send an email to devel-announce-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel-annou...@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue
-- 
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to