mirror of https://github.com/k3s-io/k3s
Add 'docker.io' and 'index.docker.io' to default registry matcher
Signed-off-by: Michal Fojtik <mfojtik@redhat.com>pull/6/head
parent
6fa2777e26
commit
9a94f7cc38
|
@ -106,11 +106,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
|
||||||
|
|
|
@ -238,6 +238,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