Skip to content

fix: omit transport from dataplane config - #6174

Merged
Lang-Akshay merged 1 commit into
mainfrom
user/luca/streamable-http-only-config
Aug 11, 2026
Merged

fix: omit transport from dataplane config#6174
Lang-Akshay merged 1 commit into
mainfrom
user/luca/streamable-http-only-config

Conversation

@lucarlig

Copy link
Copy Markdown
Collaborator

Summary

  • keep the dataplane publisher limited to STREAMABLEHTTP gateways
  • omit the obsolete transport property from published backend configuration
  • cover both SSE and STDIO with the existing non-Streamable gateway filter test

Why

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

  • dataplane publisher unit tests: 25 passed
  • Ruff: passed
  • Bandit: passed
  • pylint on the publisher: 10.00/10
  • repository pre-commit hooks: passed

Signed-off-by: lucarlig <luca.carlig@ibm.com>

@cafalchio cafalchio left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread mcpgateway/services/dataplane_publisher.py

@Lang-Akshay Lang-Akshay left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@msureshkumar88 msureshkumar88 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.transport is 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.py suite 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.

@Lang-Akshay
Lang-Akshay added this pull request to the merge queue Aug 11, 2026
Merged via the queue into main with commit 28c9695 Aug 11, 2026
64 checks passed
@Lang-Akshay
Lang-Akshay deleted the user/luca/streamable-http-only-config branch August 11, 2026 15:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants