bug(examples): podman demo scripts cannot run on macOS (chmod on SPIRE socket fails over virtiofs)
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 45/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- macos, shell
- Ambito
- devops, infrastructure
Direzione di ricerca
Inizia con podman/spire/start-server-oidc.sh, podman/spire/start-agent.sh e podman/README.md; riproduci il problema usando Podman machine su macOS e traccia i mount delle directory dell’host e i controlli di disponibilità del socket. Determina se la modifica documenta un supporto limitato a Linux o fa funzionare lo stato e la disponibilità oltre il confine della VM, quindi verifica che il server, l’agent e i componenti demo downstream si avviino correttamente.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
What happens
Running the Podman SPIFFE token exchange demo on macOS with podman machine, the SPIRE server crashes during startup:
level=info msg="Starting Server APIs" address="[::]:8081" network=tcp
level=error msg="Fatal run error" error="chmod /run/spire/server/private/api.sock: invalid argument"
level=error msg="Server crashed" error="chmod /run/spire/server/private/api.sock: invalid argument"
Every downstream component (OIDC discovery provider, agent, gateway, sandbox) then fails as a consequence, which makes the root cause hard to locate from the symptoms.
Why
podman/spire/start-server-oidc.sh bind-mounts a host directory into the container:
-v "${server_dir}:/run/spire/server:z"
SPIRE creates its API socket in that directory and then chmods it. When SPIRE_STATE_DIR lives on the macOS host, the directory reaches the VM over virtiofs, where chmod on a unix socket returns EINVAL.
podman/spire/start-agent.sh has the same pattern for the Workload API socket:
-v "${agent_dir}:/run/spire/agent:z"
podman/README.md makes no platform statement, so a macOS host reads as a supported configuration.
Workarounds tested
- Podman named volume for
/run/spire/serveravoids thechmodentirely and the server stays up. It has no host path, though, andSPIRE_AGENT_SOCKET_HOST_PATHneeds to be a mountable path because the gateway passes it into sandbox containers. - A path native to the VM (for example under
/var/tmp) works as a bind mount for both server and agent, but the scripts' host-sidemkdir -pandwait_for_socketthen operate on the macOS filesystem rather than the one the containers use, so they create stray directories and the socket wait times out. - Running the scripts entirely inside the Podman machine VM works today, with
SPIRE_STATE_DIRon a VM-native path. This is what we ended up doing.
Suggested fix
Either of:
- Document the demo as requiring a Linux host, which is the cheaper option and sets expectations correctly.
- Place SPIRE state on a filesystem native to the container runtime and wait for readiness via
podman execinside the container rather than polling a host path. That would make the demo work unmodified on macOS.
Environment
- macOS 15 (Darwin 25.6.0), Podman 6.1.1
- Podman machine: Fedora CoreOS 44, kernel 7.0.11 aarch64
- SPIRE images:
ghcr.io/spiffe/spire-server:1.12.4,ghcr.io/spiffe/oidc-discovery-provider:1.12.4
- Lingua principale
- Rust
- Stelle
- 8.7k
- Fork
- 1.3k
- Merge medio
- 2g 7h
- PR unite (30g)
- 243
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di NVIDIA/OpenShell
-
area:docs
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
-
state:triage-needed
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
-
area:cli state:validated
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
state:triage-needed
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
-
area:build spike state:review-ready state:stale
Difficoltà 2/5 Mezza giornata Idoneità per principianti 68/100
Tutte le issue di NVIDIA/OpenShell
Issue simili
-
risk:low runtime status:in-progress type:test
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
zeroclaw-labs/zeroclaw#11023 ·
-
good first issue refactor
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
kwakseongjae/auto-hwp#319 ·
-
area:cli bug filter-quality good first issue priority:medium
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
bevyengine/bevy#25861 ·