Summary
Coasts now has a path to resolve local Docker context sockets, but it still does not support Docker contexts whose endpoint is tcp:// / https:// and whose TLS material is stored in Docker's context metadata storage.
This affects remote/TLS Docker contexts even when they are the active Docker context and work with the Docker CLI.
Desired behavior
When Coasts resolves a Docker context endpoint:
unix:// or npipe:// should keep using the local socket path
tcp:// / http:// without TLS material should use HTTP
tcp:// / https:// with TLS material should use TLS
ssh:// is explicitly out of scope for this issue
References
The docker context inspect output includes:
Endpoints.docker.Host
Storage.TLSPath
Those should be enough to locate ca.pem, cert.pem, and key.pem for context-driven TLS connections.
Proposed implementation split
- Extend
coast-docker::host only.
- Keep explicit env-driven
DOCKER_HOST / DOCKER_TLS_VERIFY / DOCKER_CERT_PATH behavior delegated to Bollard's existing env-aware connection path.
- Add resolver tests for:
- TLS context metadata with
Storage.TLSPath
- plain HTTP/TCP context without TLS material
- unsupported
ssh:// context
Implemented on #64
Summary
Coasts now has a path to resolve local Docker context sockets, but it still does not support Docker contexts whose endpoint is
tcp:///https://and whose TLS material is stored in Docker's context metadata storage.This affects remote/TLS Docker contexts even when they are the active Docker context and work with the Docker CLI.
Desired behavior
When Coasts resolves a Docker context endpoint:
unix://ornpipe://should keep using the local socket pathtcp:///http://without TLS material should use HTTPtcp:///https://with TLS material should use TLSssh://is explicitly out of scope for this issueReferences
docker context inspect: https://docs.docker.com/reference/cli/docker/context/inspect/The
docker context inspectoutput includes:Endpoints.docker.HostStorage.TLSPathThose should be enough to locate
ca.pem,cert.pem, andkey.pemfor context-driven TLS connections.Proposed implementation split
coast-docker::hostonly.DOCKER_HOST/DOCKER_TLS_VERIFY/DOCKER_CERT_PATHbehavior delegated to Bollard's existing env-aware connection path.Storage.TLSPathssh://contextImplemented on #64