opentelemetry-collector
opentelemetry-collector copied to clipboard
[chore][docs/rfc] Add RFC on configuring confmap Providers
Description
Documents how we want to configure confmap Providers, with the default decision being to use URI fragments.
Per the SIG discussion on 2024-05-08, I have included as many alternatives as I could think of. I think a few of them have merit, but I don't think any of the options are without downsides.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 92.53%. Comparing base (
c6b70a7) to head (d3485a9). Report is 266 commits behind head on main.
Additional details and impacted files
@@ Coverage Diff @@
## main #10121 +/- ##
==========================================
+ Coverage 91.67% 92.53% +0.85%
==========================================
Files 362 388 +26
Lines 16754 18317 +1563
==========================================
+ Hits 15359 16949 +1590
+ Misses 1056 1022 -34
- Partials 339 346 +7
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Can the RFC include any prior art on this type of configuration?
I spent some time thinking about this, but I'm not aware of anything that matches what we're doing closely enough to make sense. The best I can think of would be infrastructure as code tools like Terraform, Pulumi, or CloudFormation, but I think what they are doing is sufficiently different that it's hard to use them as a basis. If there are other tools or approaches you think would be worth investigating, let me know and I can take a look.
I can also do a writeup on how our configuration fits into the larger landscape of infrastructure configuration approaches if you think it would be beneficial to take a broader look at our whole approach, but didn't want to detract from the more practical discussion at hand of how to do things like authenticate requests in our HTTP providers.
This PR was marked stale due to lack of activity. It will be closed in 14 days.
This PR was marked stale due to lack of activity. It will be closed in 14 days.
Is there an option to support a ${<provider>:URI}[params] style if we introduce a new specialized flag? Like instead of --config its --fancy-config? That way we get the best syntax without breaking users?
I think at that point we should just have an alpha-stability feature gate that we use to determine whether params are supported. I see the benefit there, but I think it would also be confusing to have to opt-in per-file. In cases where I forget to use --fancy-config, I would get weird syntax errors (or worse, no error at all) without a clear indicator of why.
I'm also a bit nervous about committing long-term to maintaining two ways to parse the config.
This is replaced by https://github.com/open-telemetry/opentelemetry-collector/pull/10776.