Add the public admin SDK and extract shared admin types#2574
Add the public admin SDK and extract shared admin types#2574lquerel merged 12 commits intoopen-telemetry:mainfrom
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #2574 +/- ##
==========================================
+ Coverage 88.37% 88.38% +0.01%
==========================================
Files 622 631 +9
Lines 230058 231409 +1351
==========================================
+ Hits 203318 204541 +1223
- Misses 26216 26344 +128
Partials 524 524
🚀 New features to boost your workflow:
|
jmacd
left a comment
There was a problem hiding this comment.
This has me sort of imagining a CLI like df_enginectl --shutdown
|
This is very helpful, and close to something we’re doing on our side for embedded/managed collector integrations. One thing I’m trying to clarify: the PR description says the SDK is designed with future support for other admin interfaces in mind, but |
Love this use-case. A small df_enginectl-style CLI feels like a very natural fit for this SDK. I also feel this is relevant for MCP / agentic tooling. The OpenTelemetry community is already discussing official MCP-based workflows for the Collector (agentic-workflow.md), so I can see this SDK being useful as a foundation for external MCP servers on top of the engine admin surface. |
The use case I have in mind is to support OpAMP between the SDK and our engine once our engine exposes an OpAMP interface. |
# Conflicts: # rust/otap-dataflow/crates/admin/src/health.rs
2bd891b
Change Summary
This PR adds a public Rust admin SDK for the OTAP Dataflow Engine. This first version of the SDK relies on our existing HTTP admin endpoints. However, the SDK's design has been made with future support for other admin interfaces, such as OpAMP, in mind.
Concretely, this PR:
otap-df-admin-apias the public integration crate for admin accessotap-df-admin-typesas the shared schema crate and rewiresotap-df-adminto depend on it directlyWhat issue does this PR close?
No specific issue.
How are these changes tested?
These changes were validated with:
cargo xtask checkAre there any user-facing changes?
Yes.
External Rust integrators now have a dedicated public crate,
otap-df-admin-api, for admin access. The SDK uses a builder plus resource-client API, documents HTTP/TLS/custom-CA/mTLS usage, and re-exports the config model so users only need one public crate.There are no intended wire-format changes to the existing admin HTTP endpoints. The new
otap-df-admin-typescrate is internal-only and is not intended as a public dependency.