I'm trying to understand how RabbitMQ can be configured from a set of
files and/or scripts. I don't need a GUI, I just need to be able to
instantiate a broker on an empty machine.

According to the doc, there are two main files: rabbitmq.conf (to set
some environment variables) and rabbitmq.config (with Erlang syntax).

Out of all the things that can be configured, are there some that
cannot be defined in one of these two files? rabbitmq.config seems to
be all-mighty but a previous answer
(http://old.nabble.com/rabbitmq-configuration-file-and-access-control-td30018285.html)
seems to indicate that scripting is needed for ACLs, at least.

The doc for rabbitmq.config
(http://www.rabbitmq.com/install.html#configfile) is rather short. Not
knowing the internals, it is quite difficult to find out what can be
configured. Is there a documented list of all the things that can be
set in this file?

Is there a way to tell a configured broker to dump its configuration
in the same syntax as the rabbitmq.config file? (like iptables-save
and iptables-restore do for firewall configuration)

Cheers,

Lionel Cons

Search Discussions

  • Simon MacMullen at Feb 2, 2011 at 6:01 pm

    On 02/02/11 17:08, Lionel Cons wrote:
    According to the doc, there are two main files: rabbitmq.conf (to set
    some environment variables) and rabbitmq.config (with Erlang syntax).

    Out of all the things that can be configured, are there some that
    cannot be defined in one of these two files? rabbitmq.config seems to
    be all-mighty
    Yes, there are. Those files (hopefully at some point rabbitmq.conf will
    go away) are for server-wide configuration, e.g.:

    * Which ports should be opened?
    * Where are SSL certs?
    * Where should the LDAP plugin find an LDAP server?
    but a previous answer
    (http://old.nabble.com/rabbitmq-configuration-file-and-access-control-td30018285.html)
    seems to indicate that scripting is needed for ACLs, at least.
    ...but they don't contain anything about exchanges, bindings, queues,
    users, vhosts or permissions. For that you can use rabbitmqctl or the
    management plugin.
    The doc for rabbitmq.config
    (http://www.rabbitmq.com/install.html#configfile) is rather short. Not
    knowing the internals, it is quite difficult to find out what can be
    configured. Is there a documented list of all the things that can be
    set in this file?
    Sadly no. We need to improve documentation in this area.
    Is there a way to tell a configured broker to dump its configuration
    in the same syntax as the rabbitmq.config file? (like iptables-save
    and iptables-restore do for firewall configuration)
    Not in that format. The closest we can get is the management plugin,
    which can dump / restore the exchanges, queues, users etc into a JSON
    file. There's a command line tool which can do this so you don't have to
    use the GUI.

    Cheers, Simon
    --
    Simon MacMullen
    Staff Engineer, RabbitMQ
    SpringSource, a division of VMware
  • Lionel Cons at Feb 3, 2011 at 6:48 am

    Simon MacMullen <simon at rabbitmq.com> writes:
    ...but they don't contain anything about exchanges, bindings, queues,
    users, vhosts or permissions. For that you can use rabbitmqctl or the
    management plugin.
    So these two tools (rabbitmqctl and the management plugin with its CLI)
    seem to overlap significantly.

    Will they continue to live and diverge or will you put the management
    plugin in the core and replace rabbitmqctl with the management CLI?

    How would you automate the installation a pre-configured broker: with a
    script calling rabbitmqctl or with a JSON file to be used by the
    management CLI?

    Thanks for your answers.

    Cheers,

    Lionel
  • Simon MacMullen at Feb 3, 2011 at 10:02 am

    On 03/02/11 06:48, Lionel Cons wrote:
    Simon MacMullen<simon at rabbitmq.com> writes:
    ...but they don't contain anything about exchanges, bindings, queues,
    users, vhosts or permissions. For that you can use rabbitmqctl or the
    management plugin.
    So these two tools (rabbitmqctl and the management plugin with its CLI)
    seem to overlap significantly.
    To some extent. They overlap in user / vhost management, and in the
    list_* commands.

    It's possible that rabbitmqctl might in future lose the list_* commands,
    but I think they'll continue to both have user management - in the
    management plugin since that manages all sorts of other things, but in
    rabbitmqctl since that doesn't require you to authenticate as a Rabbit
    user and thus lets you get back in if you've locked yourself out.
    Will they continue to live and diverge or will you put the management
    plugin in the core and replace rabbitmqctl with the management CLI?
    They will probably both continue to live, but maybe with rabbitmqctl
    becoming more stripped down.

    Putting the management plugin in the core would be controversial since
    it would mean RabbitMQ growing a web server and there are various
    reasons why we're wary of that.

    One possibility would be for the management plugin to grow an AMQP
    interface, which could be moved into the core. The plugin could then
    translate HTTP to AMQP. But this would be a lot of work for (IMHO)
    fairly marginal gain.
    How would you automate the installation a pre-configured broker: with a
    script calling rabbitmqctl or with a JSON file to be used by the
    management CLI?
    I would suggest using the management plugin since rabbitmqctl can't
    create exchanges, queues or bindings. Which I should have made clearer
    in the other mail, sorry.

    One thing I have wondered in the past is if there would be general
    interest in a configuration option for the management plugin which would
    make it restore a backup on startup. Since backups get merged on restore
    this would not wipe anything, but would allow you to ensure that a set
    of objects was always there.

    Cheers, Simon

    --
    Simon MacMullen
    Staff Engineer, RabbitMQ
    SpringSource, a division of VMware

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouprabbitmq-discuss @
categoriesrabbitmq
postedFeb 2, '11 at 5:08p
activeFeb 3, '11 at 10:02a
posts4
users2
websiterabbitmq.com
irc#rabbitmq

2 users in discussion

Simon MacMullen: 2 posts Lionel Cons: 2 posts

People

Translate

site design / logo © 2017 Grokbase