Describe the problem/challenge you have
Testcontainers offers the possibility to run containers as part of the same network. There are scenarios where Dev Services would need to interact with each other. For example, Dapr can run as a container (actually, a group of containers) and when using also one of the OpenTelemetry Dev Services, it would be nice to let Dapr publish telemetry to it, and not only the Spring Boot application.
There are also cases where a Dev Service would be possible only by combining multiple containers. Preliminary work on shared networks should enable such scenarios.
Describe the solution you'd like
One option would be for Arconia to configure the container beans to use an optional org.testcontainers.containers.Network bean if the user configures one in their application.
Or maybe we could introduce a group of configuration properties generic for all Dev Services to allow configuring an optional "network name" and use it, perhaps with additional settings available for creating a Network object.
Testcontainers provides a concept of a shared network (Network.SHARED). So we might not need to introduce a custom network, but toggle on/off the use of a shared network. In that case, we should figure out what happens with reusable containers.
Anything else you would like to add
Thanks @salaboy for the suggestion. Example: https://github.com/salaboy/dapr-otel-min/blob/main/src/test/java/com/example/demo/DaprTestContainersConfig.java
I assert that this issue is relevant for Arconia
Describe the problem/challenge you have
Testcontainers offers the possibility to run containers as part of the same network. There are scenarios where Dev Services would need to interact with each other. For example, Dapr can run as a container (actually, a group of containers) and when using also one of the OpenTelemetry Dev Services, it would be nice to let Dapr publish telemetry to it, and not only the Spring Boot application.
There are also cases where a Dev Service would be possible only by combining multiple containers. Preliminary work on shared networks should enable such scenarios.
Describe the solution you'd like
One option would be for Arconia to configure the container beans to use an optional
org.testcontainers.containers.Networkbean if the user configures one in their application.Or maybe we could introduce a group of configuration properties generic for all Dev Services to allow configuring an optional "network name" and use it, perhaps with additional settings available for creating a Network object.
Testcontainers provides a concept of a shared network (
Network.SHARED). So we might not need to introduce a custom network, but toggle on/off the use of a shared network. In that case, we should figure out what happens with reusable containers.Anything else you would like to add
Thanks @salaboy for the suggestion. Example: https://github.com/salaboy/dapr-otel-min/blob/main/src/test/java/com/example/demo/DaprTestContainersConfig.java
I assert that this issue is relevant for Arconia