feat(bootstrap): add Podman socket fallback for macOS#502
Open
craigamcw wants to merge 1 commit intoNVIDIA:mainfrom
Open
feat(bootstrap): add Podman socket fallback for macOS#502craigamcw wants to merge 1 commit intoNVIDIA:mainfrom
craigamcw wants to merge 1 commit intoNVIDIA:mainfrom
Conversation
Implemented feature with help from Claude Code
Add additive Podman support on macOS without changing any Linux paths,
K3s logic, policy engine, or inference routing.
Socket discovery fallback chain:
1. $DOCKER_HOST
2. $CONTAINER_HOST
3. /var/run/docker.sock (bollard default)
4. Podman socket via `podman machine inspect` (macOS only)
Container runtime adaptations when Podman is detected:
- security_opt: unmask /sys/fs/cgroup and /dev/kmsg
- kubelet feature gate: KubeletInUserNamespace=true
- kubelet arg: cgroups-per-qos=false, enforce-node-allocatable=
Image push reliability:
- Extended timeout (120s → 600s) for Unix socket connections
- Fallback from bollard put_archive API to `docker cp` CLI for
large image transfers that fail over the Podman API socket
Also adds documentation for Podman setup in quickstart, support matrix,
and a new troubleshooting page.
Signed-off-by: Craig <craig@epic28.com>
|
All contributors have signed the DCO ✍️ ✅ |
Author
|
I have read the DCO document and I hereby sign the DCO. |
Author
|
recheck |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implemented feature with help from Claude Code.
Add additive Podman support on macOS without changing any Linux paths, K3s logic, policy engine, or inference routing.
Socket discovery fallback chain:
podman machine inspect(macOS only)Container runtime adaptations when Podman is detected:
Image push reliability:
docker cpCLI for large image transfers that fail over the Podman API socketAlso adds documentation for Podman setup in quickstart, support matrix, and a new troubleshooting page.
Summary
Adds Podman as a supported container runtime on macOS. OpenShell now auto-discovers the Podman machine socket, configures k3s kubelet flags for rootful Podman compatibility, and falls back to docker cp for reliable large image uploads. No Linux paths, K3s core logic, policy engine, or inference routing are changed.
Related Issue
N/A — feature contribution (Podman on macOS was previously unsupported)
Changes
Testing
mise run pre-commitpassesChecklist
docs/reference/troubleshooting.md (new)