F43 Change Proposal: Build Fedora CoreOS using Containerfile (self contained)

Build Fedora CoreOS using Containerfile

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.

Wiki
Announced

:link: Summary

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

:link: Owners

:link: Current status

  • Targeted release: Fedora Linux 43
  • Last updated: 2025-07-07
  • [ Announced]
  • [ Discussion thread]
  • FESCo issue:
  • Tracker bug:
  • Release notes tracker:

:link: 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.

:link: 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 “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.

:link: Feedback

:link: 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, 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.

:link: 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.

:link: Upgrade/compatibility impact

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

:link: How To Test

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

:link: User Experience

This change should not be visible to end users.

:link: 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

:link: Documentation

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

N/A (not a System Wide Change)

:link: Release Notes

Last edited by @amoloney 2025-07-10T11:26:07Z

Last edited by @amoloney 2025-07-10T11:26:07Z

How do you feel about the proposal as written?

  • Strongly in favor
  • In favor, with reservations
  • Neutral
  • Opposed, but could be convinced
  • Strongly opposed
0 voters

If you are in favor but have reservations, or are opposed but something could change your mind, please explain in a reply.

We want everyone to be heard, but many posts repeating the same thing actually makes that harder. If you have something new to say, please say it. If, instead, you find someone has already covered what you’d like to express, please simply give that post a :heart: instead of reiterating. You can even do this by email, by replying with the heart emoji or just “+1”. This will make long topics easier to follow.

Please note that this is an advisory “straw poll” meant to gauge sentiment. It isn’t a vote or a scientific survey. See About the Change Proposals category for more about the Change Process and moderation policy.

This change proposal has now been submitted to FESCo with ticket #3451 for voting.

To find out more, please visit our Changes Policy documentation.