-
Notifications
You must be signed in to change notification settings - Fork 535
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
Unified Configuration Management System #5921
Comments
Some experimentation: #5691 |
One option i'd considered in tying this into our logging system, so the logger also supports configuration management. The benefits is that this is already something that can be injected, and the code is already instrumented for it. However it does feel like it doesn't quite belong and is outside the abstraction the logger is meant to provide |
releate to #5783 |
another set of experiments: main...anthony-murphy:config-provider also @andre4i |
fyi @nmsimons |
This change adds a simple configuration provider abstraction that can be injected via the loader. The configuration and logger are then available on an object currently called the MonitoringContext. To avoid needing to update all our api, we smuggle the MonitoringContext around via the logger. After this initial change has had time to soak we can slowly move our apis over to leveraging MonitoringContexts all rather than logger. One are we have explicitly not tackled here is namespaces. this means we've gone with a flat structure or all config key look ups. In the future we may want to expand this introduce some kind of namespacing, but there are concerns we'll need to tackle around naming consistency. We face similar naming consistency issues with our child logger. Ideally whatever strategy we land on can help to solve the issues for both. related to #5921
Feature
Currently the framework lacks a unified configuration management system. Many of our layers take an options bag which allows some level of configuration however this system is lacking, as it often requires a code change to change configuration values. This serves us ok for things like testing but works less well for deployed applications where ideally config is easier to change than code.
Some properties that such should provide:
The text was updated successfully, but these errors were encountered: