mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-08-10 17:46:15 +00:00
The installer's discover_rootless_container_runtime only globbed /run/user/* sockets and never consulted the system Docker daemon, so a socket-activated rootless Podman API socket (alive only for root's login session on Debian/OMV) won discovery over a healthy rootful Docker and pinned PULSE_DOCKER_RUNTIME=podman plus CONTAINER_HOST/PODMAN_HOST/ XDG_RUNTIME_DIR into the agent unit. The env-application block also ran for explicit --enable-docker installs. Rootless discovery now defers to system_docker_runtime_is_active (docker info with DOCKER_HOST stripped, or a live /var/run/docker.sock probe) before touching rootless sockets. On the agent, detectRuntime short-circuited to podman whenever the preference said podman, mislabeling connections that actually fell through to the Docker socket and disabling Swarm collection. The preference is now an ordering hint: a podman-preferred connection landing on a docker endpoint reports docker, while unlabeled endpoints with no runtime signals still honor the pin. When the bound socket disappears mid-run the agent re-runs runtime discovery after three consecutive daemon-unavailable collects, swapping the connection behind a swappableDockerClient so concurrent goroutines keep a stable handle. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| windowslifecycleserver | ||
| agent_state_dir_lifecycle_test.go | ||
| backfill_release_assets_test.go | ||
| build_release_assets_test.go | ||
| docker_entrypoint_test.go | ||
| install_docker_sh_test.go | ||
| install_ps1_test.go | ||
| install_sh_test.go | ||
| provider_msp_deploy_test.go | ||
| pulse_auto_update_test.go | ||
| release_ldflags_test.go | ||
| root_install_sh_test.go | ||
| uninstall_sensor_proxy_test.go | ||
| windows_agent_lifecycle.ps1 | ||