Skip to content

Conversation

@tim-werner
Copy link
Contributor

This pull request will fix issue: #21450

It is now possible to use booleans for Docker container for the docker_image option --pull AND missing, never, always or newer. Using one of the strings and the Docker backend will result in an error. In the podman case, booleans are converted to podman policy strings - False = missing and True= always - to ensure backwards compatibility. I have added a deprecation warning in those cases.

Disclaimer: AI was used for support, but all code was reviewed, adapted, and tested by a human.

@tim-werner
Copy link
Contributor Author

ahh I have been afraid that this will happen. I need probably a new target type that except both but not sure if it will crash somewhere else than...

@sureshjoshi
Copy link
Member

sureshjoshi commented Jan 24, 2026

This is one of those annoying problems. We have Podman support, which is "supposed" to be a mostly drop-in replacement for Docker, but in practice it isn't - and our implementation is overtly Docker-centric too.

Can't wait to try on Apple Containers, on top of everything else.

@sureshjoshi sureshjoshi self-requested a review January 24, 2026 16:04
@ndellosa95
Copy link
Contributor

I can open a draft PR to show you my approach but I have been working on code to support building images directly with Buildkit sans Docker. To implement this, I added the concept of "engines" for the Docker backend, which lets you control which tool you use for builds and runs, but can definitely add push and pull as well. It uses separate SystemBinary classes for each binary. Currently I have a mixin for docker and podman functionality, since they're the same in 99% of cases but it would be trivial to add separate pull functionality for podman.

This should let us easily add new OCI image platforms (like Apple containers) as well.

@tim-werner
Copy link
Contributor Author

Hi @ndellosa95 ,
would be great if you could open a draft PR with your suggestions. My pull request does not realy fix the issue in a generic way and it will only work for the pull flag.

@cburroughs
Copy link
Contributor

Thanks for the contribution. We've just branched for 2.31.x, so merging this pull request now will come out in 2.32.x, please move the release notes updates to docs/notes/2.32.x.md if that's appropriate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

4 participants