github.com/pdmccormick/importable-docker-buildx@v0.0.0-20240426161518-e47091289030/driver/remote/util/endpoint.go (about) 1 package remote 2 3 import ( 4 "net/url" 5 6 "github.com/pkg/errors" 7 ) 8 9 var schemes = map[string]struct{}{ 10 "tcp": {}, 11 "unix": {}, 12 "ssh": {}, 13 "docker-container": {}, 14 "kube-pod": {}, 15 "npipe": {}, 16 } 17 18 func IsValidEndpoint(ep string) error { 19 endpoint, err := url.Parse(ep) 20 if err != nil { 21 return errors.Wrapf(err, "failed to parse endpoint %s", ep) 22 } 23 if _, ok := schemes[endpoint.Scheme]; !ok { 24 return errors.Errorf("unrecognized url scheme %s", endpoint.Scheme) 25 } 26 return nil 27 }