fix: omit transport from dataplane config - #6174
Conversation
Signed-off-by: lucarlig <luca.carlig@ibm.com>
cafalchio
left a comment
There was a problem hiding this comment.
I think it should filter to send the compatible gateways, otherwise we will need the transport to filter it out when calling a tool in dataplane.
msureshkumar88
left a comment
There was a problem hiding this comment.
Reviewed the change against the companion Rust PR (contextforge-data-plane#79) and the existing filter logic — this is a clean, minimal fix.
What it does: drops the now-unused transport field from the published BackendConfig/dataplane payload, matching the Rust side's move to a single unconditional upstream transport. The STREAMABLEHTTP-only gateway filter itself is unchanged (pre-existing logic, confirmed via blame) — only the comment was reworded and the field removed from the outbound payload.
Verified:
- No other in-repo consumer references the removed payload key.
DbGateway.transportis still read internally (needed for the filter) and just no longer serialized — not dead code.- Test changes are in-scope: dict-equality assertion now guards against the field silently reappearing, and the non-streamable-gateway test is parametrized to cover both SSE and STDIO.
- Ran the full
test_dataplane_publisher.pysuite in an isolated worktree: 25/25 passing. - No UI, alembic/schema, or docs changes needed — none touched, correctly.
One non-blocking note: since this changes a cross-repo wire contract with no schema version field, an environment that already has dataplane_publisher=true enabled would break if this lands before the companion data-plane#79 deploys. Worth a one-line rollout note (deploy dataplane side first), but given the flag defaults to false and the module is explicitly marked experimental, this isn't a blocker.
Approving.
Summary
STREAMABLEHTTPgatewaystransportproperty from published backend configurationWhy
The Rust dataplane now has a single unconditional upstream transport and no
transport selector. The control-plane publisher should match that contract
instead of sending a field the dataplane no longer models.
This is the control-plane companion to
contextforge-org/contextforge-data-plane#79.
Impact
SSE and STDIO remain available on control-plane-owned routes. This change only
prevents those gateway types from entering dataplane configuration and removes
transport selection from the published backend payload.
Validation