We shipped https://fedoraproject.org/wiki/Changes/OstreeNativeContainer in 
Fedora 36 and a lot has happened since then.

One of the biggest things is that rpm-ostree now knows how to intelligently 
generate reproducible "chunked" container images.  

I'll describe this by also highlighting another big change; Fedora CoreOS is 
now shipped as a properly manifest listed container image alongside the other 
Fedora images on quay.io:
https://quay.io/repository/fedora/fedora-coreos

And if you dig into the tags, on the UI, clicking through to the stable/amd64 
image, check out e.g.
https://quay.io/repository/fedora/fedora-coreos/manifest/sha256:0d100d21bbe885d638de1847eeacfed7903ed5b9aec5832730d12cad0dbb6f58
Note that e.g. linux-firmware (by far the largest single chunk) is split into 
its own layer - and this layer is generated in a reproducible fashion (ostree 
canonicalizes all timestamps to zero in particular).   What this means is that 
these images share storage on the registry and client side.

Another way to say this is that it means you get a natural "delta-like" flow; 
if e.g. there's a security update to podman, you only download the layer 
containing podman (plus a metadata layer), not everything else.

This isn't the same as more proper deltas (as e.g. ostree static deltas enable) 
but it has the powerful benefit of applying everywhere that Docker/OCI 
containers go (e.g. when you pull the image via podman/docker or Kubernetes, 
that *also* applies there).

You may see this effort sometimes called "CoreOS Layering" but it really has 
little to do with "CoreOS", and https://pagure.io/releng/issue/11047 is a 
ticket which proposes shipping e.g. quay.io/fedora/fedora-silverblue for 
example.  (I know for a number of people I've talked to this idea of building 
your desktop as an container image server side is powerfully appealing, and 
this makes it real)

On that topic there's also https://bugzilla.redhat.com/show_bug.cgi?id=2125655 
which shouldn't be too hard to put together.

But back to Fedora CoreOS, another thing that's happened recently is 
https://github.com/coreos/coreos-layering-examples has matured and has many 
functional examples of using this.

We're getting increasingly close to the point where I want to call this all 
stable, so it's a great time if you haven't to kick the tires and try it out!
_______________________________________________
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

Reply via email to