forked from TrueCloudLab/distribution
065ddf0186
Further differentiate the APIEndpoint used with V2 with the endpoint type which is only used for v1 registry interactions Rename Endpoint to V1Endpoint and remove version ambiguity Use distribution token handler for login Signed-off-by: Derek McGowan <derek@mcgstyle.net> Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
53 lines
1.1 KiB
Go
53 lines
1.1 KiB
Go
package registry
|
|
|
|
import (
|
|
"net/url"
|
|
|
|
"github.com/docker/go-connections/tlsconfig"
|
|
)
|
|
|
|
func (s *Service) lookupV1Endpoints(hostname string) (endpoints []APIEndpoint, err error) {
|
|
var cfg = tlsconfig.ServerDefault
|
|
tlsConfig := &cfg
|
|
if hostname == DefaultNamespace {
|
|
endpoints = append(endpoints, APIEndpoint{
|
|
URL: DefaultV1Registry,
|
|
Version: APIVersion1,
|
|
Official: true,
|
|
TrimHostname: true,
|
|
TLSConfig: tlsConfig,
|
|
})
|
|
return endpoints, nil
|
|
}
|
|
|
|
tlsConfig, err = s.TLSConfig(hostname)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
endpoints = []APIEndpoint{
|
|
{
|
|
URL: &url.URL{
|
|
Scheme: "https",
|
|
Host: hostname,
|
|
},
|
|
Version: APIVersion1,
|
|
TrimHostname: true,
|
|
TLSConfig: tlsConfig,
|
|
},
|
|
}
|
|
|
|
if tlsConfig.InsecureSkipVerify {
|
|
endpoints = append(endpoints, APIEndpoint{ // or this
|
|
URL: &url.URL{
|
|
Scheme: "http",
|
|
Host: hostname,
|
|
},
|
|
Version: APIVersion1,
|
|
TrimHostname: true,
|
|
// used to check if supposed to be secure via InsecureSkipVerify
|
|
TLSConfig: tlsConfig,
|
|
})
|
|
}
|
|
return endpoints, nil
|
|
}
|