You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#2080 proves the config v2 steel thread, but it is too large to review and should not be treated as the final implementation shape. The plan is to extract it into serial, reviewable PRs. Each implementation PR is based on main after the previous PR merges.
Because this may span multiple releases, no public config v2 behavior should ship until the final gated release group. Early PRs must stay internal: no public Go package, no CLI, no runtime auto-detection, no Collector receiver support, and no user-facing docs that tell users to use config v2.
Parallel Workstream: Config Drift CI
This can happen independently of the implementation split.
Move the existing parity checker into cmd/check-config-v2-parity.
Treat this mostly as a move, not new review burden.
Keep it simple and short-lived.
Add make check-config-v2-parity.
Wire the target into PR checks.
Fail CI when v1 defaults and merged config v2 definitions drift unintentionally.
Estimated review burden: ~60-150 changed lines, plus moved checker code.
Serial Implementation PRs
Review-size rule: target ~300 changed logic/test lines; do not exceed ~800. Pure moves and generated artifacts do not count as review burden when they are not mixed with logic changes.
Internal config schema package
Add hidden parser/model under internal/config/schema.
Include v2 document/extension structs, version detection, standalone vs receiver validation, and tests.
No pkg/config/v2.
Estimate: ~600 lines.
Internal v1-to-v2 conversion foundation
Add internal/config/convert.
Convert default/runtime config into hidden v2 document shape for core capture fields, protocol enablement, basic network capture, and daemon basics.
Estimate: ~500-700 lines.
Export conversion parity
Split the original export parity scope into two review-sized PRs:
Reference PoC: #2080
Summary
#2080 proves the config v2 steel thread, but it is too large to review and should not be treated as the final implementation shape. The plan is to extract it into serial, reviewable PRs. Each implementation PR is based on
mainafter the previous PR merges.Because this may span multiple releases, no public config v2 behavior should ship until the final gated release group. Early PRs must stay internal: no public Go package, no CLI, no runtime auto-detection, no Collector receiver support, and no user-facing docs that tell users to use config v2.
Parallel Workstream: Config Drift CI
This can happen independently of the implementation split.
cmd/check-config-v2-parity.make check-config-v2-parity.Estimated review burden: ~60-150 changed lines, plus moved checker code.
Serial Implementation PRs
Review-size rule: target ~300 changed logic/test lines; do not exceed ~800. Pure moves and generated artifacts do not count as review burden when they are not mixed with logic changes.
Internal config schema package
internal/config/schema.pkg/config/v2.Internal v1-to-v2 conversion foundation
internal/config/convert.Export conversion parity
resource,tracer_provider,meter_provider, capture telemetry reporter cache/TTL fields, Kubernetes/name-resolution/attribute enrichment, correlation/log trace annotation, and daemon Prometheus telemetry fields.Typed v2 export builders
Internal v2-to-runtime conversion foundation
obi.Configfor core capture, protocol enablement, network basics, and standalone-only sections.Expand import conversion parity
Hidden artifact/tooling support
Final Release-Gated Group
These PRs expose the feature and must land in the same release window.
Expose CLI
obi config validateandobi config migrate.Expose standalone runtime support
obistartup with fallback to v1 only on explicit not-v2 errors.Expose Collector receiver support
Publish docs and artifacts
Acceptance Criteria
pkg/config/v2, CLI command, runtime v2 parsing, receiver v2 parsing, or user-facing config v2 docs ship before the gated group.