rabbit-validator
v1.2.1
Published
Validator for the definition files of RabbitMQ
Downloads
7
Maintainers
Readme
RabbitMQ definitions.json file validator
Script to do basic validation on definitions.json
file for RabbitMQ for GitOps:
- validates the shape of the json,
- asserts all the names only to contain ASCII printable characters:
a-z0-9:_./\-*#
, - when second path argument is provided, also checks usage against a fixed list.
usage.json
usage.json
should contain json array of following objects:
{ vhost: string, queue: string }
if the entry represents interacting with queue directly or{ vhost: string, exchange: string, queue: string }
if the entry represents interacting with queue through an exchange.
Such statistics can be fetch from Prometheus API for example.
Usage
Quick run
# Install from npm and run
npx rabbit-validator <path/definitions.json> [<path/usage.json>]
Run from npm
npm i rabbit-validator # install locally
npx rabbit-validator <path/definitions.json> [<path/usage.json>]
# or to force npx offline:
npx --offline rabbit-validator <path/definitions.json> [<path/usage.json>]
# --offline is not required if previously installed, but errors if
# it isn't instead of downloading the package
Install globally from npm and run
npm i --global rabbit-validator # install with "--global" flag puts it to path
rabbit-validator <path/definitions.json> [<path/usage.json>]
Run from the repo
git clone [email protected]:rauno56/rabbit-validator.git
cd rabbit-validator
npx . <path/definitions.json> [<path/usage.json>]
Configuration
The utility is configured via environment variables:
RABVAL_STRING_ALLOW
: a comma-separated list of names to allow through the name validation regardless of their value.