docs(rfc): rfc 0030 specified — tls/mtls on the data-plane listeners - #440
Conversation
…331) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Warning Review limit reached
Next review available in: 33 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughAdds RFC 0030 documenting TLS/mTLS support for Ourios data-plane listeners (OTLP gRPC, OTLP HTTP, querier HTTP/MCP), covering config schema, certificate reload, mTLS semantics, validation rules, acceptance criteria, and testing strategy, plus a linking entry in docs/SUMMARY.md. ChangesRFC Documentation
Estimated code review effort: 1 (Trivial) | ~5 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Pull request overview
Advances the RFC process by adding RFC 0030 in specified state, documenting the intended design for enabling opt-in TLS/mTLS on all data-plane listeners (OTLP gRPC 4317, OTLP HTTP 4318, querier+MCP 4319), including certificate reload semantics and acceptance criteria aligned with the project’s verification gates.
Changes:
- Add new specified RFC describing TLS/mTLS configuration, runtime wiring approach (rustls + tokio-rustls), and reload behavior.
- Define Given/When/Then acceptance criteria and a testing strategy for the eventual implementation.
- Register the new RFC in the mdBook SUMMARY.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| docs/SUMMARY.md | Adds RFC 0030 to the RFC index. |
| docs/rfcs/0030-tls-mtls-listeners.md | Introduces RFC 0030 (specified) describing TLS/mTLS listener design, config surface, and acceptance criteria. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
… schema Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/rfcs/0030-tls-mtls-listeners.md`:
- Around line 299-301: The References section uses the wrong setting name for
the TLS config and drops the `_secs` suffix, which can mislead readers away from
the actual field. Update the reference text in the RFC to use the same
terminology as the config model defined in §3.1, specifically the
reload_interval_secs field, and keep the surrounding config symbols like
cert_file, key_file, client_ca_file, and min_version consistent.
- Around line 249-255: Clarify the ownership of RFC0030.8 by rewriting this
scenario so it no longer implies a single binary serves both receiver listeners
and the querier; the current wording conflicts with the binary split established
in the RFC. Update the wording in the RFC0030.8 section to either describe a
deployment-level end-to-end flow across ourios-ingester and ourios-server, or
split the scenario into separate steps tied to each binary so the
implementation/test boundary is explicit.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 7e28c56e-07d3-4024-acb1-0257db323af0
📒 Files selected for processing (2)
docs/SUMMARY.mddocs/rfcs/0030-tls-mtls-listeners.md
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…l claim Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Advances epic #331's next slice ("TLS/mTLS on both listeners first — everything else depends on it"). Spec only — no implementation until maintainer sign-off on §5 (the RFC 0019/0029 pattern).
Design in one breath: opt-in per-listener
tlsblocks mirroring the OTel Collector'sconfigtlsserver model (cert_file/key_file/client_ca_file⇒ require-and-verify mTLS,min_versiondefault 1.2,reload_interval; field semantics verified against the Collector docs via the OTel MCP), one rustlsTlsAcceptorseam in front of all three listeners (gRPC 4317 / HTTP 4318 / querier+MCP 4319 — tonic's own tls feature deliberately unused), RwLock-swapped cert reload (std only, no new runtime crate) that never drops the listener on a bad rotation, plaintext+credentials ⇒ startup warning (not an error — mesh termination stays legitimate). mTLS is transport hardening only; identity remains the RFC 0026/0029 bearer layer (cert-SAN→tenant deferred, §7.1).Nine §5 GWT arms incl. served Collector-shaped end-to-end (.8), reload under rotation (.6), and min-version enforcement (.9). Test certs minted with rcgen at test time — no committed key material.
🤖 Generated with Claude Code
Summary by CodeRabbit