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