Skip to content

Add IBM MQ broker support#2808

Draft
davzucky wants to merge 16 commits intoag2ai:mainfrom
davzucky:2807-ibm-mq-support
Draft

Add IBM MQ broker support#2808
davzucky wants to merge 16 commits intoag2ai:mainfrom
davzucky:2807-ibm-mq-support

Conversation

@davzucky
Copy link
Copy Markdown

@davzucky davzucky commented Mar 27, 2026

Summary

  • add a first-class faststream.mq provider with broker, router, publisher, subscriber, parser, message, response, FastAPI, testing, Prometheus, and OpenTelemetry support
  • wire IBM MQ development and connected testing with the ibmmq client, MQ redistributable client+SDK in the test image, and an IBM MQ service in local compose config
  • add fake and connected IBM MQ coverage for broker behavior, request/reply flows, telemetry, and mypy typing around issue Feature: add IBM MQ broker support #2807

Scope Note

  • TLS / certificate-based IBM MQ connections are intentionally not part of this PR and will be implemented in a follow-up change
  • this PR focuses on the queue-based provider runtime, local dev/test environment, and connected validation using the current non-TLS setup
  • IBM MQ TLS needs MQ-native client configuration (MQCD / MQSCO, cipher spec, peer name, key repository, certificate label, etc.), so I want to land that separately rather than pretend a generic ssl_context path is complete here

Testing

  • docker compose exec faststream uv run pytest tests/brokers/mq tests/prometheus/mq tests/opentelemetry/mq tests/mypy/mq.py -q
  • docker compose exec faststream uv run pytest tests/brokers/mq/test_connect.py -q
  • docker compose exec faststream uv run pytest tests/ -m "all" -n auto (still has unrelated existing failures in CLI, Redis stream, and Confluent lifespan tests)

@CLAassistant
Copy link
Copy Markdown

CLAassistant commented Mar 27, 2026

CLA assistant check
All committers have signed the CLA.

@github-actions github-actions bot added documentation Improvements or additions to documentation dependencies Pull requests that update a dependency file labels Mar 27, 2026
@davzucky
Copy link
Copy Markdown
Author

davzucky commented Mar 28, 2026

Adding a scope note here as well: TLS / certificate-based IBM MQ support is intentionally deferred from this PR and will be implemented in a follow-up. This PR is focused on getting the queue-based IBM MQ provider, fake broker support, connected testing, and local development setup in place first. IBM MQ TLS needs MQ-native client configuration (MQCD / MQSCO, cipher spec, peer name, key repository, certificate label, etc.), so I prefer to land that separately instead of implying the generic ssl_context path is already complete.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants