coreos / fedora-coreos-tracker

Issue tracker for Fedora CoreOS
https://fedoraproject.org/coreos/
264 stars 59 forks source link

Roadmap to Fedora Bootable Containers #1726

Open travier opened 6 months ago

travier commented 6 months ago

Notes

Roadmap

Building and publishing Bootable Container images

Switching to Bootable Container images by default

DNF5 integration

bootc integration

Bootimages

Local package layering

Rebasing on Fedora Bootc manifests

Rebasing on Fedora Bootc container images

Anaconda

Investigate Konflux CI/CD

See if we can build FCOS using Konflux: https://gist.github.com/ralphbean/a3644111a549e8cedb0b207f90d42dc9

Documentation updates

Issues that needs to be triaged / refocused

See also all the issues tagged with bootable-containers: https://github.com/coreos/fedora-coreos-tracker/issues?q=is%3Aopen+label%3Aarea%2Fbootable-containers+sort%3Aupdated-desc

References

See:

See for Fedora Atomic Desktops: https://gitlab.com/fedora/ostree/sig/-/issues/26

cgwalters commented 6 months ago

Thanks so much for putting this together!

cgwalters commented 6 months ago

Any objections if we let the fedora-bootc related discussion "double up" as part of the current fcos community meeting? Basically maybe ~40 minutes for this topic which would also include e.g. things related to https://gitlab.com/fedora/ostree/sig/-/issues/26 etc?

jlebon commented 6 months ago

Any objections if we let the fedora-bootc related discussion "double up" as part of the current fcos community meeting?

I wonder actually if we should schedule a community video meeting to discuss this. I guess it's too late for today but could be next week's.

travier commented 6 months ago

What do you mean by double up? I would prefer we keep the Fedora CoreOS meeting distinct for now.

We can however include the Atomic SIG topics into the bootc one as we are not having Atomic SIG meetings right now.

jasonbrooks commented 6 months ago

What do you mean by double up? I would prefer we keep the Fedora CoreOS meeting distinct for now.

We can however include the Atomic SIG topics into the bootc one as we are not having Atomic SIG meetings right now.

I think @cgwalters just meant double up for next week, or something, inviting additional people to talk about bootc at the same time that FCOS folks do.

travier commented 5 months ago

As I'm working on Live ISO support for Atomic Desktops, I'm experimenting with using a container layer to include all the tools needed for the Live ISO / installer instead of including them in the base image by default: https://github.com/travier/fedora-kinoite/blob/main/fedora-kinoite-live/Containerfile

Thinking about this more, we could use the same approach for Ignition and related first boot elements. We would include those in a container layer and rebuild the initrd and use this "derived" container to generate all the disk images. Systems installed this way would be pointed to the image without the first boot layer, that will thus "disappear" from the system on the first update.

We would thus have two container tags for each release, once with and one without the first boot layer.

Ideally we would also produce a container image that does not include an initrd, then we layer the initrd to create the "normal" base image which is delivered on updates.

Same idea but for podman/moby-engine as well: https://github.com/coreos/fedora-coreos-tracker/issues/1723

- FCOS image with no-initrd, no first boot tools, no podman & moby-engine (base/core)
    |
     ---> layer podman & moby-engine
    |     |
    |      ---> layer initrd (full)
    |     |
    |      ---> layer first boot tools & build initrd (full-first-boot)
    |
     ---> layer initrd (minimal)
    |
     ---> layer first boot tools & build initrd (minimal-first-boot)
travier commented 3 months ago

You may encounter issues when layering packages that comes with their own SELinux policy modules in container layers. See: https://github.com/ostreedev/ostree-rs-ext/issues/510 (tracked in https://gitlab.com/fedora/ostree/sig/-/issues/45 for the Atomic Desktops)

lmilbaum commented 2 months ago

Do we want to add a CI/CD section to the roadmap? Onboarding to Konflux might be a relevant task. WDYT?