Hi Thomas,
Appreciate your time and response here.
Do you use this whilst you're developing Keycloak itself or whilst developing extensions?
I attempted to use the Junit class directly but it still didn't play ball ("io.quarkus.bootstrap.resolver.AppModelResolverException: org.keycloak:keycloak-quarkus-server:null is missing version and is not found among the dependency constraints").
Yes on the embedded concept, it's interesting: is the proposal that an extension developer would effectively create a "standard" Quarkus project, include a Keycloak extension which runs Keycloak in-app (and then deployment would look much more a standard quarkus app than the current Keycloak method)? I guess the downside of this via building providers/plugins is it would be more complex to have "multiple" extensions and some of the helpful args Keycloak currently adds to JVM start would be lost.
I think sticking to the "build-a-plugin" concept initially makes the most sense for me (ie build process spits out something to put in the providers folder of your deployment)
Looking into the mechanics of the Keycloak class in JUnit5 it looks like there is a customisation of the Quarkus bootstrap process. I will try and see if I can adopt something similar to create a module that can bootstrap without some of the assumptions Quarkus makes but looking through the Quarkus code it seems quite involved... should be fun!
Will let you know how I get on
Best regards,
Zed