Closed Eng-Fouad closed 1 year ago
/cc @geoand (devservices), @stuartwdouglas (devservices)
So you are envisioning having Quarkus just spin up some user provided container and not actually set any configuration properties (which is one of the real useful points about DevServices)?
So you are envisioning having Quarkus just spin up some user provided container and not actually set any configuration properties (which is one of the real useful points about DevServices)?
Yes, and testcontainers already supports building custom images on the fly: https://java.testcontainers.org/features/creating_images/
We still need to specify some config properties, such as environment variables, mapping exposed ports, etc.
Can you give a more concrete example of what you would like to do with this feature?
Can you give a more concrete example of what you would like to do with this feature?
I need to integrate my Quarkus app with external service that is developed and maintained by different team.
I wrote Dockerfile that git-clone latest commit of the external service and then run it. Instead of building the docker image manually each time, I would like to make Quarkus (upon starting) to build the custom image on the fly and run it on a container.
I am not sure if this feature is related to devservices or maybe it can be in a separate Quarkiverse extension.
Okay, so this is basically a duplicate of https://github.com/quarkusio/quarkus/issues/20037. The problem there is that we never really figured out what a good user experience would be... For example when you need to start this external service, what if that needs a database, or a message broker?
I actually had a PoC of this: https://github.com/stuartwdouglas/quarkus/tree/generic-devservices
I didn't follow it through because I was unsure if there was actually user demand.
Description
One can write custom Dockerfile then the devservices image can be built on the fly and run via testcontainers's GenericContainer.
I needed this feature to help me fetching code of other microservices from git repos then run them locally via docker at Quarkus startup. It would be a nice feature to have in Quarkus.
This also opens a lot of possibilities and run anything as devservices.