Closed cmluciano closed 6 years ago
@cmluciano I wonder why these new providers use a Gem and others use plain CLI. I consider HTTP APIs more stable than CLIs, but I wonder how we can contribute to add queues, exchanges and bindings support in this cookbook.
:+1:
:+1:
I don't think there's much opposition to doing this. rabbitmqctl
does not manage topology items (e.g. queues), however, only rabbitmadmin
does (which comes with the management plugin and relies on its API).
Key issue here is that this cookbook needs to
The latter will vary from system to system and this cookbook cannot make too many assumptions about that.
Please refrain from making bold claims that "HTTP APIs are more stable than CLIs" unless you can provide evidence backed by data.
Also, definitions import may be a worthwhile alternative to use here. It's still an HTTP API call, however.
"Automatic" (on boot) definitions import from a static JSON file is also supported by RabbitMQ but since it happens on boot, things can get quite tricky for plugins, e.g. Shovel definitions, because there's a chichen-and-egg problem between definitions import and plugin activation. There's no obvious solution to this at the moment.
Definitions import are now supported and are a much better way if you ask me.
Refactor #118 using https://github.com/ruby-amqp/rabbitmq_http_api_client