Skip to content

Commit d131767

Browse files
committed
Set default Docker image for Redis Dev Services
1 parent 6cdf45d commit d131767

File tree

6 files changed

+13
-6
lines changed

6 files changed

+13
-6
lines changed

build-parent/pom.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@
117117
<narayana-lra.image>quay.io/jbosstm/lra-coordinator:latest</narayana-lra.image>
118118
<rabbitmq.image>rabbitmq:3.12-management</rabbitmq.image>
119119
<pulsar.image>apachepulsar/pulsar:3.2.4</pulsar.image>
120+
<redis.image>redis:7</redis.image>
120121

121122
<!-- Code Coverage Properties-->
122123
<jacoco.agent.argLine></jacoco.agent.argLine>

docs/src/main/asciidoc/_attributes.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
:mongo-image: ${mongo.image}
2626
:rabbitmq-image: ${rabbitmq.image}
2727
:pulsar-image: ${pulsar.image}
28+
:redis-image: ${redis.image}
2829
:jandex-version: ${jandex.version}
2930
:jandex-gradle-plugin-version: ${jandex-gradle-plugin.version}
3031
:kotlin-version: ${kotlin.version}

docs/src/main/asciidoc/redis.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -479,9 +479,9 @@ However, in production, you will run your own Redis (or used a Cloud offering).
479479

480480
Let's start a Redis server on the port 6379 using:
481481

482-
[source, shell]
482+
[source, shell, subs=attributes+]
483483
----
484-
docker run --ulimit memlock=-1:-1 -it --rm=true --memory-swappiness=0 --name redis_quarkus_test -p 6379:6379 redis:5.0.6
484+
docker run --ulimit memlock=-1:-1 -it --rm=true --memory-swappiness=0 --name redis_quarkus_test -p 6379:6379 {redis-image}
485485
----
486486

487487
Then, open the `src/main/resources/application.properties` file and add:

extensions/redis-client/deployment/src/main/java/io/quarkus/redis/deployment/client/DevServicesConfig.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import java.util.Optional;
55
import java.util.OptionalInt;
66

7+
import io.quarkus.runtime.annotations.ConfigDocDefault;
78
import io.quarkus.runtime.annotations.ConfigDocMapKey;
89
import io.quarkus.runtime.annotations.ConfigGroup;
910
import io.smallrye.config.WithDefault;
@@ -26,6 +27,7 @@ public interface DevServicesConfig {
2627
* If you want to use Redis Stack modules (bloom, graph, search...), use:
2728
* {@code redis/redis-stack:latest}.
2829
*/
30+
@ConfigDocDefault(value = "`{redis-image}`", escape = false)
2931
Optional<String> imageName();
3032

3133
/**

extensions/redis-client/deployment/src/main/java/io/quarkus/redis/deployment/client/DevServicesRedisProcessor.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package io.quarkus.redis.deployment.client;
22

33
import static io.quarkus.devservices.common.ConfigureUtil.configureSharedServiceLabel;
4+
import static io.quarkus.devservices.common.ConfigureUtil.getDefaultImageNameFor;
45
import static io.quarkus.devservices.common.ContainerLocator.locateContainerWithLabels;
56
import static io.quarkus.redis.runtime.client.config.RedisConfig.HOSTS;
67
import static io.quarkus.redis.runtime.client.config.RedisConfig.getPropertyName;
@@ -38,7 +39,6 @@
3839
public class DevServicesRedisProcessor {
3940
private static final Logger log = Logger.getLogger(DevServicesRedisProcessor.class);
4041

41-
private static final String REDIS_IMAGE = "docker.io/redis:7";
4242
private static final int REDIS_EXPOSED_PORT = 6379;
4343
private static final String REDIS_SCHEME = "redis://";
4444

@@ -84,8 +84,10 @@ public void startRedisContainers(LaunchModeBuildItem launchMode,
8484
.serviceName(name)
8585
.serviceConfig(redisConfig)
8686
.startable(() -> new QuarkusPortRedisContainer(
87-
DockerImageName.parse(redisConfig.imageName().orElse(REDIS_IMAGE))
88-
.asCompatibleSubstituteFor(REDIS_IMAGE),
87+
DockerImageName
88+
.parse(redisConfig.imageName()
89+
.orElseGet(() -> getDefaultImageNameFor("redis")))
90+
.asCompatibleSubstituteFor("redis"),
8991
redisConfig.port(),
9092
composeProjectBuildItem.getDefaultNetworkId(),
9193
useSharedNetwork)
@@ -128,7 +130,7 @@ private DevServicesResultBuildItem discoverRunningService(DevServicesComposeProj
128130
boolean useSharedNetwork) {
129131
return redisContainerLocator.locateContainer(devServicesConfig.serviceName(), devServicesConfig.shared(), launchMode)
130132
.or(() -> ComposeLocator.locateContainer(composeProjectBuildItem,
131-
List.of(devServicesConfig.imageName().orElse("redis")),
133+
List.of(devServicesConfig.imageName().orElseGet(() -> getDefaultImageNameFor("redis"))),
132134
REDIS_EXPOSED_PORT, launchMode, useSharedNetwork))
133135
.map(containerAddress -> {
134136
String redisUrl = REDIS_SCHEME + containerAddress.getUrl();
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
default.image=${redis.image}

0 commit comments

Comments
 (0)