@@ -33,14 +33,18 @@ public class ProxyImageNameSubstitutor extends ImageNameSubstitutor {
3333 private static final Logger LOG = LoggerFactory .getLogger (ProxyImageNameSubstitutor .class );
3434
3535 private static final List <String > NAMES_TO_PROXY_PREFIX = List .of ("ryuk" , "arm64v8/mariadb" , "ibmcom/db2" ,
36- "gvenzl/oracle-xe" );
36+ "gvenzl/oracle-free" , "gvenzl/oracle- xe" );
3737
3838 private static final List <String > NAMES_TO_LIBRARY_PROXY_PREFIX = List .of ("mariadb" , "mysql" , "postgres" );
3939
40+ private static final List <String > NAMES_TO_MCR_PROXY_PREFIX = List .of ("mcr.microsoft.com/mssql" );
41+
4042 private static final String PROXY_PREFIX = "harbor-repo.vmware.com/dockerhub-proxy-cache/" ;
4143
4244 private static final String LIBRARY_PROXY_PREFIX = PROXY_PREFIX + "library/" ;
4345
46+ private static final String MCR_PROXY_PREFIX = "harbor-repo.vmware.com/mcr-proxy-cache/" ;
47+
4448 @ Override
4549 public DockerImageName apply (DockerImageName dockerImageName ) {
4650
@@ -58,6 +62,13 @@ public DockerImageName apply(DockerImageName dockerImageName) {
5862 return DockerImageName .parse (transformedName );
5963 }
6064
65+ if (NAMES_TO_MCR_PROXY_PREFIX .stream ().anyMatch (s -> dockerImageName .asCanonicalNameString ().contains (s ))) {
66+
67+ String transformedName = applyMcrProxyPrefix (dockerImageName .asCanonicalNameString ());
68+ LOG .info ("Converting " + dockerImageName .asCanonicalNameString () + " to " + transformedName );
69+ return DockerImageName .parse (transformedName );
70+ }
71+
6172 LOG .info ("Not changing " + dockerImageName .asCanonicalNameString () + "..." );
6273 return dockerImageName ;
6374 }
@@ -80,4 +91,11 @@ private static String applyProxyPrefix(String imageName) {
8091 private static String applyProxyAndLibraryPrefix (String imageName ) {
8192 return LIBRARY_PROXY_PREFIX + imageName ;
8293 }
94+
95+ /**
96+ * Apply an MCR-based prefix.
97+ */
98+ private static String applyMcrProxyPrefix (String imageName ) {
99+ return MCR_PROXY_PREFIX + imageName .substring ("mcr.microsoft.com/" .length ());
100+ }
83101}
0 commit comments