|
@@ -1,6 +1,7 @@
|
|
|
package containerd
|
|
|
|
|
|
import (
|
|
|
+ "context"
|
|
|
"crypto/tls"
|
|
|
"errors"
|
|
|
"net/http"
|
|
@@ -8,19 +9,23 @@ import (
|
|
|
"github.com/containerd/containerd/remotes"
|
|
|
"github.com/containerd/containerd/remotes/docker"
|
|
|
registrytypes "github.com/docker/docker/api/types/registry"
|
|
|
+ "github.com/docker/docker/dockerversion"
|
|
|
"github.com/docker/docker/registry"
|
|
|
"github.com/sirupsen/logrus"
|
|
|
)
|
|
|
|
|
|
-func (i *ImageService) newResolverFromAuthConfig(authConfig *registrytypes.AuthConfig) (remotes.Resolver, docker.StatusTracker) {
|
|
|
+func (i *ImageService) newResolverFromAuthConfig(ctx context.Context, authConfig *registrytypes.AuthConfig) (remotes.Resolver, docker.StatusTracker) {
|
|
|
tracker := docker.NewInMemoryTracker()
|
|
|
hostsFn := i.registryHosts.RegistryHosts()
|
|
|
|
|
|
hosts := hostsWrapper(hostsFn, authConfig, i.registryService)
|
|
|
+ headers := http.Header{}
|
|
|
+ headers.Set("User-Agent", dockerversion.DockerUserAgent(ctx))
|
|
|
|
|
|
return docker.NewResolver(docker.ResolverOptions{
|
|
|
Hosts: hosts,
|
|
|
Tracker: tracker,
|
|
|
+ Headers: headers,
|
|
|
}), tracker
|
|
|
}
|
|
|
|