There are many objects whose lifetime is involved in the bootstrapping of ADP that are constructed from GenericConfiguration. These are a little bit harder than components to migrate to typed config due to their position in the bootstrapping process and, in some cases, where they live in the codebase. Here are some of the objects I am talking about that should use typed config (non-exhaustive):
DataPlaneConfiguration
DataPlaneDogStatsDConfiguration
DataPlaneOtlpConfiguration
DataPlaneChecksConfiguration
There is also something a little bit funky about how the "enabled" bool lives on Control in the typed config system but is down in these, kinda-sorta-lower objects that include stuff like OtlpProxy configuration items. There may be a little bit of separating to do.
It might be advantageous to, both here and in the other spots we're touching in this file, change function signatures to take &ConfigurationSystem and then get a GenericConfiguration if needed, that way we start enforcing things go through &ConfigurationSystem from the get go, even if they're still on the compatibility path.
It would also clean up some of these signatures which are now taking 2-3 different "config" objects, which is getting somewhat clunky.
Originally posted by @tobz in #2094 (comment)
To which, I promised!
I will clean-up run.rs with typed config soon.
There are many objects whose lifetime is involved in the bootstrapping of ADP that are constructed from
GenericConfiguration. These are a little bit harder than components to migrate to typed config due to their position in the bootstrapping process and, in some cases, where they live in the codebase. Here are some of the objects I am talking about that should use typed config (non-exhaustive):DataPlaneConfigurationDataPlaneDogStatsDConfigurationDataPlaneOtlpConfigurationDataPlaneChecksConfigurationThere is also something a little bit funky about how the "enabled" bool lives on
Controlin the typed config system but is down in these, kinda-sorta-lower objects that include stuff like OtlpProxy configuration items. There may be a little bit of separating to do.Originally posted by @tobz in #2094 (comment)
To which, I promised!