[QC-443] Represent the whole configuration file in C++ structures#736
Conversation
|
@Barthelemy Could you please have a look before I further progress here? I would like to avoid getting into some dead end or missing some use-case that I could accidentally forbid. |
Barthelemy
left a comment
There was a problem hiding this comment.
Very nice. It is an ambitious endeaviour !
I like the idea and the indirection you introduce with the *Spec vs *Config. Actually, I might have missed something but why is there no need for a GlobalSpec ?
I don't see anything fundamentally wrong or missing. You can continue with the implementation.
|
Thanks. |
…others Now TaskRunner only gets TaskRunnerConfig with all the information it needs in order to run. It will be able to update the configuration by retrieving it from DPL and letting TaskRunnerFactory provide updated TaskConfig.
|
The first part of refactoring should be ready, the future PRs will include a similar changes for Data Sampling, Checks, Aggregators, etc. |
Barthelemy
left a comment
There was a problem hiding this comment.
Ok for me, very nice I must say.
This plans to address a number of issues:
ConfigurationFactory::createcall always calls consul/opens a file). Notice that e.g. each Check creates aConfigurationInterfaceby itself.ConfigurationInterfaceandptree. It should be fine if we always work on a rawptree.I worked on top of another PR to avoid merge conflicts in the future. Please click on the "initial progress on refactoring" commit to get only the relevant changes.
TODO:
ConfigurationInterfacecompletely, if possible.Specsfor other QC actors and read them accordingly. It could be divided into many PRs.