@@ -33,14 +33,18 @@ public class ProxyImageNameSubstitutor extends ImageNameSubstitutor {
33
33
private static final Logger LOG = LoggerFactory .getLogger (ProxyImageNameSubstitutor .class );
34
34
35
35
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" );
37
37
38
38
private static final List <String > NAMES_TO_LIBRARY_PROXY_PREFIX = List .of ("mariadb" , "mysql" , "postgres" );
39
39
40
+ private static final List <String > NAMES_TO_MCR_PROXY_PREFIX = List .of ("mcr.microsoft.com/mssql" );
41
+
40
42
private static final String PROXY_PREFIX = "harbor-repo.vmware.com/dockerhub-proxy-cache/" ;
41
43
42
44
private static final String LIBRARY_PROXY_PREFIX = PROXY_PREFIX + "library/" ;
43
45
46
+ private static final String MCR_PROXY_PREFIX = "harbor-repo.vmware.com/mcr-proxy-cache/" ;
47
+
44
48
@ Override
45
49
public DockerImageName apply (DockerImageName dockerImageName ) {
46
50
@@ -58,6 +62,13 @@ public DockerImageName apply(DockerImageName dockerImageName) {
58
62
return DockerImageName .parse (transformedName );
59
63
}
60
64
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
+
61
72
LOG .info ("Not changing " + dockerImageName .asCanonicalNameString () + "..." );
62
73
return dockerImageName ;
63
74
}
@@ -80,4 +91,11 @@ private static String applyProxyPrefix(String imageName) {
80
91
private static String applyProxyAndLibraryPrefix (String imageName ) {
81
92
return LIBRARY_PROXY_PREFIX + imageName ;
82
93
}
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
+ }
83
101
}
0 commit comments