rabbit-validator

1.2.1 • Public • Published

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 git@github.com: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.

Package Sidebar

Install

npm i rabbit-validator

Weekly Downloads

1

Version

1.2.1

License

MIT

Unpacked Size

22.9 kB

Total Files

13

Last publish

Collaborators

  • r56