mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-10-24 12:42:49 +00:00
f338bd4765
provider-msp status, which upgrade.sh and the install proof gate on, runs in a one-off `docker compose run` container attached only to the provider ingress network. Its health check dialled each client's container on the client's isolated network, which that container cannot reach, and an unreachable client counts as unhealthy. So on any install with a real client, status failed with "unhealthy active workspaces" and ./upgrade.sh --dry-run exited 1: the backup-gated upgrade path refused to run as soon as a provider onboarded anyone. CI proofs never saw it because they only ever run against an empty install. Reproduced on a fresh v6.4.1 provider bundle with one client whose container Docker reported healthy. The runtime image declares a HEALTHCHECK that probes the same /api/health inside the container, and Docker records the result where any caller with the socket can read it. Use that when it exists and keep the HTTP probe for images without one. With the change the same install reports healthy_tenants=1 and upgrade.sh --dry-run plans cleanly.