summaryrefslogtreecommitdiff
path: root/docs/rabbitmq-plugins.1.xml
blob: fb5f8e2775597f75d2d2d6fb0fece617aea28b47 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.docbook.org/xml/4.5/docbookx.dtd">
<!--
 There is some extra magic in this document besides the usual DocBook semantics
 to allow us to derive manpages, HTML and usage messages from the same source
 document.

 Examples need to be moved to the end for man pages. To this end, <para>s and
 <screen>s with role="example" will be moved, and with role="example-prefix"
 will be removed.

 The usage messages are more involved. We have some magic in usage.xsl to pull
 out the command synopsis, global option and subcommand synopses. We also pull
 out <para>s with role="usage".

 Finally we construct lists of possible values for subcommand options, if the
 subcommand's <varlistentry> has role="usage-has-option-list". The option which
 takes the values should be marked with role="usage-option-list".
-->

<refentry lang="en">
  <refentryinfo>
    <productname>RabbitMQ Server</productname>
    <authorgroup>
      <corpauthor>The RabbitMQ Team &lt;<ulink url="mailto:info@rabbitmq.com"><email>info@rabbitmq.com</email></ulink>&gt;</corpauthor>
    </authorgroup>
  </refentryinfo>

  <refmeta>
    <refentrytitle>rabbitmq-plugins</refentrytitle>
    <manvolnum>1</manvolnum>
    <refmiscinfo class="manual">RabbitMQ Service</refmiscinfo>
  </refmeta>

  <refnamediv>
    <refname>rabbitmq-plugins</refname>
    <refpurpose>command line tool for managing RabbitMQ broker plugins</refpurpose>
  </refnamediv>

  <refsynopsisdiv>
    <cmdsynopsis>
      <command>rabbitmq-plugins</command>
      <arg choice="opt">-n <replaceable>node</replaceable></arg>
      <arg choice="req"><replaceable>command</replaceable></arg>
      <arg choice="opt" rep="repeat"><replaceable>command options</replaceable></arg>
    </cmdsynopsis>
  </refsynopsisdiv>

  <refsect1>
    <title>Description</title>
    <para>
      <command>rabbitmq-plugins</command> is a command line tool for managing
      RabbitMQ broker plugins. It allows one to enable, disable and browse
      plugins. It must be run by a user with write permissions to the RabbitMQ
      configuration directory.
    </para>
    <para>
      Some plugins depend on others to work
      correctly. <command>rabbitmq-plugins</command> traverses these
      dependencies and enables all required plugins. Plugins listed on
      the <command>rabbitmq-plugins</command> command line are marked as
      explicitly enabled; dependent plugins are marked as implicitly
      enabled. Implicitly enabled plugins are automatically disabled again
      when they are no longer required.
    </para>

    <para>
      The <command>enable</command>, <command>disable</command> and
      <command>set</command> commands will update the plugins file and
      then attempt to connect to the broker and ensure it is running
      all enabled plugins. By default if it is not possible to connect
      to the running broker (for example if it is stopped) then a
      warning is displayed. Specify <command>--online</command> or
      <command>--offline</command> to change this behaviour.
    </para>
  </refsect1>

  <refsect1>
    <title>Commands</title>

    <variablelist>
      <varlistentry>
        <term><cmdsynopsis><command>list</command> <arg choice="opt">-v</arg> <arg choice="opt">-m</arg> <arg choice="opt">-E</arg> <arg choice="opt">-e</arg> <arg choice="opt"><replaceable>pattern</replaceable></arg></cmdsynopsis></term>
        <listitem>
          <variablelist>
            <varlistentry>
              <term>-v</term>
              <listitem><para>Show all plugin details (verbose).</para></listitem>
            </varlistentry>
            <varlistentry>
              <term>-m</term>
              <listitem><para>Show only plugin names (minimal).</para></listitem>
            </varlistentry>
            <varlistentry>
              <term>-E</term>
              <listitem><para>Show only explicitly enabled
              plugins.</para></listitem>
            </varlistentry>
            <varlistentry>
              <term>-e</term>
              <listitem><para>Show only explicitly or implicitly
              enabled plugins.</para></listitem>
            </varlistentry>
            <varlistentry>
              <term>pattern</term>
              <listitem><para>Pattern to filter the plugin names by.</para></listitem>
            </varlistentry>
          </variablelist>
          <para>
            Lists all plugins, their versions, dependencies and
            descriptions. Each plugin is prefixed with two status
            indicator characters inside [ ]. The first indicator can
            be " " to indicate that the plugin is not enabled, "E" to
            indicate that it is explicitly enabled, "e" to indicate
            that it is implicitly enabled, or "!" to indicate that it
            is enabled but missing and thus not operational. The
            second indicator can be " " to show that the plugin is not
            running, or "*" to show that it is.
          </para>
          <para>
            If the optional pattern is given, only plugins whose
            name matches <command>pattern</command> are shown.
          </para>
          <para role="example-prefix">For example:</para>
          <screen role="example">rabbitmq-plugins list</screen>
          <para role="example">
            This command lists all plugins, on one line each.
          </para>
          <screen role="example">rabbitmq-plugins list -v </screen>
          <para role="example">
            This command lists all plugins.
          </para>
          <screen role="example">rabbitmq-plugins list -v management</screen>
          <para role="example">
            This command lists all plugins whose name contains "management".
          </para>
          <screen role="example">rabbitmq-plugins list -e rabbit</screen>
          <para role="example">
            This command lists all implicitly or explicitly enabled
            RabbitMQ plugins.
          </para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term><cmdsynopsis><command>enable</command> <arg choice="opt">--offline</arg> <arg choice="opt">--online</arg> <arg choice="req"><replaceable>plugin</replaceable> ...</arg></cmdsynopsis></term>
        <listitem>
          <variablelist>
            <varlistentry>
              <term>--offline</term>
              <listitem><para>Just modify the enabled plugins file.</para></listitem>
            </varlistentry>
            <varlistentry>
              <term>--online</term>
              <listitem><para>Treat failure to connect to the running broker as fatal.</para></listitem>
            </varlistentry>
            <varlistentry>
              <term>plugin</term>
              <listitem><para>One or more plugins to enable.</para></listitem>
            </varlistentry>
          </variablelist>
          <para>
            Enables the specified plugins and all their dependencies.
          </para>

          <para role="example-prefix">For example:</para>
          <screen role="example">rabbitmq-plugins enable rabbitmq_shovel rabbitmq_management</screen>
          <para role="example">
            This command enables the <command>shovel</command> and
            <command>management</command> plugins and all their
            dependencies.
          </para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term><cmdsynopsis><command>disable</command> <arg choice="opt">--offline</arg> <arg choice="opt">--online</arg> <arg choice="req"><replaceable>plugin</replaceable> ...</arg></cmdsynopsis></term>
        <listitem>
          <variablelist>
            <varlistentry>
              <term>--offline</term>
              <listitem><para>Just modify the enabled plugins file.</para></listitem>
            </varlistentry>
            <varlistentry>
              <term>--online</term>
              <listitem><para>Treat failure to connect to the running broker as fatal.</para></listitem>
            </varlistentry>
            <varlistentry>
              <term>plugin</term>
              <listitem><para>One or more plugins to disable.</para></listitem>
            </varlistentry>
          </variablelist>
          <para>
            Disables the specified plugins and all their dependencies.
          </para>

          <para role="example-prefix">For example:</para>
          <screen role="example">rabbitmq-plugins disable amqp_client</screen>
          <para role="example">
            This command disables <command>amqp_client</command> and
            all plugins that depend on it.
          </para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term><cmdsynopsis><command>set</command> <arg choice="opt">--offline</arg> <arg choice="opt">--online</arg> <arg choice="req"><replaceable>plugin</replaceable> ...</arg></cmdsynopsis></term>
        <listitem>
          <variablelist>
            <varlistentry>
              <term>--offline</term>
              <listitem><para>Just modify the enabled plugins file.</para></listitem>
            </varlistentry>
            <varlistentry>
              <term>--online</term>
              <listitem><para>Treat failure to connect to the running broker as fatal.</para></listitem>
            </varlistentry>
            <varlistentry>
              <term>plugin</term>
              <listitem><para>Zero or more plugins to enable.</para></listitem>
            </varlistentry>
          </variablelist>
          <para>
            Enables the specified plugins and all their
            dependencies. Unlike <command>rabbitmq-plugins
            enable</command> this command ignores and overwrites any
            existing plugin configuration. <command>rabbitmq-plugins
            set</command> with no plugin arguments is a legal command
            meaning "disable all plugins".
          </para>

          <para role="example-prefix">For example:</para>
          <screen role="example">rabbitmq-plugins set rabbitmq_management</screen>
          <para role="example">
            This command enables the <command>management</command>
            plugin and its dependencies and disables everything else.
          </para>
        </listitem>
      </varlistentry>

    </variablelist>

  </refsect1>

</refentry>