j0rge
June 6, 2024, 12:00pm
2
Here’s the overall roadmap:
And the issues in particular for downloads:
containers:main
← cgwalters:podman-pull
opened 07:29PM - 03 Dec 23 UTC
Prep in https://github.com/containers/bootc/pull/214Move pull code into deploy
…
---
WIP: Use `podman pull` to fetch containers
See https://github.com/containers/bootc/issues/147#issuecomment-1828751377
With this bootc starts to really gain support for a different backend
than ostree. Here we basically just fork off `podman pull` to
fetch container images into an *alternative root* in
`/ostree/container-storage`,
(Because otherwise basic things like `podman image prune` would
delete the OS image)
This is quite distinct from our use of `skopeo` in the ostree-ext project
because suddenly now we gain support for things
implemented in the containers/storage library like `zstd:chunked` and
OCI crypt.
*However*...today we still need to generate a final flattened
filesystem tree (and an ostree commit) in order to maintain
compatibilty with stuff in rpm-ostree. (A corrollary to this is
we're not booting into a `podman mount` overlayfs stack)
Related to this, we also need to handle SELinux labeling.
Hence, we implement "layer squashing", and then do some final
"postprocessing" on the resulting image matching the same logic
that's done in ostree-ext such as `etc -> usr/etc` and handling `/var`.
Note this also really wants
https://github.com/ostreedev/ostree/pull/3106
to avoid duplicating disk space.
---
And you’ll see a bunch of interconnected issues there. I’m now publishing bluefin containers with zstd:chunked to help with testing: Package bluefin · GitHub
1 Like