Changes/BuildFCOSUsingContainerfile

From Fedora Project Wiki


Build Fedora CoreOS using Containerfile

Summary

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


Owners


Current status

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 "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, 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

Morty Proxy This is a proxified and sanitized view of the page, visit original site.
Morty Proxy This is a proxified and sanitized view of the page, visit original site.