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 {
|
||||
|
||||
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";
|
||||
|
||||
@ -34,12 +35,20 @@ public static String getStableVersion(String image) {
|
||||
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 {
|
||||
URL url = new URL(String.format(BASE_URL, image));
|
||||
URL url = new URL(String.format(baseUrl, image));
|
||||
HttpsURLConnection httpsURLConnection = (HttpsURLConnection) url.openConnection();
|
||||
httpsURLConnection.setRequestMethod("GET");
|
||||
|
||||
@ -81,4 +90,13 @@ private static Optional<String> getStableVersionFromProperty(String image) {
|
||||
|
||||
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