-
Notifications
You must be signed in to change notification settings - Fork 2.8k
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
Bump smallrye config to 1.9.1 and provide support for ConfigSourceFactory #12515
Comments
This one is really up to Roberto and David. If they want to use this approach I can certainly update the Consul, Spring Cloud Config and Kubernetes Config extensions to use the new method. |
The bump is here: #12501. We can certainly provide a build step for the factory approach. Right now, what do you think we are missing? |
hello @radcortez
in an ideal ideal world the but short term we can continue with what we had discussed previously (and I already started implementing it in master...vsevel:vault_config). and in that case I am only missing the additional I am just not sure how far we are going to be able to go in terms of simplification. a review from yourself would be certainly very helpful after I finish the first draft of rework. |
@geoand I was thinking the other way around for a moment ;-) I like the simplicity of what you did for the consul config. |
Even better for me then, I don't have to do anything 😆 |
At this time, this is not possible because the I already thought about this in the past. It may be possible to let CDI manage Going forward, I'm checking on how we can simplify the VaultSource. |
thanks for this analysis @radcortez |
The only possible phase where this could work is In reality, with the I'm writing a small prototype to see how this should be wired and figure out any missing pieces in the API if required. I'll post here when I'm done. |
the only drawback is that you are losing the databinding I suppose? we would still have to implements methods such as |
If we are using the An alternative, it to use the |
would that require using the bootstrap phase? that is what is described in the documentation of this build item: Line 14 in cf539e6
or does it mean opening up |
Yes, you need to use the bootstrap phase. |
I ended up using a config source provider #13498 (comment) |
Ok. Thanks :) |
Description
smallrye config has been released as 1.9.1 with the ability to iterate over properties from previous config sources smallrye/smallrye-config#402
this requires ConfigSourceFactory to be supported by quarkus, instead of
ConfigSource
only.this is required to make progress on #10390 and #12243
Implementation ideas
Ability to recognize an additional
ConfigSource
seems to be related toRunTimeConfigurationSourceBuildItem
, later used byConfigBuildSteps
to create aConfigSourceProvider
. So it sounds like there should beRunTimeConfigurationSourceFactoryBuildItem
?It seems however that only the
VaultProcessor
uses theRunTimeConfigurationSourceBuildItem
approach. I looked again at the consul, spring and k8s config sources and the approach taken is with aRunTimeConfigurationSourceValueBuildItem
to work at the bootstrap level.even with the work provided by smallrye config 1.9 (smallrye/smallrye-config#196 and smallrye/smallrye-config#402), I am not convinced we will get a completely clean solution (I believe I will still have to do some property parsing and databinding). in that sense I am wondering if we could revisit using a
BOOTSTRAP
config phase like some of the other config sources #9989, or reopen #4848./cc @geoand @dmlloyd @radcortez
The text was updated successfully, but these errors were encountered: