You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
OCI-compliant builders and runners including support for the "compose spec".
Current Behavior
There is really great foundational support for OCI builders using custom_build(...) and one supportive issue outlines this progress here: #2589.
However, the out-of-the-box Tilt functions all read docker... (instead of something like container...).
There may be significant room for improvement with docker_compose(...) compatibility including support for the "compose spec".
Why Do You Want This?
I want to use cross-platform, free, and open-source tooling. The docker tooling is not available for free across platforms for all uses with reasonable and free alternatives. Podman Desktop has made incredible progress over the years, especially in the past year with significant releases for Windows and Mac with existing Linux support. Rancher Desktop is another great alternative. Rancher provides an out-of-the-box replacement for docker and docker-compose commands while Podman Desktop still requires some aliasing and post-installation configuration to get working.
I have used free and open-source alternatives to Docker Desktop on Windows ever since the licensing changes. My personal favorite is the tremendous progress that Podman Desktop has made over the years and especially just this past year with frequent and significant releases. However, a more reliable fallback is to use Rancher Desktop since it offers a drop-in replacement for docker commands while podman still requires some aliasing trickery.
For Tilt, I caught up on this issue for "Support for podman instead of docker". While the Tilt docker_build(...) functions work seemingly perfectly after aliasing alias docker=podman (on Windows this is a bit different with batch and shell files depending on the terminal used) ... the docker_compose(...) functions are not at all compliant with podman compose, using special command options and flags like --project-directory (see this bug). There are some tricks to register podman compose to use docker-compose under the covers, but this would require either a Docker Desktop or Rancher Desktop installation (on Windows at least); with those installed, the next obvious question would be "why use Podman Desktop at all now?" Wanting a free and open-source option, I naively started a path to develop a custom podman_compose(...) function, but very quickly ran into issues like waiting for a docker_build(...) to finish a named image before the compose file uses it. I'm guessing that there is wickedly smart trickery built into the Go source for these capabilities. It was also odd to see docker_build(...) followed by podman_compose(...).
What would the community's suggestion be as a path forward both for the tactical short-term as well as a more strategic long-term? I'd personally love for the Tilt containerization experience to be more about standards-compliant "open container initiative" tooling, like https://compose-spec.io/ than using docker-specific naming and CLI expectations. I also acknowledge that this type of tooling abstraction requires a cautious and well-intentioned design with deep knowledge across multiple OCI-compatible build and run tools.
Tactically, I may just forego podman 😭 and stick with Rancher Desktop until our community can get a better solution in place. (edited)
The text was updated successfully, but these errors were encountered:
Describe the Feature You Want
OCI-compliant builders and runners including support for the "compose spec".
Current Behavior
There is really great foundational support for OCI builders using
custom_build(...)
and one supportive issue outlines this progress here: #2589.However, the out-of-the-box Tilt functions all read
docker...
(instead of something likecontainer...
).There may be significant room for improvement with
docker_compose(...)
compatibility including support for the "compose spec".Why Do You Want This?
I want to use cross-platform, free, and open-source tooling. The
docker
tooling is not available for free across platforms for all uses with reasonable and free alternatives. Podman Desktop has made incredible progress over the years, especially in the past year with significant releases for Windows and Mac with existing Linux support. Rancher Desktop is another great alternative. Rancher provides an out-of-the-box replacement fordocker
anddocker-compose
commands while Podman Desktop still requires some aliasing and post-installation configuration to get working.The Tilt functions explicitly call on the use of
docker...
tooling in their function names and there are issues with the alternatives like this discussion thread with Podman Desktop and the use ofdocker_compose(...)
commands.Additional context
The original post to Slack for convenience:
The text was updated successfully, but these errors were encountered: