Skip to content

Commit f5efad4

Browse files
committed
doc/radosgw: Small fixes and improvements in notifications.rst, part 1
Fix ordering of list items so that the sub-list is after the parent list item referring to it. Also fix multiple formatting errors in the same unordered list. Fix unordered list rendered as a single sentence due to missing empty line. Break many long lines around standard line length. Don't use hyphen for "regular expressions". Use double backticks for data like configuration parameters. Fix double space in an example CLI command. Don't list same parameter "user/password" in multiple list items, instead just list all concerns under the same list item. Start sentences with capital case and end in full stop consistently. Trim section title formatting syntax to text length. Capitalize "URI" and "Kafka" consistently. Use quotation marks in one occurrence of the value "true" instead of single backticks for consistency. Signed-off-by: Ville Ojamo <[email protected]>
1 parent f5aafe0 commit f5efad4

File tree

1 file changed

+80
-58
lines changed

1 file changed

+80
-58
lines changed

doc/radosgw/notifications.rst

Lines changed: 80 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ a specific bucket. A notification entity can be created either for a subset
2727
of event types or for all "Removed" and "Created" event types (which is the default). The
2828
notification may also filter out events based on matches of the prefixes and
2929
suffixes of (1) the keys, (2) the metadata attributes attached to the object,
30-
or (3) the object tags. Regular-expression matching can also be used on these
30+
or (3) the object tags. Regular expression matching can also be used on these
3131
to create filters. Notifications and topics have a many-to-many relationship.
3232
A topic can receive multiple notifications and a notification could be delivered
3333
to multiple topics.
@@ -40,7 +40,8 @@ for the bucket notification mechanism.
4040

4141
S3 Bucket Notification Compatibility <s3-notification-compatibility>
4242

43-
.. note:: To enable bucket notifications API, the `rgw_enable_apis` configuration parameter should contain: "notifications".
43+
.. note:: To enable bucket notifications API, the ``rgw_enable_apis``
44+
configuration parameter should contain: "notifications".
4445

4546
Notification Reliability
4647
------------------------
@@ -78,8 +79,8 @@ which tells the client that it may retry later.
7879

7980
.. note:: If the notification fails with an error, cannot be delivered, or
8081
times out, it is retried until it is successfully acknowledged.
81-
You can control its retry with time_to_live/max_retries to have a time/retry limit and
82-
control the retry frequency with retry_sleep_duration
82+
You can control its retry with ``time_to_live``/``max_retries`` to have a time/retry limit and
83+
control the retry frequency with ``retry_sleep_duration``.
8384

8485
.. tip:: To minimize the latency added by asynchronous notification, we
8586
recommended placing the "log" pool on fast media.
@@ -93,7 +94,7 @@ following command:
9394

9495
.. prompt:: bash #
9596

96-
radosgw-admin topic list [--tenant={tenant}] [--uid={user}]
97+
radosgw-admin topic list [--tenant={tenant}] [--uid={user}]
9798

9899

99100
Fetch the configuration of a specific topic by running the following command:
@@ -109,13 +110,15 @@ Remove a topic by running the following command:
109110

110111
radosgw-admin topic rm --topic={topic-name} [--tenant={tenant}]
111112

112-
Fetch persistent topic stats (i.e. reservations, entries and size) by running the following command:
113+
Fetch persistent topic stats (i.e. reservations, entries and size) by running
114+
the following command:
113115

114116
.. prompt:: bash #
115117

116118
radosgw-admin topic stats --topic={topic-name} [--tenant={tenant}]
117119

118-
Dump (in JSON format) all pending bucket notifications of a persistent topic by running the following command:
120+
Dump (in JSON format) all pending bucket notifications of a persistent topic
121+
by running the following command:
119122

120123
.. prompt:: bash #
121124

@@ -125,13 +128,15 @@ Dump (in JSON format) all pending bucket notifications of a persistent topic by
125128
Notification Performance Statistics
126129
-----------------------------------
127130

128-
- ``persistent_topic_size``: queue size in bytes.
131+
- ``persistent_topic_size``: queue size in bytes
129132
- ``persistent_topic_len``: shows how many notifications are currently waiting
130133
in the queue
131-
- ``pubsub_push_ok``: a running counter, for all notifications, of events successfully pushed to their endpoints
132-
- ``pubsub_push_fail``: a running counter, for all notifications, of events that failed to be pushed to their endpoints
133-
- ``pubsub_push_pending``: the gauge value of events pushed to an endpoint but
134-
not acked or nacked yet. This does not include the notifications waiting in
134+
- ``pubsub_push_ok``: a running counter, for all notifications, of events
135+
successfully pushed to their endpoints
136+
- ``pubsub_push_fail``: a running counter, for all notifications, of events
137+
that failed to be pushed to their endpoints
138+
- ``pubsub_push_pending``: The gauge value of events pushed to an endpoint but
139+
not acked or nacked yet: this does not include the notifications waiting in
135140
the persistent queue. Only the notifications that are in flight in both
136141
persistent and non-persistent cases are counted.
137142

@@ -142,7 +147,7 @@ Notification Performance Statistics
142147
on each notification.
143148

144149
Configuration Options
145-
------------------------------
150+
---------------------
146151
The following are global configuration options for the different endpoints:
147152

148153
HTTP
@@ -208,24 +213,24 @@ updating, use the name of an existing topic and different endpoint values).
208213

209214
Request parameters:
210215

211-
- push-endpoint: This is the URI of an endpoint to send push notifications to.
212-
- OpaqueData: Opaque data is set in the topic configuration and added to all
216+
- ``push-endpoint``: This is the URI of an endpoint to send push notifications to.
217+
- ``OpaqueData``: Opaque data is set in the topic configuration and added to all
213218
notifications that are triggered by the topic.
214-
- persistent: This indicates whether notifications to this endpoint are
219+
- ``persistent``: This indicates whether notifications to this endpoint are
215220
persistent (=asynchronous) or not persistent. (This is "false" by default.)
216-
- time_to_live: This will limit the time (in seconds) to retain the notifications.
217-
default value is taken from `rgw_topic_persistency_time_to_live`.
218-
providing a value overrides the global value.
219-
zero value means infinite time to live.
220-
- max_retries: This will limit the max retries before expiring notifications.
221-
default value is taken from `rgw_topic_persistency_max_retries`.
222-
providing a value overrides the global value.
223-
zero value means infinite retries.
224-
- retry_sleep_duration: This will control the frequency of retrying the notifications.
225-
default value is taken from `rgw_topic_persistency_sleep_duration`.
226-
providing a value overrides the global value.
227-
zero value mean there is no delay between retries.
228-
- Policy: This will control who can access the topic in addition to the owner of the topic.
221+
- ``time_to_live``: This will limit the time (in seconds) to retain the notifications.
222+
Default value is taken from ``rgw_topic_persistency_time_to_live``.
223+
Providing a value overrides the global value.
224+
Zero value means infinite time to live.
225+
- ``max_retries``: This will limit the max retries before expiring notifications.
226+
Default value is taken from ``rgw_topic_persistency_max_retries``.
227+
Providing a value overrides the global value.
228+
Zero value means infinite retries.
229+
- ``retry_sleep_duration``: This will control the frequency of retrying the notifications.
230+
Default value is taken from ``rgw_topic_persistency_sleep_duration``.
231+
Providing a value overrides the global value.
232+
Zero value mean there is no delay between retries.
233+
- ``Policy``: This will control who can access the topic in addition to the owner of the topic.
229234
The policy passed needs to be a JSON string similar to bucket policy.
230235
For example, one can send a policy string as follows::
231236

@@ -240,44 +245,46 @@ Request parameters:
240245
}
241246

242247
Currently, we support only the following actions:
243-
- sns:GetTopicAttributes To list or get existing topics
244-
- sns:SetTopicAttributes To set attributes for the existing topic
245-
- sns:DeleteTopic To delete the existing topic
246-
- sns:Publish To be able to create/subscribe notification on existing topic
248+
249+
- ``sns:GetTopicAttributes``: to list or get existing topics
250+
- ``sns:SetTopicAttributes``: to set attributes for the existing topic
251+
- ``sns:DeleteTopic``: to delete the existing topic
252+
- ``sns:Publish``: to be able to create/subscribe notification on existing topic
247253

248254
- HTTP endpoint
249255

250256
- URI: ``http[s]://<fqdn>[:<port]``
251-
- port: This defaults to 80 for HTTP and 443 for HTTPS.
252-
- verify-ssl: This indicates whether the server certificate is validated by
257+
- ``port``: This defaults to 80 for HTTP and 443 for HTTPS.
258+
- ``verify-ssl``: This indicates whether the server certificate is validated by
253259
the client. (This is "true" by default.)
254-
- cloudevents: This indicates whether the HTTP header should contain
260+
- ``cloudevents``: This indicates whether the HTTP header should contain
255261
attributes according to the `S3 CloudEvents Spec`_. (This is "false" by
256262
default.)
257263

258264
- AMQP0.9.1 endpoint
259265

260266
- URI: ``amqp[s]://[<user>:<password>@]<fqdn>[:<port>][/<vhost>]``
261-
- user/password: This defaults to "guest/guest".
262-
- user/password: This must be provided only over HTTPS. Topic creation
267+
- ``user``/``password``: This defaults to "guest/guest".
268+
269+
This must be provided only over HTTPS. Topic creation
263270
requests will otherwise be rejected.
264-
- port: This defaults to 5672 for unencrypted connections and 5671 for
271+
- ``port``: This defaults to 5672 for unencrypted connections and 5671 for
265272
SSL-encrypted connections.
266-
- vhost: This defaults to "/".
267-
- verify-ssl: This indicates whether the server certificate is validated by
273+
- ``vhost``: This defaults to "/".
274+
- ``verify-ssl``: This indicates whether the server certificate is validated by
268275
the client. (This is "true" by default.)
269276
- If ``ca-location`` is provided and a secure connection is used, the
270277
specified CA will be used to authenticate the broker. The default CA will
271278
not be used.
272-
- amqp-exchange: The exchanges must exist and must be able to route messages
279+
- ``amqp-exchange``: The exchanges must exist and must be able to route messages
273280
based on topics. This parameter is mandatory.
274-
- amqp-ack-level: No end2end acking is required. Messages may persist in the
281+
- ``amqp-ack-level``: No end2end acking is required. Messages may persist in the
275282
broker before being delivered to their final destinations. Three ack methods
276283
exist:
277284

278-
- "none": The message is considered "delivered" if it is sent to the broker.
279-
- "broker": The message is considered "delivered" if it is acked by the broker (default).
280-
- "routable": The message is considered "delivered" if the broker can route to a consumer.
285+
- ``none``: The message is considered "delivered" if it is sent to the broker.
286+
- ``broker``: The message is considered "delivered" if it is acked by the broker (default).
287+
- ``routable``: The message is considered "delivered" if the broker can route to a consumer.
281288

282289
.. tip:: The topic-name (see :ref:`Create a Topic`) is used for the
283290
AMQP topic ("routing key" for a topic exchange).
@@ -290,30 +297,45 @@ Request parameters:
290297
- ``ca-location``: If this is provided and a secure connection is used, the
291298
specified CA will be used instead of the default CA to authenticate the
292299
broker.
293-
- user/password: This should be provided over HTTPS. If not, the config parameter `rgw_allow_notification_secrets_in_cleartext` must be `true` in order to create topics.
294-
- user/password: This should be provided together with ``use-ssl``. If not, the broker credentials will be sent over insecure transport.
295-
- mechanism: may be provided together with user/password (default: ``PLAIN``). The supported SASL mechanisms are:
296-
- ``user-name``: User name to use when connecting to the Kafka broker. If both this parameter and URI user are provided then this parameter overrides the URI user.
297-
The same security considerations are in place for this parameter as are for user/password.
298-
- ``password``: Password to use when connecting to the Kafka broker. If both this parameter and URI password are provided then this parameter overrides the URI password.
299-
The same security considerations are in place for this parameter as are for user/password.
300+
- ``user``/``password``: This should be provided over HTTPS. If not, the
301+
config parameter ``rgw_allow_notification_secrets_in_cleartext`` must be
302+
"true" in order to create topics.
303+
304+
This should be provided together with ``use-ssl``. If not, the broker
305+
credentials will be sent over insecure transport.
306+
- ``user-name``: User name to use when connecting to the Kafka broker: if
307+
both this parameter and URI ``user`` are provided then this parameter
308+
overrides the URI ``user``.
309+
310+
The same security considerations are in place for this parameter as are
311+
for ``user``/``password``.
312+
- ``password``: Password to use when connecting to the Kafka broker: if
313+
both this parameter and URI ``password`` are provided then this parameter
314+
overrides the URI ``password``.
315+
316+
The same security considerations are in place for this parameter as are
317+
for ``user``/``password``.
318+
- ``mechanism``: May be provided together with ``user``/``password``
319+
(default: ``PLAIN``). The supported SASL mechanisms are:
300320

301321
- PLAIN
302322
- SCRAM-SHA-256
303323
- SCRAM-SHA-512
304324
- GSSAPI
305325
- OAUTHBEARER
306326

307-
- port: This defaults to 9092.
308-
- kafka-ack-level: No end2end acking is required. Messages may persist in the
327+
- ``port``: This defaults to 9092.
328+
- ``kafka-ack-level``: No end2end acking is required. Messages may persist in the
309329
broker before being delivered to their final destinations. Two ack methods
310330
exist:
311331

312-
- "none": Messages are considered "delivered" if sent to the broker.
313-
- "broker": Messages are considered "delivered" if acked by the broker. (This
332+
- ``none``: Messages are considered "delivered" if sent to the broker.
333+
- ``broker``: Messages are considered "delivered" if acked by the broker. (This
314334
is the default.)
315335

316-
- kafka-brokers: A command-separated list of host:port of kafka brokers. These brokers (may contain a broker which is defined in kafka uri) will be added to kafka uri to support sending notifcations to a kafka cluster.
336+
- ``kafka-brokers``: A command-separated list of ``host:port`` of Kafka brokers:
337+
these brokers (may contain a broker which is defined in Kafka URI) will be
338+
added to Kafka URI to support sending notifcations to a Kafka cluster.
317339

318340
.. note::
319341

0 commit comments

Comments
 (0)