CLI to generate markdown graphs of your rabbitmq topology.
The cli for rabbit-mermaid 🐰🐟. Turn your rabbitmq topology files into markdown compatible dependency graphs. Direct, fanout, and topic-based exchanges are supported.
npm install -g rabbit-mermaid-cli
definitions.json
{
exchanges: [
{
name: "images",
vhost: "/",
type: "direct",
durable: true,
auto_delete: false,
internal: false,
arguments: {}
}
],
queues: [
{
name: "archiver1",
vhost: "/",
durable: true,
auto_delete: false,
arguments: {}
},
{
name: "archiver2",
vhost: "/",
durable: true,
auto_delete: false,
arguments: {}
},
{
name: "cropper",
vhost: "/",
durable: true,
auto_delete: false,
arguments: {}
},
{
name: "resizer",
vhost: "/",
durable: true,
auto_delete: false,
arguments: {}
}
],
bindings: [
{
source: "images",
vhost: "/",
destination: "archiver1",
destination_type: "queue",
routing_key: "images.archive",
arguments: {}
},
{
source: "images",
vhost: "/",
destination: "archiver2",
destination_type: "queue",
routing_key: "images.archive",
arguments: {}
},
{
source: "images",
vhost: "/",
destination: "cropper",
destination_type: "queue",
routing_key: "images.crop",
arguments: {}
},
{
source: "images",
vhost: "/",
destination: "resizer",
destination_type: "queue",
routing_key: "images.resize",
arguments: {}
}
]
}
rabdg -f ./definitions.json
/** Output:
graph LR
subgraph Images
Images(("Images<br/>(direct)"))
Images --routing_key=images.archive--> archiver1("archiver1")
Images --routing_key=images.archive--> archiver2("archiver2")
Images --routing_key=images.crop--> cropper("cropper")
Images --routing_key=images.resize--> resizer("resizer")
end
**/
When put into a markdown file that supports mermaid will generate
Specify the json file that contains the topology definitions. This is required.
Default | CLI Override |
---|---|
None |
-f <file> |
Specify the exclusive list of exchanges that you want in your output. All other exchanges will be ignored.
Default | CLI Override |
---|---|
ALL |
-e <ex1,ex2> |
Whether or not to display exchange to exchange bindings in the generated output. This is disabled by default to reduce noise in large topologies with many dependencies.
Default | CLI Override |
---|---|
false |
-x |
MIT © David Salas