Skip to content

Support podman and podman-compose - #148

Merged
athal7 merged 3 commits into
mainfrom
feat-podman-support-14897577984256613295
Aug 13, 2026
Merged

Support podman and podman-compose#148
athal7 merged 3 commits into
mainfrom
feat-podman-support-14897577984256613295

Conversation

@google-labs-jules

Copy link
Copy Markdown
Contributor

Adds built-in support for podman as an alternative to docker, with automatic fallback detection and custom config support. Includes extensive unit tests.

Fixes #147


PR created automatically by Jules for task 14897577984256613295 started by @athal7

Supports podman as a built-in drop-in alternative container runtime to docker.
- Adds `dockerPath` and `dockerComposePath` configuration settings.
- Automatically detects `podman` and `podman-compose` if `docker` is not present on the host PATH.
- Uses configured/detected container runtime executable for all orchestration (up, exec, inspect, ps, stop, rm, rmi) and container port query operations.
- Appends correct parameters to devcontainer CLI commands.
@google-labs-jules
google-labs-jules Bot requested a review from athal7 as a code owner August 13, 2026 13:53
@google-labs-jules

Copy link
Copy Markdown
Contributor Author

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

@google-labs-jules google-labs-jules Bot mentioned this pull request Aug 13, 2026
@athal7

athal7 commented Aug 13, 2026

Copy link
Copy Markdown
Owner

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 13, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai

coderabbitai Bot commented Aug 13, 2026

Copy link
Copy Markdown

Review Change Stack

Walkthrough

The plugin now detects Docker or Podman commands asynchronously and selects an available compose command. User configuration tolerates missing or invalid files and preserves explicit executable paths. Devcontainer operations pass configured Docker and Docker Compose paths through startup, execution, inspection, status, and cleanup flows. Port allocation uses shared configuration and the configured container runtime. Unit tests cover runtime detection, executable argument propagation, and Podman port inspection.

Mergeability Score: 🟡 Moderate · up to fa957

Podman-only environments may receive an invalid Compose executable and fail when starting a development container. The fallback detection and unsupported-configuration handling should be fixed before merging.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the primary change: adding Podman and podman-compose support.
Description check ✅ Passed The description accurately covers Podman support, fallback detection, custom configuration, tests, and issue #147.
Linked Issues check ✅ Passed The changes implement built-in Podman and podman-compose support through detection, configuration, orchestration, port queries, and tests [#147].
Out of Scope Changes check ✅ Passed All changes support Podman compatibility, configuration handling, runtime integration, or related unit tests.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (1)
test/unit/ports.test.js (1)

341-349: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Provide process output streams in this mock.

runCommand accesses child.stdout and child.stderr before it waits for close. This mock omits both streams. getContainerPort catches the resulting rejection, so the test passes before it exercises normal command handling.

Add readable stdout and stderr emitters. Simulate successful ps and inspect calls. Assert that both calls use podman.


ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: db6a1ebe-2980-4ebc-9652-bf123068954e

📥 Commits

Reviewing files that changed from the base of the PR and between fa90dcc and fa95767.

📒 Files selected for processing (6)
  • plugin/core/config.js
  • plugin/core/devcontainer.js
  • plugin/core/ports.js
  • test/unit/config.test.js
  • test/unit/devcontainer.test.js
  • test/unit/ports.test.js

Comment thread plugin/core/config.js Outdated
athal7 and others added 2 commits August 13, 2026 09:23
Co-Authored-By: openai/gpt-5.6-terra <noreply@openai.com>
# Conflicts:
#	plugin/core/config.js
#	plugin/core/devcontainer.js
#	plugin/core/ports.js
#	test/unit/config.test.js
#	test/unit/devcontainer.test.js
#	test/unit/ports.test.js
@athal7
athal7 merged commit e2834e0 into main Aug 13, 2026
6 checks passed
@athal7
athal7 deleted the feat-podman-support-14897577984256613295 branch August 13, 2026 16:36
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.

Support for podman

1 participant