Skip to content

Add the Podman backend. - #5

Merged
gouttegd merged 2 commits into
mainfrom
add-podman-backend
Oct 8, 2026
Merged

gouttegd merged 2 commits into
mainfrom
add-podman-backend

Conversation

@gouttegd

@gouttegd gouttegd commented Oct 7, 2026

Copy link
Copy Markdown
Collaborator

Add another backend to run containers through Podman [1].

This is another backend that is very much similar to the Docker backend, in that the command to start the container process (podman run) is identical to the command one would use with Docker. Therefore, as for the Apple Container backend, this backend is reusing the logic from the Docker backend to build the command line.

Still, even though calling the odk_backend_docker_build_command() function avoids duplicating most of the code, there is still a sizeable amount of almost "boilerplate" code that is duplicated between the Docker, Apple Container, and Podman backends. This is still fine for now, but one or two more backends like that and we should seriously consider refactoring the whole backend system to account for the fact that several backends are in fact almost identical.

[1] https://podman.io/

Add another backend to run containers through Podman [1].

This is another backend that is very much similar to the Docker backend,
in that the command to start the container process (`podman run`) is
identical to the command one would use with Docker. Therefore, as for
the Apple Container backend, this backend is reusing the logic from the
Docker backend to build the command line.

Still, even though calling the `odk_backend_docker_build_command()`
function avoids duplicating most of the code, there is still a sizeable
amount of almost "boilerplate" code that is duplicated between the
Docker, Apple Container, and Podman backends. This is still fine for
now, but one or two more backends like that and we should seriously
consider refactoring the whole backend system to account for the fact
that several backends are in fact almost identical.

[1] https://podman.io/
@gouttegd gouttegd self-assigned this Oct 7, 2026
It seems that Podman does not support binding a socket from the host
into the container. I have no time to investigate that for now, so we'll
just skip SSH socket forwarding on Podman for the time being.

(That is not a big loss. In fact, I am not sure anyone except me has
ever used the SSH socket forwarding feature of odkrun.)
@gouttegd
gouttegd force-pushed the add-podman-backend branch from 9d110f4 to e468c75 Compare October 8, 2026 09:59
@gouttegd
gouttegd merged commit 45113a1 into main Oct 8, 2026
3 checks passed
@gouttegd
gouttegd deleted the add-podman-backend branch October 8, 2026 10:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant