Skip to content

feat: add support for RabbitMQ message broker node #45

Description

@NureniJamiu

Is your feature request related to a problem? Please describe.

Users currently have access to computing nodes (Ubuntu, ASG) and database/cache nodes (Postgres, Mongo, Redis). But, there is no message broker node. This makes it impossible to design or simulate asynchronous architectures, message queues, and pub-sub systems visually on the canvas.


Describe the solution you'd like

I would like to add a new RabbitMQ message broker node type, which will back onto the official rabbitmq:3-management Docker image.

Key details of the implementation:

  1. I'll introduce a standard 'rabbitmq' node type in ContainerManager which will pull the rabbitmq:3-management image on container startup.
  2. I'll map container port 15672 (HTTP management UI) to a dynamic public port on the host machine.
  3. I'll add a customized RabbitMQ inspect modal which will displau the active container status, default login credentials (guest / guest), and a direct link to open the Management Console in the browser. It should also include a cheat sheet of common exchanges/queues patterns and commands.
  4. Then I'll finally register the node under a new "Message Brokers" category inside the Node Library (using an appropriate icon from lucide-react).

Describe alternatives you've considered

  • Memcached / ActiveMQ / Kafka: RabbitMQ is preferred as the initial broker because it is lightweight, extremely common in system design interviews, and comes with a beautiful, pre-installed web administration dashboard (rabbitmq:3-management) that runs perfectly in local-first Docker environments.

Additional context

This starts the implementation of the Message Brokers roadmap item listed under "Coming Very Soon" in the project README.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions