Fix TLS config resolution for GraphQL clients #49624
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #49623
This makes the TLS configuration resolution a bit more reasonable and predictable.
The main fix is that when a GraphQL client declares a specific TLS configuration, it will be used (currently it uses the default one instead of the named one if the default one has some trust options defined, which is clearly a bug).
As a side fix, when the deprecated properties (
quarkus.smallrye-graphql-client.CLIENT-NAME.key-store
andquarkus.smallrye-graphql-client.CLIENT-NAME.trust-store
) are defined, they will now always take precedence over TLS configuration (logging a warning if an explicit TLS config is supplied too). Before this PR, they would or would not take precedence depending on whether the default TLS configuration had trust options defined or not, which is very weird.I'm planning to remove the deprecated properties soon anyway, but I wanted to split it into steps so that this step can be backported to 3.20.