From 3c7de52cc243efbc8d4623a3d03db5be0724dd86 Mon Sep 17 00:00:00 2001 From: andyzhangx Date: Thu, 28 Feb 2019 08:52:35 +0000 Subject: [PATCH] add Azure Container Registry anonymous repo support apply fix for msi and fix test failure --- pkg/credentialprovider/azure/azure_credentials.go | 7 +++++++ pkg/credentialprovider/azure/azure_credentials_test.go | 8 ++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/pkg/credentialprovider/azure/azure_credentials.go b/pkg/credentialprovider/azure/azure_credentials.go index 28e43048d22..a2759f525a5 100644 --- a/pkg/credentialprovider/azure/azure_credentials.go +++ b/pkg/credentialprovider/azure/azure_credentials.go @@ -206,6 +206,13 @@ func (a *acrProvider) Provide() credentialprovider.DockerConfig { cfg[url] = *cred } } + + // add ACR anonymous repo support: use empty username and password for anonymous access + cfg["*.azurecr.*"] = credentialprovider.DockerConfigEntry{ + Username: "", + Password: "", + Email: dummyRegistryEmail, + } return cfg } diff --git a/pkg/credentialprovider/azure/azure_credentials_test.go b/pkg/credentialprovider/azure/azure_credentials_test.go index d0201f0a477..6e5434ee285 100644 --- a/pkg/credentialprovider/azure/azure_credentials_test.go +++ b/pkg/credentialprovider/azure/azure_credentials_test.go @@ -76,14 +76,14 @@ func Test(t *testing.T) { creds := provider.Provide() - if len(creds) != len(result) { - t.Errorf("Unexpected list: %v, expected length %d", creds, len(result)) + if len(creds) != len(result)+1 { + t.Errorf("Unexpected list: %v, expected length %d", creds, len(result)+1) } for _, cred := range creds { - if cred.Username != "foo" { + if cred.Username != "" && cred.Username != "foo" { t.Errorf("expected 'foo' for username, saw: %v", cred.Username) } - if cred.Password != "bar" { + if cred.Password != "" && cred.Password != "bar" { t.Errorf("expected 'bar' for password, saw: %v", cred.Username) } }