rmq-definitions

Deterministicly sorting and formatting of RabbitMQ definition backups


Keywords
backup, rabbitmq
License
BSD-3-Clause
Install
pip install rmq-definitions==1.1.0

Documentation

rmq-definitions

Deterministically sort and format RabbitMQ definition backups

rmq-definitions is an application that provides deterministic sorting and formatting of JSON based RabbitMQ definition backups. By transforming the JSON definitions file provided by the RabbitMQ Management UI, differential backups of RabbitMQ's definitions can be made.

Want to know when a certain queue was added or a binding was removed? You can use rmq-definitions as part of a cron job that writes out the definitions to a git repository and commits any changes to git, pushing to a remote location. By doing so, definition differences between commits can be clearly tracked.

Version Status Coverage License

Requirements

rmq-definitions requires Python 2.7, 3.4, 3.5, 3.6, 3.7, 3.8, or 3.9, and requests.

Installation

rmq-definitions is available on the Python package index and is installable via pip:

pip install rmq-definitions

Usage

usage: rmq-sorted-definitions [-h] [--url URL] [-u USERNAME] [-p PASSWORD]
                              [DESTINATION]

Deterministically sort and format RabbitMQ definition backups

positional arguments:
  DESTINATION           Location to write the definitions to. Default: STDOUT

optional arguments:
  -h, --help            show this help message and exit
  --url URL             The RabbitMQ Management API base URL. Default:
                        http://localhost:15672
  -u USERNAME, --username USERNAME
                        The RabbitMQ Management API username. Default: guest
  -p PASSWORD, --password PASSWORD
                        The RabbitMQ Management API password. Default: guest
  -f FROM_FILE, --from-file FROM_FILE
                        Read definitions from a file instead of the Management
                        API