-
-
Notifications
You must be signed in to change notification settings - Fork 21
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
Revisit configuration management to support modification via UI #929
Comments
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
Given there is no way to achieve a truly consistent view of configurations for all applications in the system, without:
The (hopefully final) proposal is as follows:
This should allow services like the vulnerability-analyzer to continue processing multiple thousands of records per second, without hammering the database. In the worst case, the cached configuration will be stale for up to 1min, but given the other options we have, that is actually not that bad. Queries to fetch configuration options are lightweight. The biggest factor will be network latency, which the file-based configuration approach naturally didn't have. |
On the Quarkus side of things, I'm thinking we should plug into the existing config framework: https://quarkus.io/guides/config-extending-support#custom-config-source By the looks of it, this can also be made to support reloads at runtime, and even change notification. Looking into it more. |
This replaces manual usage of `ConfigPropertyRepository` with more Quarkus-idiomatic `@ConfigProperty` injection. It leverages the new `quarkus-config-dependencytrack` extension. Another unforeseen benefit is that it's now possible to simply provide property overrides for tests, instead of having to persist anything in a database. Relates to #929 Signed-off-by: nscuro <nscuro@protonmail.com>
This replaces manual usage of `ConfigPropertyRepository` with more Quarkus-idiomatic `@ConfigProperty` injection. It leverages the new `quarkus-config-dependencytrack` extension. Another unforeseen benefit is that it's now possible to simply provide property overrides for tests, instead of having to persist anything in a database. Relates to #929 Signed-off-by: nscuro <nscuro@protonmail.com>
This replaces manual usage of `ConfigPropertyRepository` with more Quarkus-idiomatic `@ConfigProperty` injection. It leverages the new `quarkus-config-dependencytrack` extension. Another unforeseen benefit is that it's now possible to simply provide property overrides for tests, instead of having to persist anything in a database. Relates to #929 Signed-off-by: nscuro <nscuro@protonmail.com>
This replaces manual usage of `ConfigPropertyRepository` with more Quarkus-idiomatic `@ConfigProperty` injection. It leverages the new `quarkus-config-dependencytrack` extension. Another unforeseen benefit is that it's now possible to simply provide property overrides for tests, instead of having to persist anything in a database. Relates to #929 Signed-off-by: nscuro <nscuro@protonmail.com>
Most of the configuration options for new services are currently done via
application.properties
or environment variables.This is in contrast to DT 4.x, which used primarily the UI. The drawback to UI configuration is that a new instance cannot easily be deployed with the desired settings in place, but requires manual adjustments.
However, there is still a requirement to have configuration options tweakable via UI. We have to find a way to allow for both models, as apparently relying on only one doesn't cut it.
The text was updated successfully, but these errors were encountered: