rabbit-mermaid-cli
v1.0.2
Published
CLI to generate markdown flowcharts of your rabbitmq topology.
Downloads
3
Maintainers
Readme
rabbit-mermaid-cli
CLI to generate markdown graphs of your rabbitmq topology.
The cli for rabbit-mermaid :rabbit::fish:. Turn your rabbitmq topology files into markdown compatible dependency graphs. Direct, fanout, and topic-based exchanges are supported.
Installation
npm install -g rabbit-mermaid-cli
Usage
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
Options
File
Specify the json file that contains the topology definitions. This is required.
| Default | CLI Override |
| ------- | ------------ |
| None
| -f <file>
|
Exchanges
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>
|
Show exchange to exchange bindings
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
|
License
MIT © David Salas