Skip to content

Support podman in tasks/build.rake#227

Merged
bastelfreak merged 1 commit into
OpenVoxProject:mainfrom
gregorynisbet-google:2026-03-23-podman-build
May 29, 2026
Merged

Support podman in tasks/build.rake#227
bastelfreak merged 1 commit into
OpenVoxProject:mainfrom
gregorynisbet-google:2026-03-23-podman-build

Conversation

@gregorynisbet-google
Copy link
Copy Markdown
Contributor

Support podman in addition to docker in tasks/build.rake via the DOCKER environment variable.

Pull Request (PR) description

I did the simplest thing I could think of to make DOCKER=podman rake vox:build succeed.

There are a few differences between --format json for Docker and podman, but I still think
that that's the most robust way to get the commands to emit structured output.

I'm curious whether folks think this is worth doing at all, and whether an environment variable
is the best way of achieving this (and also whether shell substitution is better than doing the
conditional at the ruby level)

This Pull Request (PR) fixes the following issues

n/a

@Sharpie
Copy link
Copy Markdown
Member

Sharpie commented Apr 5, 2026

I opened #228 before I noticed this PR. The approach there is even simpler, but requires the use of the podman-docker shim package to re-direct the docker CLI to podman.

Building other OpenVox components, such as openvox-agent and openbolt, under Podman requires the use of podman-docker unless some enhancement is done to Vanagon.

@gregorynisbet-google
Copy link
Copy Markdown
Contributor Author

No worries. Any interest in me reworking this to remove the dependency on the shim?

@Sharpie
Copy link
Copy Markdown
Member

Sharpie commented Apr 6, 2026

Using environment variables to pick a CLI implementation seems reasonable to me. Perhaps DOCKER_BIN or DOCKER_CLI instead of DOCKER as the shorter variable is sometimes used to flag whether or not a process is running in a containerized environment.

@gregorynisbet-google gregorynisbet-google force-pushed the 2026-03-23-podman-build branch 3 times, most recently from 6a79a0b to cba84c5 Compare April 9, 2026 00:23
@Sharpie Sharpie self-assigned this Apr 9, 2026
Copy link
Copy Markdown
Member

@Sharpie Sharpie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me 👍

Thanks for the contribution!

@Sharpie Sharpie enabled auto-merge April 11, 2026 11:23
auto-merge was automatically disabled April 20, 2026 21:03

Head branch was pushed to by a user without write access

@gregorynisbet-google
Copy link
Copy Markdown
Contributor Author

Hi, so I can keep the PR up to date with respect to main (which I did just now with a force push), but I don't know the procedure for actually merging the PR.

Auto-merge was enabled prior to my last push, but I wasn't able to merge it at that time. Is two committers' approval needed for a PR to be merged?

@bastelfreak
Copy link
Copy Markdown
Contributor

@gregorynisbet-google sorry for the delay here! I would like to get this merged, but run into some issues. The rake task fails with:

Retrieving me/raynes/conch/0.8.0/conch-0.8.0.jar from clojars
Retrieving org/flatland/useful/0.10.6/useful-0.10.6.jar from clojars
Retrieving org/openvoxproject/typesafe-config/1.0.3/typesafe-config-1.0.3.jar from clojars
Copying lein-ezbake resources from /root/.m2/repository/org/openvoxproject/lein-ezbake/2.7.7/lein-ezbake-2.7.7.jar to tmp/ezbake-resources
Error encountered performing task 'ezbake' with profile(s): 'user,ezbake,provided'
java.io.FileNotFoundException: /code/tmp/ezbake-resources/puppetlabs/lein-ezbake/template/global/ext/ezbake.tmpfiles.conf.erb (Permission denied)

Did you run the podman service as user service or as root?

@gregorynisbet-google
Copy link
Copy Markdown
Contributor Author

I'm running it rootless, which is the default out of the box on my platform.

For me, at least, running DOCKER_BIN=podman rake vox:build works locally.

I'm not sure what could cause this PR to fail with some kind of permission issue when run in CI (or locally) in an environment where DOCKER_BIN is not set.

The only thing I can think of is some change to the behavior of the build system when passing the format argument to docker images, so I split off that part of the PR here (#332).

bastelfreak pushed a commit to gregorynisbet-google/openvox-server that referenced this pull request May 29, 2026
Split OpenVoxProject#227.

Signed-off-by: Greg NISBET <gregorynisbet@google.com>
Support podman in addition to docker in tasks/build.rake
via the DOCKER environment variable.

Signed-off-by: Greg NISBET <gregorynisbet@google.com>
@bastelfreak bastelfreak force-pushed the 2026-03-23-podman-build branch from 03e9260 to a63b99c Compare May 29, 2026 09:56
@bastelfreak bastelfreak enabled auto-merge May 29, 2026 09:56
@bastelfreak bastelfreak merged commit 74ce4fb into OpenVoxProject:main May 29, 2026
11 checks passed
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.

3 participants