Summary
Coasts now has better Docker endpoint resolution, but when Docker is unavailable the daemon and CLI still surface mostly generic errors like "Docker is not available".
For operators, the missing detail is:
- which endpoint source was chosen (
DOCKER_CONTEXT, DOCKER_HOST, config currentContext, default local)
- which endpoint host was attempted
- why connection failed
Why this matters
This is especially important on machines that switch Docker providers or contexts (OrbStack, Docker Desktop, Colima, Rancher Desktop). Without the resolved endpoint details, users have to infer what coastd tried from logs.
Proposed scope
Small diagnostics-only slice:
- keep transport behavior unchanged
- store the resolved Docker endpoint summary and last connection error in daemon startup state
- expose that summary through
/api/v1/docker/info
- improve
coast doctor connection failure output to include the resolved endpoint source/host
Out of scope
- SSH context support
- transport changes beyond the existing resolver
- daemon auto-refresh / automatic re-resolution after startup
If this direction looks good, I can send a focused PR stacked on the Docker-context resolver branch.
Summary
Coasts now has better Docker endpoint resolution, but when Docker is unavailable the daemon and CLI still surface mostly generic errors like "Docker is not available".
For operators, the missing detail is:
DOCKER_CONTEXT,DOCKER_HOST, configcurrentContext, default local)Why this matters
This is especially important on machines that switch Docker providers or contexts (OrbStack, Docker Desktop, Colima, Rancher Desktop). Without the resolved endpoint details, users have to infer what coastd tried from logs.
Proposed scope
Small diagnostics-only slice:
/api/v1/docker/infocoast doctorconnection failure output to include the resolved endpoint source/hostOut of scope
If this direction looks good, I can send a focused PR stacked on the Docker-context resolver branch.