DBZ-7524 Download image from Docker Hub as a fallback option
This commit is contained in:
parent
df18e00173
commit
4feb65f50c
@ -21,7 +21,8 @@
|
|||||||
public class ContainerImageVersions {
|
public class ContainerImageVersions {
|
||||||
|
|
||||||
private static final String QUAY_IO_REGISTRY = "quay.io/";
|
private static final String QUAY_IO_REGISTRY = "quay.io/";
|
||||||
private static final String BASE_URL = "https://quay.io/api/v1/repository/%s/tag/?onlyActiveTags=true";
|
private static final String QUAY_URL = "https://quay.io/api/v1/repository/%s/tag/?onlyActiveTags=true";
|
||||||
|
private static final String DOCKER_HUB_URL = "https://hub.docker.com/v2/repositories/%s/tags/";
|
||||||
|
|
||||||
private static final String VERSION_PROPERTY_PREFIX = "debezium.testcontainers.version";
|
private static final String VERSION_PROPERTY_PREFIX = "debezium.testcontainers.version";
|
||||||
|
|
||||||
@ -34,12 +35,20 @@ public static String getStableVersion(String image) {
|
|||||||
image = image.substring(QUAY_IO_REGISTRY.length());
|
image = image.substring(QUAY_IO_REGISTRY.length());
|
||||||
}
|
}
|
||||||
|
|
||||||
return getStableVersionFromProperty(image).orElse(getStableVersionFromQuay(image));
|
return getStableVersionFromProperty(image).orElse(getStableVersionFromAnyRegistry(image));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getStableVersionFromQuay(String image) {
|
public static String getStableVersionFromQuay(String name) {
|
||||||
|
return getStableVersionFromRegistry(QUAY_URL, name);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String getStableVersionFromDockerHub(String name) {
|
||||||
|
return getStableVersionFromRegistry(DOCKER_HUB_URL, name);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String getStableVersionFromRegistry(String baseUrl, String image) {
|
||||||
try {
|
try {
|
||||||
URL url = new URL(String.format(BASE_URL, image));
|
URL url = new URL(String.format(baseUrl, image));
|
||||||
HttpsURLConnection httpsURLConnection = (HttpsURLConnection) url.openConnection();
|
HttpsURLConnection httpsURLConnection = (HttpsURLConnection) url.openConnection();
|
||||||
httpsURLConnection.setRequestMethod("GET");
|
httpsURLConnection.setRequestMethod("GET");
|
||||||
|
|
||||||
@ -81,4 +90,13 @@ private static Optional<String> getStableVersionFromProperty(String image) {
|
|||||||
|
|
||||||
return Optional.ofNullable(version);
|
return Optional.ofNullable(version);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static String getStableVersionFromAnyRegistry(String name) {
|
||||||
|
try {
|
||||||
|
return getStableVersionFromQuay(name);
|
||||||
|
}
|
||||||
|
catch (Exception e) {
|
||||||
|
return getStableVersionFromDockerHub(name);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user