1.0.2 • Published 6 years ago

rabbit-mermaid-cli v1.0.2

Weekly downloads
3
License
MIT
Repository
github
Last release
6 years ago

rabbit-mermaid-cli NPM version Build Status Dependency Status

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

test

Options

File

Specify the json file that contains the topology definitions. This is required.

DefaultCLI Override
None-f <file>

Exchanges

Specify the exclusive list of exchanges that you want in your output. All other exchanges will be ignored.

DefaultCLI 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.

DefaultCLI Override
false-x

License

MIT © David Salas