mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-28 14:07:14 +00:00
Merge pull request #8863 from mfojtik/fix-default-registry-matcher
Add 'docker.io' and 'index.docker.io' to default registry matcher
This commit is contained in:
commit
760caea187
@ -108,11 +108,20 @@ const defaultRegistryHost = "index.docker.io/v1/"
|
|||||||
func isDefaultRegistryMatch(image string) bool {
|
func isDefaultRegistryMatch(image string) bool {
|
||||||
parts := strings.SplitN(image, "/", 2)
|
parts := strings.SplitN(image, "/", 2)
|
||||||
|
|
||||||
|
if len(parts[0]) == 0 {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
if len(parts) == 1 {
|
if len(parts) == 1 {
|
||||||
// e.g. library/ubuntu
|
// e.g. library/ubuntu
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if parts[0] == "docker.io" || parts[0] == "index.docker.io" {
|
||||||
|
// resolve docker.io/image and index.docker.io/image as default registry
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
// From: http://blog.docker.com/2013/07/how-to-use-your-own-registry/
|
// From: http://blog.docker.com/2013/07/how-to-use-your-own-registry/
|
||||||
// Docker looks for either a “.” (domain separator) or “:” (port separator)
|
// Docker looks for either a “.” (domain separator) or “:” (port separator)
|
||||||
// to learn that the first part of the repository name is a location and not
|
// to learn that the first part of the repository name is a location and not
|
||||||
|
@ -413,6 +413,26 @@ func TestKeyringHitWithQualifiedDockerHub(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestIsDefaultRegistryMatch(t *testing.T) {
|
||||||
|
samples := []map[bool]string{
|
||||||
|
{true: "foo/bar"},
|
||||||
|
{true: "docker.io/foo/bar"},
|
||||||
|
{true: "index.docker.io/foo/bar"},
|
||||||
|
{true: "foo"},
|
||||||
|
{false: ""},
|
||||||
|
{false: "registry.tld/foo/bar"},
|
||||||
|
{false: "registry:5000/foo/bar"},
|
||||||
|
{false: "myhostdocker.io/foo/bar"},
|
||||||
|
}
|
||||||
|
for _, sample := range samples {
|
||||||
|
for expected, imageName := range sample {
|
||||||
|
if got := isDefaultRegistryMatch(imageName); got != expected {
|
||||||
|
t.Errorf("Expected '%s' to be %s, got %s", imageName, expected, got)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
type testProvider struct {
|
type testProvider struct {
|
||||||
Count int
|
Count int
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user