From 1b712e043444a7209a26349cf8124238488261e9 Mon Sep 17 00:00:00 2001 From: itsmevichu Date: Sat, 18 Apr 2026 15:53:10 +0530 Subject: [PATCH] Add support for docker.elastic.co/elasticsearch/elasticsearch See gh-50119 Signed-off-by: itsmevichu --- .../ConnectionNamePredicateTests.java | 21 ++++++++++--------- ...nectionDetailsFactoryIntegrationTests.java | 3 ++- ...DockerComposeConnectionDetailsFactory.java | 2 +- .../boot/testsupport/container/TestImage.java | 5 +++++ 4 files changed, 19 insertions(+), 12 deletions(-) diff --git a/core/spring-boot-docker-compose/src/test/java/org/springframework/boot/docker/compose/service/connection/ConnectionNamePredicateTests.java b/core/spring-boot-docker-compose/src/test/java/org/springframework/boot/docker/compose/service/connection/ConnectionNamePredicateTests.java index a506e48f795..aee7d90122d 100644 --- a/core/spring-boot-docker-compose/src/test/java/org/springframework/boot/docker/compose/service/connection/ConnectionNamePredicateTests.java +++ b/core/spring-boot-docker-compose/src/test/java/org/springframework/boot/docker/compose/service/connection/ConnectionNamePredicateTests.java @@ -39,16 +39,17 @@ class ConnectionNamePredicateTests { @Test void official() { - assertThat(predicateOf("elasticsearch")).accepts(sourceOf("elasticsearch")); - assertThat(predicateOf("elasticsearch")).accepts(sourceOf("library/elasticsearch")); - assertThat(predicateOf("elasticsearch")).accepts(sourceOf("docker.io/library/elasticsearch")); - assertThat(predicateOf("elasticsearch")).accepts(sourceOf("docker.io/elasticsearch")); - assertThat(predicateOf("elasticsearch")).accepts(sourceOf("docker.io/elasticsearch:latest")); - assertThat(predicateOf("elasticsearch")).rejects(sourceOf("redis")); - assertThat(predicateOf("elasticsearch")).rejects(sourceOf("library/redis")); - assertThat(predicateOf("elasticsearch")).rejects(sourceOf("docker.io/library/redis")); - assertThat(predicateOf("elasticsearch")).rejects(sourceOf("docker.io/redis")); - assertThat(predicateOf("elasticsearch")).rejects(sourceOf("docker.io/redis")); + assertThat(predicateOf("elasticsearch", "elasticsearch/elasticsearch")).accepts(sourceOf("elasticsearch")) + .accepts(sourceOf("library/elasticsearch")) + .accepts(sourceOf("docker.io/library/elasticsearch")) + .accepts(sourceOf("docker.io/library/elasticsearch")) + .accepts(sourceOf("docker.io/elasticsearch:latest")) + .accepts(sourceOf("docker.elastic.co/elasticsearch/elasticsearch:latest")) + .accepts(sourceOf("docker.elastic.co/elasticsearch/elasticsearch")) + .rejects(sourceOf("redis")) + .rejects(sourceOf("library/redis")) + .rejects(sourceOf("docker.io/library/redis")) + .rejects(sourceOf("docker.io/redis")); assertThat(predicateOf("zipkin")).rejects(sourceOf("openzipkin/zipkin")); } diff --git a/module/spring-boot-elasticsearch/src/dockerTest/java/org/springframework/boot/elasticsearch/docker/compose/ElasticsearchDockerComposeConnectionDetailsFactoryIntegrationTests.java b/module/spring-boot-elasticsearch/src/dockerTest/java/org/springframework/boot/elasticsearch/docker/compose/ElasticsearchDockerComposeConnectionDetailsFactoryIntegrationTests.java index 7fca9023e96..4bf343fe8ed 100644 --- a/module/spring-boot-elasticsearch/src/dockerTest/java/org/springframework/boot/elasticsearch/docker/compose/ElasticsearchDockerComposeConnectionDetailsFactoryIntegrationTests.java +++ b/module/spring-boot-elasticsearch/src/dockerTest/java/org/springframework/boot/elasticsearch/docker/compose/ElasticsearchDockerComposeConnectionDetailsFactoryIntegrationTests.java @@ -41,7 +41,8 @@ class ElasticsearchDockerComposeConnectionDetailsFactoryIntegrationTests { assertThat(connectionDetails.getSslBundle()).isNull(); } - @DockerComposeTest(composeFile = "elasticsearch-ssl-compose.yaml", image = TestImage.ELASTICSEARCH_9, + @DockerComposeTest(composeFile = "elasticsearch-ssl-compose.yaml", + image = TestImage.ELASTICSEARCH_ELASTIC_REGISTRY_9, additionalResources = { "ca.crt", "server.crt", "server.key", "client.crt", "client.key" }) void runWithSslCreatesConnectionDetails(ElasticsearchConnectionDetails connectionDetails) { assertConnectionDetails(connectionDetails, Protocol.HTTPS); diff --git a/module/spring-boot-elasticsearch/src/main/java/org/springframework/boot/elasticsearch/docker/compose/ElasticsearchDockerComposeConnectionDetailsFactory.java b/module/spring-boot-elasticsearch/src/main/java/org/springframework/boot/elasticsearch/docker/compose/ElasticsearchDockerComposeConnectionDetailsFactory.java index 428719d2d5b..19bd3be5fc3 100644 --- a/module/spring-boot-elasticsearch/src/main/java/org/springframework/boot/elasticsearch/docker/compose/ElasticsearchDockerComposeConnectionDetailsFactory.java +++ b/module/spring-boot-elasticsearch/src/main/java/org/springframework/boot/elasticsearch/docker/compose/ElasticsearchDockerComposeConnectionDetailsFactory.java @@ -42,7 +42,7 @@ class ElasticsearchDockerComposeConnectionDetailsFactory private static final int ELASTICSEARCH_PORT = 9200; protected ElasticsearchDockerComposeConnectionDetailsFactory() { - super("elasticsearch"); + super(new String[] { "elasticsearch", "elasticsearch/elasticsearch" }); } @Override diff --git a/test-support/spring-boot-docker-test-support/src/main/java/org/springframework/boot/testsupport/container/TestImage.java b/test-support/spring-boot-docker-test-support/src/main/java/org/springframework/boot/testsupport/container/TestImage.java index 6d7d83ed93f..6fc763b3e74 100644 --- a/test-support/spring-boot-docker-test-support/src/main/java/org/springframework/boot/testsupport/container/TestImage.java +++ b/test-support/spring-boot-docker-test-support/src/main/java/org/springframework/boot/testsupport/container/TestImage.java @@ -126,6 +126,11 @@ public enum TestImage { */ ELASTICSEARCH_9("elasticsearch", "9.0.2"), + /** + * A container image from Elastic Registry suitable for testing Elasticsearch 9. + */ + ELASTICSEARCH_ELASTIC_REGISTRY_9("docker.elastic.co/elasticsearch/elasticsearch", "9.0.2"), + /** * A container image suitable for testing Grafana OTel LGTM. */