rabbitmqadmin
v2 is a major revision of one of the RabbitMQ's CLI tools.
If you are migrating from the original rabbitqadmin
, please see CLI Changes
to learn about a few breaking change in the interface.
For usage documentation, see Usage.
This version of rabbitmqadmin
has a few ideas in mind:
- This is a major version bump. Therefore, breaking changes are OK.
rabbitmqadmin
hasn't seen a revision in thirteen years rabbitmqadmin
should be standalone binary. There are very few reasons not to build and distribute it that way- v2 should be a distributed via GitHub releases and not a special
rabbitmq_management
endpoint - There is a lot of room to improve validation of flags and arguments, since breaking changes are OK for v2
- Output should be revisited: what columns are output by default, whether columns should be selectable
- Support for JSON and CSV was a popular addition in
rabbitmqctl
,rabbitmq-diagnostics
, etc. Perhapsrabbitmqadmin
should consider supporting them, too?
and on top of that, we'd like to expand the Rust expertise on our team, just like
we did with Elixir in the 2nd generation of rabbitmqctl
, rabbitmq-diagnostics
, rabbitmq-upgrade
,
and so on.
This version of rabbitmqadmin
should be considered reasonably mature to be used.
Before migrating, please see CLI Changes to learn about a few breaking change in the interface.
To learn about what command groups and specific commands are available, run
rabbitmqadmin --help
Note that in this version, global flags must precede the command category (e.g. list
) and the command itself:
rabbitmqadmin --vhost "events" declare queue --name "target.quorum.queue.name" --type "quorum" --durable true
The same command will display global flags. To learn about a specific command, append
--help
to it:
rabbitmqadmin declare queue --help
rabbitmqadmin list nodes
rabbitmqadmin list vhosts
rabbitmqadmin list users
rabbitmqadmin list queues
rabbitmqadmin --vhost "monitoring" list queues
rabbitmqadmin list exchanges
rabbitmqadmin --vhost "events" list exchanges
rabbitmqadmin list bindings
rabbitmqadmin --vhost "events" list bindings
rabbitmqadmin --vhost "events" declare queue --name "target.quorum.queue.name" --type "quorum" --durable true
rabbitmqadmin --vhost "events" declare queue --name "target.stream.name" --type "stream" --durable true
rabbitmqadmin --vhost "events" declare queue --name "target.classic.queue.name" --type "classic" --durable false --auto_delete true
rabbitmqadmin --vhost "events" delete queue --name "target.queue.name"
Compared to the original rabbitmq
, this version:
- Is distributed as a standalone binary and does not depend on Python
- Uses much stricter CLI argument validation and has (relatively minor) breaking changes in the CLI
- Is better documented
Global flags in rabbitmqadmin
v2 must precede the command category (e.g. list
) and the command itself,
namely various HTTP API endpoint options and --vhost
:
rabbitmqadmin --vhost "events" declare queue --name "target.quorum.queue.name" --type "quorum" --durable true
Please use GitHub Discussions in this repository and RabbitMQ community Discord server.
This tool, rabbitmqadmin
(v2 and later versions), is dual-licensed under
the Apache Software License 2.0 and the MIT license.