otelconf: introduce support for v1.0.0-rc.2#8031
Conversation
This adds support for the first 1.0.0 release candidate of the OpenTelemetry configuration schema. Signed-off-by: alex boten <223565+codeboten@users.noreply.github.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #8031 +/- ##
=====================================
Coverage 78.6% 78.6%
=====================================
Files 185 185
Lines 14760 14760
=====================================
Hits 11611 11611
Misses 2795 2795
Partials 354 354 🚀 New features to boost your workflow:
|
Signed-off-by: alex boten <223565+codeboten@users.noreply.github.com>
|
updated the candidate to rc2 since there's no point in introducing schema support for rc1 with rc2 already out |
|
I wonder if we want to name this module rcx. The package is unstable, so it can have breaking changes. |
i had the same question when i opened this pr. i guess one of the challenges is that anyone using 1.0.0rcx wouldn't be able ensure that any config they've written would work with updates to rcx, which would be problematic if someone just happens to pick up a dep update that includes a breaking change but isn't expecting it. at least with rc.2 and whatever subsequent versions, there would be some stability for end users of the package, even though we make no guarantees of stability at this point |
|
Multiple RCs is more code though, but we could always mark the package deprecated as soon as the new rc is out. |
|
Not sure if we want a changelog for this specific change as the generated code as-is cannot be used on its own |
|
Can you remind me why we need to support multiple versions? Could we not put the 1.0 (including RCs) in otelconf itself? |
|
Needed the multiple versions to support backwards incompatible changes between versions in the collector. The collector supports both v0.2.0 and v0.3.0 configuration at this point, and my plan was to eventually only support 1.0 configuration, but it will need feature gates in the collector and deprecation warnings for end users. |
|
Can we leave 0.2 and 0.3 as separate directories with their own module and put the 1.0 RCs (and 1.0) in the base /otelconf directory. Then eventually otel-go marks the 0.2 and 0.3 modules as deprecated and removes them, but gives the collector enough time to migrate? That way, we eventually get back to the place of having just one stable entry-point to the otelconf library. People complain about our semconv code structure a lot, so I would rather avoid that long-term if possible |
Signed-off-by: alex boten <223565+codeboten@users.noreply.github.com>
|
@dashpole change has been made, the generated code is now in the root of the package. also updated the makefile to generate the code in this location |
Signed-off-by: alex boten <223565+codeboten@users.noreply.github.com>
This adds support for the second 1.0.0 release candidate of the OpenTelemetry configuration schema. The edits in this PR:
OPENTELEMETRY_CONFIGURATION_JSONSCHEMA_VERSIONmake genjsonschemaFirst part of #8026