Add new `bgd rmq-server` subcommand and required scaffolding
Before raising this MR, consider whether the following are required, and complete if so:
[ ] Unit tests[ ] Metrics[ ] Documentation update(s)
If not required, please explain in brief why not.
Description
This adds new files and definitions needed for the implementation of a new Server
powered by Rabbit MQ, placing its entry point in bgd rmq-server
.
Changes proposed in this merge request:
- Add
bgd rmq-server
subcommand - Define a new global config schema:
config-rmq.yaml
and a parser for it inrmq_parser.py
- Define a new
!rabbitmq-connection
YAML tag (with pika as a reference) - Add a sample config for the new format
Validation
YAML parsing works as expected, bgd rmq-server $CONFIG
outputs something like:
Validating !rabbitmq-connection...
Would start server listening on: <buildgrid._app.settings.parser.Channel object at 0x7f892c8b6908>, connected to RabbitMQ server <buildgrid._app.settings.rmq_parser.RabbitMqConnection object at 0x7f892c84d828>.
Issues addressed
Closes #374 (closed)
Edited by Santiago Gil