rabbitmq-server/deps/rabbitmq_shovel_management
Loïc Hoguin bbfa066d79
Cleanup .gitignore files for the monorepo
We don't need to duplicate so many patterns in so many
files since we have a monorepo (and want to keep it).

If I managed to miss something or remove something that
should stay, please put it back. Note that monorepo-wide
patterns should go in the top-level .gitignore file.
Other .gitignore files are for application or folder-
specific patterns.
2024-06-28 12:00:52 +02:00
..
priv/www/js Update dynamic-shovels.ejs 2024-05-25 00:24:29 +10:00
src ctl delete_shovel: use a more effective way 2024-05-24 19:48:33 -04:00
test ctl delete_shovel: use a more effective way 2024-05-24 19:48:33 -04:00
BUILD.bazel Use rules_elixir to build the cli without mix 2024-06-18 14:50:34 +02:00
CODE_OF_CONDUCT.md
CONTRIBUTING.md
LICENSE
LICENSE-MPL-RabbitMQ
Makefile
README.md
app.bzl ctl delete_shovel: use a more effective way 2024-05-24 19:48:33 -04:00

README.md

RabbitMQ Shovel Management Plugin

Adds information on shovel status to the management plugin. Build it like any other plugin.

If you have a heterogenous cluster (where the nodes have different plugins installed), this should be installed on the same nodes as the management plugin.

Installing

This plugin ships with RabbitMQ. Like all plugins, it must be enabled before it can be used:

rabbitmq-plugins enable rabbitmq_shovel_management

Usage

When the plugin is enabled, there will be a Shovel management link under the Admin tab.

HTTP API

The HTTP API adds endpoints for listing, creating, and deleting shovels.

GET /api/shovels[/{vhost}]

Lists all shovels, optionally filtering by Virtual Host.

Example

curl -u guest:guest -v http://localhost:15672/api/shovels/%2f

PUT /api/parameters/shovel/{vhost}/{name}

Creates a shovel, passing in the configuration as JSON in the request body.

Example

Create a file called shovel.json similar to the following, replacing the parameter values as desired:

{
  "component": "shovel",
  "name": "my-shovel",
  "value": {
    "ack-mode": "on-publish",
    "add-forward-headers": false,
    "delete-after": "never",
    "dest-exchange": null,
    "dest-queue": "dest",
    "dest-uri": "amqp://",
    "prefetch-count": 250,
    "reconnect-delay": 30,
    "src-queue": "source",
    "src-uri": "amqp://"
  },
  "vhost": "/"
}

Once created, post the file to the HTTP API:

curl -u guest:guest -v -X PUT -H 'Content-Type: application/json' -d @./shovel.json \
  http://localhost:15672/api/parameters/shovel/%2F/my-shovel

Note Either dest_queue OR dest_exchange can be specified in the value stanza of the JSON, but not both.

GET /api/parameters/shovel/{vhost}/{name}

Shows the configurtion parameters for a shovel.

Example

curl -u guest:guest -v http://localhost:15672/api/parameters/shovel/%2F/my-shovel

DELETE /api/parameters/shovel/{vhost}/{name}

Deletes a shovel.

Example

curl -u guest:guest -v -X DELETE http://localhost:15672/api/parameters/shovel/%2F/my-shovel

Released under the same license as RabbitMQ.

2007-2018 (c) 2007-2024 Broadcom. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. All rights reserved.