docs: ADR 0066 — Infrastructure Provisioner for Messaging Gateways - #4259
Draft
lillo42 wants to merge 1 commit into
Draft
docs: ADR 0066 — Infrastructure Provisioner for Messaging Gateways#4259lillo42 wants to merge 1 commit into
lillo42 wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Proposes ADR 0066 — Infrastructure Provisioner for Messaging Gateways.
Today each messaging gateway provisions its broker infrastructure (exchanges, topics, queues, subscriptions, DLQs) in its own ad-hoc way. This ADR introduces a single gateway-agnostic abstraction:
IAmAInfrastructureProvisioner— narrow interface:Provision(IAmAMessageGateway)/ProvisionAsync(IAmAMessageGateway); all configuration lives as properties on the implementations.Assume(no-op),Validate(read-only drift detection),Create(idempotent, create-only — matching current AWS behavior), andCreateOrUpdate(opt-in convergence, only where the broker supports updates, never destructive).Publication.Provisioner/Subscription.Provisioner; when null, the gateway builds a default provisioner from existing config, so only one execution path ever runs.[Obsolete]), becomes the single mechanism in V11.The document includes a full AWS SNS/SQS sample and a per-gateway strategy matrix verified against the current gateway packages.
Status: Proposed — opened as a draft for maintainer review/discussion before acceptance.