-
Notifications
You must be signed in to change notification settings - Fork 2.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add first version of Keycloak admin client based on Reactive REST Client #24294
Conversation
This is pretty much a straight copy of the existing Keycloak code that removes various things that are not supported by Quarkus. Furthermore, the base package was changed because there are cases where the upstream Keycloak client still needs to be used (for example in a QuarkusTestResourceLifecycleManager which runs before the Quarkus application and therefore cannot use any Quarkus infrastructure) Fixes: quarkusio#20505
…loak admin client
This workflow status is outdated as a new workflow run has been triggered. |
@geoand Hi, that was super fast, thanks. I recall there was some discussion about keeping the actual Keycloak admin client source in the |
We can certainly do that, I don't mind. |
Thanks @geoand, I believe @cescoffier was proposing it. I guess it can be easier for us to see some initial borders between the actual quarkus extension and the admin client source if this client source were located in |
Let's see what @cescoffier says |
I agree. I quickly looked at the pr and the naming is somewhat confusing (reactive but not a reactive api). So we would need to be smart on this. Also, I believe we need to generate a diff with the upstream API to highlight the problem and see how the upstream needs to be adapted. |
Okay, so what exactly would you like to see? A first commit with all the resources (in the same or different package?) and a second commit with the current form? Also, what code do you want in the independent project, only the resources? |
Let's wait and see if the upstream client will be updated and released with the changes we need in the next few days. If so, then the copied code added here won't be needed |
// where beans may or may not exist | ||
private ClientBuilderImpl registerJacksonProviders(ClientBuilderImpl clientBuilder) { | ||
ArcContainer arcContainer = Arc.container(); | ||
if (arcContainer == null) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
when can arc container be null?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Initially I tried to make it work it tests environments as well, but that didn't pan out. So indeed this check could be removed.
Closing in favor of #24300 |
This is pretty much a straight copy of the existing Keycloak code
that removes various things that are not supported by Quarkus.
Furthermore, the base package was changed because there are cases
where the upstream Keycloak admin client still needs to be used (for example
in a QuarkusTestResourceLifecycleManager which runs before the Quarkus
application and therefore cannot use any Quarkus infrastructure. This case
is exhibited by the second commit, which uses the upstream admin client for the
QuarkusTestResourceLifecycleManager
, but the new admin client for the applicationitself).
Fixes: #20505