Description
Feature request description
👋 the https://github.com/containers/bootc project is intending to closely tie to podman. We actually have bootc-dev/bootc#215 which we queued up to make this an explicitly hard dependency.
I was working on bootc-dev/bootc#559 and it'd probably be better to have most of this logic live in podman. For that feature it'd be something like podman pull --all-images-from-root <dirfd>
where <dirfd>
is an openat2()
fd for the mounted new root. Actually when we do this we probably need to design something more general where images can be "pinned" in this case by...hmm, well, we could just teach podman to ask bootc what active roots there are? So it'd be denied by default podman rmi
an image referenced in a root. Though there are some fun details here around how possibly floating tags behave.
Anyways implementing stuff like this is going to start to involve cross-calling between podman and bootc in general. Here's my initial thought: we add something like podman bootc-internals
which is intended to be a hidden implementation detail of the backend of some things that are logically bootc
features to start.
(One side challenge I'm trying to handle here is that while so far bootc is all Rust, I think as folks here know, there's a lot more people that can write Go for better or worse, and having a "land the code in podman" as a generic escape hatch might help...that has its own tradeoffs of course)
Suggest potential solution
A new podman bootc-backend
API entrypoint.
Have you considered any alternatives?
We could of course try to make things pluggable on either end...in theory of course, some of what I'm talking about here could apply to other image-based update systems. And in theory, bootc could learn to speak to docker too...
But of course, the tradeoff there is a lot more complexity.
Activity