Skip to content

feat(messaging): add Azure Service Bus service module#6

Open
sebastiancorrea81 wants to merge 1 commit intomainfrom
feature/add-azure-service-bus
Open

feat(messaging): add Azure Service Bus service module#6
sebastiancorrea81 wants to merge 1 commit intomainfrom
feature/add-azure-service-bus

Conversation

@sebastiancorrea81
Copy link
Copy Markdown
Contributor

Summary

  • New service module at messaging/azure-service-bus/ modeled after databases/azure-cosmos-db
  • Supports creating queues and topics (with subscriptions) in an existing Azure Service Bus namespace
  • Link/unlink workflows grant namespace-level RBAC access to the consuming app's managed identity using Azure built-in roles: Azure Service Bus Data Sender, Azure Service Bus Data Receiver, Azure Service Bus Data Owner
  • Static config (namespace name, resource group, app resource group) lives in values.yaml; all other values are resolved from the NP action context

Structure

messaging/azure-service-bus/
├── deployment/       # Terraform: queues, topics, subscriptions
├── permissions/      # Terraform: azurerm_role_assignment on namespace
├── scripts/azure/    # build_context, build_permissions_context, do_tofu, resolve_azure_context
├── workflows/azure/  # create, update, delete, link, unlink
├── specs/            # service-spec.json.tpl + links/connect.json.tpl
└── entrypoint/       # entrypoint, service, link

Test plan

  • Register service spec and verify it appears in NP UI under Messaging > Azure
  • Create a service instance with queues and topics — verify Terraform creates them in the namespace
  • Update the service (add/remove queues or topics) — verify tofu apply reconciles correctly
  • Link a scope to the service with receiver access — verify role assignment is created on the namespace
  • Unlink — verify role assignment is destroyed
  • Delete the service — verify queues, topics, and subscriptions are removed

🤖 Generated with Claude Code

Add new service for Azure Service Bus following the same patterns as
azure-cosmos-db. Supports creating queues and topics (with subscriptions)
in an existing namespace. Link/unlink workflows grant namespace-level
RBAC access (sender, receiver, or owner) to the consuming app's managed
identity via azurerm_role_assignment.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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.

1 participant