Skip to content

Commit 8e42901

Browse files
authored
Merge pull request #21 from infosiftr/dockerhub-public-proxy
Add support for DOCKERHUB_PUBLIC_PROXY in skipping code
2 parents 8e74bdc + 44725ba commit 8e42901

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

cmd/bashbrew/registry.go

+17-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ package main
33
import (
44
"context"
55
"encoding/json"
6+
"net/url"
7+
"os"
68

79
"github.com/containerd/containerd/images"
810
"github.com/containerd/containerd/reference/docker"
@@ -125,5 +127,19 @@ func fetchRegistryResolveHelper(image string) (string, remotes.Resolver, error)
125127
namedRef = docker.TagNameOnly(namedRef)
126128
ref = namedRef
127129
}
128-
return ref.String(), dockerremote.NewResolver(dockerremote.ResolverOptions{}), nil
130+
return ref.String(), dockerremote.NewResolver(dockerremote.ResolverOptions{
131+
Host: func(host string) (string, error) {
132+
if host == "docker.io" {
133+
if publicProxy := os.Getenv("DOCKERHUB_PUBLIC_PROXY"); publicProxy != "" {
134+
if publicProxyURL, err := url.Parse(publicProxy); err == nil {
135+
// TODO Scheme (also not sure if "host:port" will be satisfactory to containerd here, but 🤷)
136+
return publicProxyURL.Host, nil
137+
} else {
138+
return "", err
139+
}
140+
}
141+
}
142+
return host, nil
143+
},
144+
}), nil
129145
}

0 commit comments

Comments
 (0)