diff --git a/vendor/github.com/containers/image/docker/docker_client.go b/vendor/github.com/containers/image/docker/docker_client.go index 481fa43d..cdc91d36 100644 --- a/vendor/github.com/containers/image/docker/docker_client.go +++ b/vendor/github.com/containers/image/docker/docker_client.go @@ -125,6 +125,9 @@ func (c *dockerClient) makeRequestToResolvedURL(method, url string, headers map[ req.Header.Add(n, hh) } } + if c.ctx != nil && c.ctx.DockerRegistryUserAgent != "" { + req.Header.Add("User-Agent", c.ctx.DockerRegistryUserAgent) + } if c.wwwAuthenticate != "" { if err := c.setupRequestAuth(req); err != nil { return nil, err @@ -317,7 +320,7 @@ type pingResponse struct { func (c *dockerClient) ping() (*pingResponse, error) { ping := func(scheme string) (*pingResponse, error) { url := fmt.Sprintf(baseURL, scheme, c.registry) - resp, err := c.client.Get(url) + resp, err := c.makeRequestToResolvedURL("GET", url, nil, nil, -1) logrus.Debugf("Ping %s err %#v", url, err) if err != nil { return nil, err diff --git a/vendor/github.com/containers/image/types/types.go b/vendor/github.com/containers/image/types/types.go index 2e8546d7..8ee2946b 100644 --- a/vendor/github.com/containers/image/types/types.go +++ b/vendor/github.com/containers/image/types/types.go @@ -244,4 +244,6 @@ type SystemContext struct { DockerInsecureSkipTLSVerify bool // Allow contacting docker registries over HTTP, or HTTPS with failed TLS verification. Note that this does not affect other TLS connections. // if nil, the library tries to parse ~/.docker/config.json to retrieve credentials DockerAuthConfig *DockerAuthConfig + // if not "", an User-Agent header is added to each request when contacting a registry. + DockerRegistryUserAgent string }