diff --git a/pkg/credentialprovider/aws/aws_credentials.go b/pkg/credentialprovider/aws/aws_credentials.go index 9537f6b82e8b..0641fa787d92 100644 --- a/pkg/credentialprovider/aws/aws_credentials.go +++ b/pkg/credentialprovider/aws/aws_credentials.go @@ -41,7 +41,7 @@ import ( ) var ( - ecrPattern = regexp.MustCompile(`^(\d{12})\.dkr\.ecr(\-fips)?\.([a-zA-Z0-9][a-zA-Z0-9-_]*)\.amazonaws\.com(\.cn)?$`) + ecrPattern = regexp.MustCompile(`^(\d{12})\.dkr\.ecr(\-fips)?\.([a-zA-Z0-9][a-zA-Z0-9-_]*)\.(amazonaws\.com(\.cn)?|sc2s\.sgov\.gov|c2s\.ic\.gov)$`) once sync.Once isEC2 bool ) diff --git a/pkg/credentialprovider/aws/aws_credentials_test.go b/pkg/credentialprovider/aws/aws_credentials_test.go index a299d9ac109b..b05e4d35327c 100644 --- a/pkg/credentialprovider/aws/aws_credentials_test.go +++ b/pkg/credentialprovider/aws/aws_credentials_test.go @@ -82,6 +82,12 @@ func TestRegistryPatternMatch(t *testing.T) { {"123456789012.dkr.ecr-fips.lala-land-1.amazonaws.com", true}, // .cn {"123456789012.dkr.ecr.lala-land-1.amazonaws.com.cn", true}, + // iso + {"123456789012.dkr.ecr.us-iso-east-1.c2s.ic.gov", true}, + // iso-b + {"123456789012.dkr.ecr.us-isob-east-1.sc2s.sgov.gov", true}, + // invalid gov endpoint + {"123456789012.dkr.ecr.us-iso-east-1.amazonaws.gov", false}, // registry ID too long {"1234567890123.dkr.ecr.lala-land-1.amazonaws.com", false}, // registry ID too short