-
Notifications
You must be signed in to change notification settings - Fork 146
Description
Currently, bootable containers are a special thing that are for the most part built with rpm-ostree. Let's track here what it would take to make it less special.
First, we need to agree on what the end goal should be. I'm picturing something like this:
FROM quay.io/fedora/fedora-minimal:41
RUN dnf install -y @bootable
COPY unpackaged/ /
RUN bootc build commitThe @bootable group would pull in kernel, systemd, bootc, etc.... In practice, we'd probably need to enable e.g. --allowerasing to be able to swap out e.g. fedora-release-container, but maybe that can live in dnf somehow.
The custom base image flow then also converges with custom app base images. It works today to build a container image from dnf install --installroot rootfs -y ... (though I'm not sure I've seen it done yet as part of a multi-staged container-native build but I don't see why that wouldn't work). So then whether you're building a custom base (app|bootable) image just depends on whether you pull in @bootable.
Known tasks:
- Support no
/ostreerepo (store: Support importing images without/ostreeostreedev/ostree-rs-ext#674). - Drain rpm-ostree postprocess logic (e.g. nss-altfiles, tmpfiles.d) into... various places. bootc and dnf mostly. Needs to be broken down into smaller tasks. (postprocess: Split up, improve docs coreos/rpm-ostree#5230, Add
bootc build commit#216). - Model rpm-ostree treefiles/fedora-bootc tiers as comps groups (I think there's a ticket somewhere for this?).