Skip to content

Adds rabbitmq auto provisioning#9327

Merged
PascalSenn merged 5 commits intomainfrom
pse/wire-up-rabbitmq-autoprovisioning
Mar 8, 2026
Merged

Adds rabbitmq auto provisioning#9327
PascalSenn merged 5 commits intomainfrom
pse/wire-up-rabbitmq-autoprovisioning

Conversation

@PascalSenn
Copy link
Copy Markdown
Member

@PascalSenn PascalSenn commented Mar 8, 2026

Summary

Adds auto-provisioning support to the RabbitMQ transport, allowing exchanges, queues, and bindings to be automatically created on the broker at startup.

  • Transport-level AutoProvision toggle (defaults to true) with per-resource overrides on exchanges, queues, and bindings
  • Endpoint-level AutoProvision inherits from the transport when unset (null)
  • Documentation for disabling auto-provisioning in managed infrastructure environments (Terraform, K8s Topology Operator, etc.)

Copilot AI review requested due to automatic review settings March 8, 2026 13:49
@github-actions github-actions Bot added the 📚 documentation This issue is about working on our documentation. label Mar 8, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds support for controlling RabbitMQ topology auto-provisioning at the transport level with per-resource overrides, plus documentation and tests to validate cascading behavior and runtime provisioning outcomes.

Changes:

  • Introduces transport-level AutoProvision(bool) with a topology-level default and per-resource nullable overrides (bool?).
  • Updates provisioning/describe logic to respect the cascade (resource override → transport default).
  • Adds docs and both unit + integration tests covering default/explicit/disabled and mixed provisioning scenarios.

Reviewed changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
website/src/docs/mocha/v1/transports/rabbitmq.md Documents how to disable auto-provisioning globally and override per resource, with common deployment patterns.
src/Mocha/test/Mocha.Transport.RabbitMQ.Tests/Behaviors/AutoProvisionIntegrationTests.cs Adds end-to-end RabbitMQ integration tests for auto-provisioning enabled/disabled and mixed provisioning.
src/Mocha/test/Mocha.Transport.RabbitMQ.Tests/AutoProvisionTests.cs Adds unit tests validating cascade semantics and Describe() reporting of effective autoProvision values.
src/Mocha/src/Mocha.Transport.RabbitMQ/Topology/RabbitMQQueue.cs Changes queue AutoProvision to nullable and removes forced defaulting to true.
src/Mocha/src/Mocha.Transport.RabbitMQ/Topology/RabbitMQExchange.cs Changes exchange AutoProvision to nullable and removes forced defaulting to true.
src/Mocha/src/Mocha.Transport.RabbitMQ/Topology/RabbitMQBinding.cs Changes binding AutoProvision to nullable and removes forced defaulting to true.
src/Mocha/src/Mocha.Transport.RabbitMQ/Topology/RabbitMQMessagingTopology.cs Adds topology-level AutoProvision default (true) for cascade behavior.
src/Mocha/src/Mocha.Transport.RabbitMQ/RabbitMQMessagingTransport.cs Applies cascade during startup provisioning and in Describe() output.
src/Mocha/src/Mocha.Transport.RabbitMQ/RabbitMQDispatchEndpoint.cs Updates dispatch-time provisioning to use cascade (but currently introduces a null-deref bug).
src/Mocha/src/Mocha.Transport.RabbitMQ/Descriptors/RabbitMQMessagingTransportDescriptor.cs Adds AutoProvision(bool) API to configure global provisioning behavior.
src/Mocha/src/Mocha.Transport.RabbitMQ/Descriptors/IRabbitMQMessagingTransportDescriptor.cs Declares the new AutoProvision(bool) API contract.
src/Mocha/src/Mocha.Transport.RabbitMQ/Conventions/RabbitMQReceiveEndpointTopologyConvention.cs Propagates endpoint auto-provision setting into queue topology configuration (currently changes defaults in a breaking way).
src/Mocha/src/Mocha.Transport.RabbitMQ/Configurations/RabbitMQTransportConfiguration.cs Adds nullable AutoProvision setting to transport configuration.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/Mocha/src/Mocha.Transport.RabbitMQ/RabbitMQDispatchEndpoint.cs
Comment thread website/src/docs/mocha/v1/transports/rabbitmq.md
@PascalSenn PascalSenn merged commit 603555e into main Mar 8, 2026
123 checks passed
@PascalSenn PascalSenn deleted the pse/wire-up-rabbitmq-autoprovisioning branch March 8, 2026 22:55
@codecov
Copy link
Copy Markdown

codecov Bot commented Mar 8, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 0.00%. Comparing base (2b13a2b) to head (ca5522a).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@     Coverage Diff      @@
##   main   #9327   +/-   ##
============================
============================

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

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

Labels

📚 documentation This issue is about working on our documentation.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants