From 474fdcf68d099d2780378372a8da4faac0750db2 Mon Sep 17 00:00:00 2001 From: Yoan Blanc Date: Sun, 16 Feb 2020 10:47:07 +0100 Subject: [PATCH] image: fix registry mirror setup Signed-off-by: Yoan Blanc --- integration/dockerfiles/Dockerfile_registry_mirror | 4 ++-- integration/integration_test.go | 4 ++-- pkg/config/options.go | 4 ++-- pkg/util/image_util.go | 7 ++++++- 4 files changed, 12 insertions(+), 7 deletions(-) diff --git a/integration/dockerfiles/Dockerfile_registry_mirror b/integration/dockerfiles/Dockerfile_registry_mirror index 1d48c3e342..9791923543 100644 --- a/integration/dockerfiles/Dockerfile_registry_mirror +++ b/integration/dockerfiles/Dockerfile_registry_mirror @@ -15,6 +15,6 @@ # Test to make sure the executor builds an image correctly # when no files are changed -FROM google-appengine/debian9@sha256:1d6a9a6d106bd795098f60f4abb7083626354fa6735e81743c7f8cfca11259f0 -RUN echo "hey" +FROM library/debian:latest +RUN echo "hey" MAINTAINER kaniko diff --git a/integration/integration_test.go b/integration/integration_test.go index 33c5f71c12..558a1c53f3 100644 --- a/integration/integration_test.go +++ b/integration/integration_test.go @@ -229,7 +229,7 @@ func getGitRepo() string { } else { branch = os.Getenv("TRAVIS_BRANCH") repoSlug = os.Getenv("TRAVIS_REPO_SLUG") - log.Printf("Travis CI pepo: %s branch: %s\n", repoSlug, branch) + log.Printf("Travis CI repo: %s branch: %s\n", repoSlug, branch) } return "github.com/" + repoSlug + "#refs/heads/" + branch } @@ -303,7 +303,7 @@ func TestBuildViaRegistryMirror(t *testing.T) { dockerRunFlags = append(dockerRunFlags, ExecutorImage, "-f", dockerfile, "-d", kanikoImage, - "--registry-mirror", "gcr.io", + "--registry-mirror", "us-mirror.gcr.io", "-c", fmt.Sprintf("git://%s", repo)) kanikoCmd := exec.Command("docker", dockerRunFlags...) diff --git a/pkg/config/options.go b/pkg/config/options.go index 92ab868e5e..bf34f3b5cc 100644 --- a/pkg/config/options.go +++ b/pkg/config/options.go @@ -40,10 +40,10 @@ type KanikoOptions struct { ImageNameDigestFile string OCILayoutPath string RegistryMirror string - InsecureRegistries multiArg - SkipTLSVerifyRegistries multiArg Destinations multiArg BuildArgs multiArg + InsecureRegistries multiArg + SkipTLSVerifyRegistries multiArg Insecure bool SkipTLSVerify bool InsecurePull bool diff --git a/pkg/util/image_util.go b/pkg/util/image_util.go index 1e0a2a021c..9f1e68e51d 100644 --- a/pkg/util/image_util.go +++ b/pkg/util/image_util.go @@ -108,6 +108,7 @@ func remoteImage(image string, opts *config.KanikoOptions) (v1.Image, error) { registryName := ref.Context().RegistryStr() var newReg name.Registry + toSet := false if opts.RegistryMirror != "" && registryName == name.DefaultRegistry { registryName = opts.RegistryMirror @@ -116,6 +117,8 @@ func remoteImage(image string, opts *config.KanikoOptions) (v1.Image, error) { if err != nil { return nil, err } + + toSet = true } if opts.InsecurePull || opts.InsecureRegistries.Contains(registryName) { @@ -123,9 +126,11 @@ func remoteImage(image string, opts *config.KanikoOptions) (v1.Image, error) { if err != nil { return nil, err } + + toSet = true } - if newReg != ref.Context().Registry { + if toSet { if tag, ok := ref.(name.Tag); ok { tag.Repository.Registry = newReg ref = tag