1
0
mirror of https://github.com/minio/docs.git synced 2025-07-30 07:03:26 +03:00

Breaking up envvars and config settings into separate settings pages (#1028)

- Creates a slew of folders and pages nested under the mc-server page to store settings.
- Breaks up all of the environment variable options formerly in the mc-server page into these separate pages.
- Moves the config settings formerly in the mc admin config page to the appropriate new settings pages.
- Adds a MiniO Client settings page and document `mc-host-<alias>`

Closes #1017
This commit is contained in:
Daryl White
2023-11-03 07:55:22 -04:00
committed by GitHub
parent 6d2ecc2b8a
commit eb94513104
30 changed files with 6482 additions and 6762 deletions

View File

@ -0,0 +1,365 @@
.. _minio-server-envvar-bucket-notification-amqp:
.. _minio-server-config-bucket-notification-amqp:
==========================
AMQP Notification Settings
==========================
.. default-domain:: minio
.. contents:: Table of Contents
:local:
:depth: 2
This page documents settings for configuring an AMQP service as a target for :ref:`Bucket Notifications <minio-bucket-notifications>`.
See :ref:`minio-bucket-notifications-publish-amqp` for a tutorial on using these settings.
.. include:: /includes/common-mc-admin-config.rst
:start-after: start-minio-settings-defined
:end-before: end-minio-settings-defined
Multiple AMQP Targets
---------------------
You can specify multiple AMQP service endpoints by appending a unique identifier ``_ID`` for each set of related AMQP settings to the top level key.
Examples
~~~~~~~~
For example, the following commands set two distinct AMQP service endpoints as ``PRIMARY`` and ``SECONDARY`` respectively:
.. tab-set::
.. tab-item:: Environment Variables
:sync: envvar
.. code-block:: shell
:class: copyable
set MINIO_NOTIFY_AMQP_ENABLE_PRIMARY="on"
set MINIO_NOTIFY_AMQP_URL_PRIMARY="amqp://user:password@amqp-endpoint.example.net:5672"
set MINIO_NOTIFY_AMQP_ENABLE_SECONDARY="on"
set MINIO_NOTIFY_AMQP_URL_SECONDARY="amqp://user:password@amqp-endpoint.example.net:5672"
For example, :envvar:`MINIO_NOTIFY_AMQP_ENABLE_PRIMARY <MINIO_NOTIFY_AMQP_ENABLE>` indicates the environment variable is associated to an AMQP service endpoint with ID of ``PRIMARY``.
.. tab-item:: Configuration Settings
:sync: config
.. code-block:: shell
mc admin config set notify_amqp:primary \
url="user:password@amqp://amqp-endpoint.example.net:5672" [ARGUMENT=VALUE ...]
mc admin config set notify_amqp:secondary \
url="user:password@amqp://amqp-endpoint.example.net:5672" [ARGUMENT=VALUE ...]
Notice that for configuration settings, the unique identifier appends to ``amqp`` only, not to each individual argument.
Settings
--------
Enable
~~~~~~
.. tab-set::
.. tab-item:: Environment Variable
:selected:
.. envvar:: MINIO_NOTIFY_AMQP_ENABLE
Requires specifying :envvar:`MINIO_NOTIFY_AMQP_URL` if set to ``on``.
.. tab-item:: Configuration Setting
.. include:: /includes/common-mc-admin-config.rst
:start-after: start-minio-settings-no-config-option
:end-before: end-minio-settings-no-config-option
Configure an AMQP target with desired options to enable a setting.
Specify ``on`` to enable publishing bucket notifications to an AMQP endpoint.
Defaults to ``off``.
URL
~~~
*Required*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_AMQP_URL
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_amqp url
:delimiter: " "
Specify the AMQP server endpoint to which MinIO publishes bucket events.
For example, ``amqp://myuser:mypassword@localhost:5672``.
.. include:: /includes/linux/minio-server.rst
:start-after: start-notify-target-online-desc
:end-before: end-notify-target-online-desc
Exchange
~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_AMQP_EXCHANGE
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_amqp exchange
:delimiter: " "
Specify the name of the AMQP exchange to use.
Exchange Type
~~~~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_AMQP_EXCHANGE_TYPE
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_amqp exchange_type
:delimiter: " "
Specify the type of the AMQP exchange.
Routing Key
~~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_AMQP_ROUTING_KEY
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_amqp routing_key
:delimiter: " "
Specify the routing key for publishing events.
Mandatory
~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_AMQP_MANDATORY
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_amqp mandatory
:delimiter: " "
Specify ``off`` to ignore undelivered messages errors.
Defaults to ``on``.
Durable
~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_AMQP_DURABLE
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_amqp durable
:delimiter: " "
Specify ``on`` to persist the message queue across broker restarts.
Defaults to ``off``.
No Wait
~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_AMQP_NO_WAIT
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_amqp no_wait
:delimiter: " "
Specify ``on`` to enable non-blocking message delivery.
Defaults to ``off``.
Internal
~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_AMQP_INTERNAL
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_amqp internal
:delimiter: " "
.. explanation is very unclear. Need to revisit this.
Specify ``on`` to use the exchange only if it is bound to other exchanges.
See the RabbitMQ documentation on `Exchange to Exchange Bindings
<https://www.rabbitmq.com/e2e.html>`__ for more information on AMQP exchange binding.
Auto Deleted
~~~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_AMQP_AUTO_DELETED
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_amqp auto_deleted
:delimiter: " "
Specify ``on`` to automatically delete the message queue if there are no consumers.
Defaults to ``off``.
Delivery Mode
~~~~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_AMQP_DELIVERY_MODE
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_amqp delivery_mode
:delimiter: " "
Specify ``1`` for set the delivery mode to non-persistent queue.
Specify ``2`` to set the delivery mode to persistent queue.
Queue Directory
~~~~~~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_AMQP_QUEUE_DIR
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_amqp queue_dir
:delimiter: " "
Specify the directory path to enable MinIO's persistent event store for undelivered messages, such as ``/opt/minio/events``.
MinIO stores undelivered events in the specified store while the AMQP service is offline and replays the stored events when connectivity resumes.
Queue Limit
~~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_AMQP_QUEUE_LIMIT
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_amqp queue_limit
:delimiter: " "
Specify the maximum limit for undelivered messages.
Defaults to ``100000``.
Comment
~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_AMQP_COMMENT
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_amqp comment
:delimiter: " "
Specify a comment for the AMQP configuration.

View File

@ -0,0 +1,296 @@
.. _minio-server-envvar-bucket-notification-elasticsearch:
.. _minio-server-config-bucket-notification-elasticsearch:
===================================
Elasticsearch Notification Settings
===================================
.. default-domain:: minio
.. contents:: Table of Contents
:local:
:depth: 2
This page documents settings for configuring an Elasticsearch service as a target for :ref:`Bucket Notifications <minio-bucket-notifications>`.
See :ref:`minio-bucket-notifications-publish-elasticsearch` for a tutorial on using these settings.
.. include:: /includes/common-mc-admin-config.rst
:start-after: start-minio-settings-defined
:end-before: end-minio-settings-defined
Multiple Elasticsearch Targets
------------------------------
You can specify multiple Elasticsearch service endpoints by appending a unique identifier ``_ID`` for each set of related settings.
For example, the following commands set two distinct Elasticsearch service endpoints as ``PRIMARY`` and ``SECONDARY``, respectively:
Examples
~~~~~~~~
.. tab-set::
.. tab-item:: Environment Variables
:sync: envvar
.. code-block:: shell
:class: copyable
set MINIO_NOTIFY_ELASTICSEARCH_ENABLE_PRIMARY="on"
set MINIO_NOTIFY_ELASTICSEARCH_URL_PRIMARY="https://user:password@elasticsearch-endpoint.example.net:9200"
set MINIO_NOTIFY_ELASTICSEARCH_INDEX_PRIMARY="bucketevents"
set MINIO_NOTIFY_ELASTICSEARCH_FORMAT_PRIMARY="namespace"
set MINIO_NOTIFY_ELASTICSEARCH_ENABLE_SECONDARY="on"
set MINIO_NOTIFY_ELASTICSEARCH_URL_SECONDARY="https://user:password@elasticsearch-endpoint.example.net:9200"
set MINIO_NOTIFY_ELASTICSEARCH_INDEX_SECONDARY="bucketevents"
set MINIO_NOTIFY_ELASTICSEARCH_FORMAT_SECONDARY="namespace"
.. tab-item:: Configuration Settings
:sync: config
.. code-block:: shell
mc admin config set notify_elasticsearch:primary \
url="user:password@https://elasticsearch-endpoint.example.net:9200" \
index="bucketevents" \
format="namespace" \
[ARGUMENT=VALUE ...]
mc admin config set notify_elasticsearch:secondary \
url="user:password@https://elasticsearch-endpoint.example.net:9200" \
index="bucketevents" \
format="namespace" \
[ARGUMENT=VALUE ...]
Notice that for configuration settings, the unique identifier appends to ``notify_elasticsearch`` only, not to each individual argument.
Settings
--------
Enable
~~~~~~
*Required*
.. tab-set::
.. tab-item:: Environment Variable
:selected:
.. envvar:: MINIO_NOTIFY_ELASTICSEARCH_ENABLE
Specify ``on`` to enable publishing bucket notifications to an Elasticsearch service endpoint.
Defaults to ``off``.
Requires specifying the following additional environment variables if set to ``on``:
- :envvar:`MINIO_NOTIFY_ELASTICSEARCH_URL`
- :envvar:`MINIO_NOTIFY_ELASTICSEARCH_INDEX`
- :envvar:`MINIO_NOTIFY_ELASTICSEARCH_FORMAT`
.. tab-item:: Configuration Setting
.. mc-conf:: notify_elasticsearch
The top-level configuration key for defining an Elasticsearch service endpoint for use with :ref:`MinIO bucket notifications <minio-bucket-notifications>`.
Use :mc-cmd:`mc admin config set` to set or update an Elasticsearch service endpoint.
The following arguments are *required* for each target:
- :mc-conf:`~notify_elasticsearch.url`
- :mc-conf:`~notify_elasticsearch.index`
- :mc-conf:`~notify_elasticsearch.format`
Specify additional optional arguments as a whitespace (``" "``)-delimited list.
.. code-block:: shell
:class: copyable
mc admin config set notify_elasticsearch \
url="https://user:password@elasticsearch.example.com:9200" \
[ARGUMENT="VALUE"] ... \
URL
~~~
*Required*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_ELASTICSEARCH_URL
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_elasticsearch url
:delimiter: " "
Specify the Elasticsearch service endpoint to which MinIO publishes bucket events.
For example, ``https://elasticsearch.example.com:9200``.
MinIO supports passing authentication information using as URL parameters using the format ``PROTOCOL://USERNAME:PASSWORD@HOSTNAME:PORT``.
.. include:: /includes/linux/minio-server.rst
:start-after: start-notify-target-online-desc
:end-before: end-notify-target-online-desc
Index
~~~~~
*Required*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_ELASTICSEARCH_INDEX
.. tab-item:: Configuration Setting
.. mc-conf:: notify_elasticsearch index
:delimiter: " "
Specify the name of the Elasticsearch index in which to store or update MinIO bucket events.
Elasticsearch automatically creates the index if it does not exist.
Format
~~~~~~
*Required*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_ELASTICSEARCH_FORMAT
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_elasticsearch format
:delimiter: " "
Specify the format of event data written to the Elasticsearch index.
MinIO supports the following values:
``namespace``
For each bucket event, MinIO creates a JSON document with the bucket and object name from the event as the document ID and the actual event as part of the document body.
Additional updates to that object modify the existing index entry for that object.
Similarly, deleting the object also deletes the corresponding index entry.
``access``
For each bucket event, MinIO creates a JSON document with the event details and appends it to the index with an Elasticsearch-generated random ID.
Additional updates to an object result in new index entries, and existing entries remain unmodified.
Username
~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_ELASTICSEARCH_USERNAME
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_elasticsearch username
:delimiter: " "
The username for connecting to an Elasticsearch service endpoint which enforces authentication.
Password
~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_ELASTICSEARCH_PASSWORD
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_elasticsearch password
:delimiter: " "
The password for connecting to an Elasticsearch service endpoint which enforces authentication.
.. versionchanged:: RELEASE.2023-06-23T20-26-00Z
MinIO redacts this value when returned as part of :mc-cmd:`mc admin config get`.
Queue Directory
~~~~~~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_ELASTICSEARCH_QUEUE_DIR
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_elasticsearch queue_dir
:delimiter: " "
Specify the directory path to enable MinIO's persistent event store for undelivered messages, such as ``/opt/minio/events``.
MinIO stores undelivered events in the specified store while the Elasticsearch service is offline and replays the stored events when connectivity resumes.
Queue Limit
~~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_ELASTICSEARCH_QUEUE_LIMIT
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_elasticsearch queue_limit
:delimiter: " "
Specify the maximum limit for undelivered messages.
Defaults to ``100000``.
Comment
~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_ELASTICSEARCH_COMMENT
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_elasticsearch comment
:delimiter: " "
Specify a comment to associate with the Elasticsearch configuration.

View File

@ -0,0 +1,444 @@
.. _minio-server-envvar-bucket-notification-kafka:
.. _minio-server-config-bucket-notification-kafka:
===========================
Kafka Notification Settings
===========================
.. default-domain:: minio
.. contents:: Table of Contents
:local:
:depth: 2
This page documents settings for configuring an Kafka service as a target for :ref:`Bucket Notifications <minio-bucket-notifications>`.
See :ref:`minio-bucket-notifications-publish-kafka` for a tutorial on using these settings.
.. include:: /includes/common-mc-admin-config.rst
:start-after: start-minio-settings-defined
:end-before: end-minio-settings-defined
Multiple Kafka Targets
----------------------
You can specify multiple Kafka service endpoints by appending a unique identifier ``_ID`` for each set of related Kafka settings on to the top level key.
Examples
~~~~~~~~
For example, the following commands set two distinct Kafka service endpoints as ``PRIMARY`` and ``SECONDARY`` respectively:
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. code-block:: shell
:class: copyable
set MINIO_NOTIFY_KAFKA_ENABLE_PRIMARY="on"
set MINIO_NOTIFY_KAFKA_BROKERS_PRIMARY="https://kafka1.example.net:9200, https://kafka2.example.net:9200"
set MINIO_NOTIFY_KAFKA_ENABLE_SECONDARY="on"
set MINIO_NOTIFY_KAFKA_BROKERS_SECONDARY="https://kafka1.example.net:9200, https://kafka2.example.net:9200"
.. tab-item:: Configuration Setting
:sync: config
.. code-block:: shell
mc admin config set notify_kafka:primary \
brokers="https://kafka1.example.net:9200, https://kafka2.example.net:9200"
[ARGUMENT=VALUE ...]
mc admin config set notify_kafka:secondary \
brokers="https://kafka1.example.net:9200, https://kafka2.example.net:9200"
[ARGUMENT=VALUE ...]
Notice that for configuration settings, the unique identifier appends to ``notify_kafka`` only, not to each individual argument.
Settings
--------
Enable
~~~~~~
*Required*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_KAFKA_ENABLE
Specify ``on`` to enable publishing bucket notifications to a Kafka service endpoint.
Defaults to ``off``.
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_kafka
The top-level configuration key for defining an Kafka service endpoint for use with :ref:`MinIO bucket notifications <minio-bucket-notifications>`.
Use :mc-cmd:`mc admin config set` to set or update an Kafka service endpoint.
The :mc-conf:`~notify_kafka.brokers` argument is *required* for each target.
Specify additional optional arguments as a whitespace (``" "``)-delimited list.
.. code-block:: shell
:class: copyable
mc admin config set notify_kafka \
brokers="https://kafka1.example.net:9200, https://kafka2.example.net:9200"
[ARGUMENT="VALUE"] ... \
Brokers
~~~~~~~
*Required*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_KAFKA_BROKERS
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_kafka brokers
:delimiter: " "
Specify a comma-separated list of Kafka broker addresses.
For example:
``"kafka1.example.com:2021,kafka2.example.com:2021"``
.. include:: /includes/linux/minio-server.rst
:start-after: start-notify-target-online-desc
:end-before: end-notify-target-online-desc
Topic
~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_KAFKA_TOPIC
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_kafka topic
:delimiter: " "
Specify the name of the Kafka topic to which MinIO publishes bucket events.
SASL
~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_KAFKA_SASL
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_kafka sasl
:delimiter: " "
Specify ``on`` to enable SASL authentication.
SASL Username
~~~~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_KAFKA_SASL_USERNAME
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_kafka sasl_username
:delimiter: " "
Specify the username for performing SASL/PLAIN or SASL/SCRAM authentication to the Kafka broker(s).
SASL Password
~~~~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_KAFKA_SASL_PASSWORD
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_kafka sasl_password
:delimiter: " "
Specify the password for performing SASL/PLAIN or SASL/SCRAM authentication to the Kafka broker(s).
.. versionchanged:: RELEASE.2023-06-23T20-26-00Z
MinIO redacts this value when returned as part of :mc-cmd:`mc admin config get`.
SASL Mechanism
~~~~~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_KAFKA_SASL_MECHANISM
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_kafka sasl_mechanism
:delimiter: " "
Specify the SASL mechanism to use for authenticating to the Kafka broker(s).
MinIO supports the following mechanisms:
- ``PLAIN`` (Default)
- ``SHA256``
- ``SHA512``
TLS Client Auth
~~~~~~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_KAFKA_TLS_CLIENT_AUTH
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_kafka tls_client_auth
:delimiter: " "
Specify the client authentication type of the Kafka broker(s).
The following table lists the supported values and their mappings
.. list-table::
:header-rows: 1
:widths: 20 80
:width: 100%
* - Value
- Authentication Type
* - 0
- ``NoClientCert``
* - 1
- ``RequestClientCert``
* - 2
- ``RequireAnyClientCert``
* - 3
- ``VerifyClientCertIfGiven``
* - 4
- ``RequireAndVerifyClientCert``
See `ClientAuthType <https://golang.org/pkg/crypto/tls/#ClientAuthType>`__ for more information on each client auth type.
TLS
~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_KAFKA_TLS
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_kafka tls
:delimiter: " "
Specify ``on`` to enable TLS connectivity to the Kafka broker(s).
TLS Skip Verify
~~~~~~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_KAFKA_TLS_SKIP_VERIFY
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_kafka tls_skip_verify
:delimiter: " "
Enables or disables TLS verification of the NATS service endpoint TLS certificates.
- Specify ``on`` to disable TLS verification *(Default)*.
- Specify ``off`` to enable TLS verification.
Client TLS Cert
~~~~~~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_KAFKA_CLIENT_TLS_CERT
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_kafka client_tls_cert
:delimiter: " "
Specify the path to the client certificate to use for performing mTLS authentication to the Kafka broker(s).
Client TLS Key
~~~~~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_KAFKA_CLIENT_TLS_KEY
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_kafka client_tls_key
:delimiter: " "
Specify the path to the client private key to use for performing mTLS authentication to the Kafka broker(s).
Version
~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_KAFKA_VERSION
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_kafka version
:delimiter: " "
Specify the version of the Kafka cluster to assume when performing operations against that cluster.
See the `sarama reference documentation <https://github.com/shopify/sarama/blob/v1.20.1/config.go#L327>`__ for more information on this field's behavior.
Queue Directory
~~~~~~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_KAFKA_QUEUE_DIR
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_kafka queue_dir
:delimiter: " "
Specify the directory path to enable MinIO's persistent event store for undelivered messages, such as ``/opt/minio/events``.
MinIO stores undelivered events in the specified store while the Kafka server/broker is offline and replays the stored events when connectivity resumes.
Queue Limit
~~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_KAFKA_QUEUE_LIMIT
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_kafka queue_limit
:delimiter: " "
Specify the maximum limit for undelivered messages.
Defaults to ``100000``.
Comment
~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_KAFKA_COMMENT
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_kafka comment
:delimiter: " "
Specify a comment to associate with the Kafka configuration.

View File

@ -0,0 +1,337 @@
.. _minio-server-envvar-bucket-notification-mqtt:
.. _minio-server-config-bucket-notification-mqtt:
==========================
MQTT Notification Settings
==========================
.. default-domain:: minio
.. contents:: Table of Contents
:local:
:depth: 2
This page documents settings for configuring an MQTT service as a target for :ref:`Bucket Notifications <minio-bucket-notifications>`.
See :ref:`minio-bucket-notifications-publish-mqtt` for a tutorial on using these settings.
.. include:: /includes/common-mc-admin-config.rst
:start-after: start-minio-settings-defined
:end-before: end-minio-settings-defined
Multiple MQTT Targets
---------------------
You can specify multiple MQTT service endpoints by appending a unique identifier ``_ID`` for each set of related MQTT settings to the top level key.
For example, the following commands set two distinct MQTT service endpoints as ``PRIMARY`` and ``SECONDARY``, respectively:
.. tab-set::
.. tab-item:: Environment Variables
:sync: envvar
.. code-block:: shell
:class: copyable
set MINIO_NOTIFY_MQTT_ENABLE_PRIMARY="on"
set MINIO_NOTIFY_MQTT_BROKER_PRIMARY="tcp://user:password@mqtt-endpoint.example.net:1883"
set MINIO_NOTIFY_MQTT_ENABLE_SECONDARY="on"
set MINIO_NOTIFY_MQTT_BROKER_SECONDARY="tcp://user:password@mqtt-endpoint.example.net:1883"
.. tab-item:: Configuration Setting
:sync: config
.. code-block:: shell
mc admin config set notify_mqtt:primary \
broker="tcp://endpoint:port" \
topic="minio/bucket-name/events/" \
username="username" \
password="password" \
[ARGUMENT="VALUE"] ... \
mc admin config set notify_mqtt:secondary \
broker="tcp://endpoint:port" \
topic="minio/bucket-name/events/" \
username="username" \
password="password" \
[ARGUMENT="VALUE"] ... \
With these settings, :envvar:`MINIO_NOTIFY_MQTT_ENABLE_PRIMARY <MINIO_NOTIFY_MQTT_ENABLE>` indicates the environment variable is associated to an MQTT service endpoint with an ID of ``PRIMARY``.
Settings
--------
Enable
~~~~~~
*Required*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_MQTT_ENABLE
Specify ``on`` to enable publishing bucket notifications to an MQTT endpoint.
Defaults to ``off``.
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_mqtt
The top-level configuration key for defining an MQTT server/broker endpoint for use with :ref:`MinIO bucket notifications <minio-bucket-notifications>`.
Use :mc-cmd:`mc admin config set` to set or update an MQTT server/broker endpoint.
The following arguments are *required* for each endpoint:
- :mc-conf:`~notify_mqtt.broker`
- :mc-conf:`~notify_mqtt.topic`
- :mc-conf:`~notify_mqtt.username` *Optional if MQTT server/broker does not enforce authentication/authorization*
- :mc-conf:`~notify_mqtt.password` *Optional if MQTT server/broker does not enforce authentication/authorization*
Specify additional optional arguments as a whitespace (``" "``)-delimited list.
.. code-block:: shell
:class: copyable
mc admin config set notify_mqtt \
broker="tcp://endpoint:port" \
topic="minio/bucket-name/events/" \
username="username" \
password="password" \
[ARGUMENT="VALUE"] ... \
Broker
~~~~~~
*Required*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_MQTT_BROKER
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_mqtt broker
:delimiter: " "
Specify the MQTT server/broker endpoint.
MinIO supports TCP, TLS, or Websocket connections to the server/broker URL.
For example:
- ``tcp://mqtt.example.net:1883``
- ``tls://mqtt.example.net:1883``
- ``ws://mqtt.example.net:1883``
.. include:: /includes/linux/minio-server.rst
:start-after: start-notify-target-online-desc
:end-before: end-notify-target-online-desc
Topic
~~~~~
*Required*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_MQTT_TOPIC
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_mqtt topic
:delimiter: " "
Specify the name of the MQTT topic to associate with events published by MinIO to the MQTT endpoint.
Username
~~~~~~~~
*Required if the MQTT server/broker enforces authentication/authorization*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_MQTT_USERNAME
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_mqtt username
:delimiter: " "
Specify the MQTT username MinIO should use to authenticate to the MQTT server/broker.
Password
~~~~~~~~
*Required if the MQTT server/broker enforces authentication/authorization*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_MQTT_PASSWORD
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_mqtt password
:delimiter: " "
Specify the password for the MQTT username MinIO uses to authenticate to the MQTT server/broker.
.. versionchanged:: RELEASE.2023-06-23T20-26-00Z
MinIO redacts this value when returned as part of :mc-cmd:`mc admin config get`.
Quality of Service
~~~~~~~~~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_MQTT_QOS
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_mqtt qos
:delimiter: " "
Specify the Quality of Service priority for the published events.
Defaults to ``0``.
Keep Alive Interval
~~~~~~~~~~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_MQTT_KEEP_ALIVE_INTERVAL
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_mqtt keep_alive_interval
:delimiter: " "
Specify the keep-alive interval for the MQTT connections. MinIO
supports the following units of time measurement:
- ``s`` - seconds, "60s"
- ``m`` - minutes, "60m"
- ``h`` - hours, "24h"
- ``d`` - days, "7d"
Reconnect Interval
~~~~~~~~~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_MQTT_RECONNECT_INTERVAL
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_mqtt reconnect_interval
:delimiter: " "
Specify the reconnect interval for the MQTT connections. MinIO
supports the following units of time measurement:
- ``s`` - seconds, "60s"
- ``m`` - minutes, "60m"
- ``h`` - hours, "24h"
- ``d`` - days, "7d"
Queue Directory
~~~~~~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_MQTT_QUEUE_DIR
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_mqtt queue_dir
:delimiter: " "
Specify the directory path to enable MinIO's persistent event store for undelivered messages, such as ``/opt/minio/events``.
MinIO stores undelivered events in the specified store while the MQTT server/broker is offline and replays the stored events when connectivity resumes.
Queue Limit
~~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_MQTT_QUEUE_LIMIT
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_mqtt queue_limit
:delimiter: " "
Specify the maximum limit for undelivered messages.
Defaults to ``100000``.
Comment
~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_MQTT_COMMENT
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_mqtt comment
:delimiter: " "
Specify a comment to associate with the MQTT configuration.

View File

@ -0,0 +1,282 @@
.. _minio-server-envvar-bucket-notification-mysql:
.. _minio-server-config-bucket-notification-mysql:
===========================
MySQL Notification Settings
===========================
.. default-domain:: minio
.. contents:: Table of Contents
:local:
:depth: 2
This page documents settings for configuring a MYSQL service as a target for :ref:`Bucket Notifications <minio-bucket-notifications>`.
See :ref:`minio-bucket-notifications-publish-mysql` for a tutorial on using these settings.
.. include:: /includes/common-mc-admin-config.rst
:start-after: start-minio-settings-defined
:end-before: end-minio-settings-defined
Multiple MYSQL Targets
----------------------
You can specify multiple MySQL service endpoints by appending a unique identifier ``_ID`` for each set of related MySQL settings on to the top level key.
Examples
~~~~~~~~
The following commands set two distinct MySQL service endpoints as ``PRIMARY`` and ``SECONDARY`` respectively:
.. tab-set::
.. tab-item:: Environment Variables
:sync: envvar
.. code-block:: shell
:class: copyable
set MINIO_NOTIFY_MYSQL_ENABLE_PRIMARY="on"
set MINIO_NOTIFY_MYSQL_DSN_STRING_PRIMARY="username:password@tcp(mysql.example.com:3306)/miniodb"
set MINIO_NOTIFY_MYSQL_TABLE_PRIMARY="minioevents"
set MINIO_NOTIFY_MYSQL_FORMAT_PRIMARY="namespace"
set MINIO_NOTIFY_MYSQL_ENABLE_SECONDARY="on"
set MINIO_NOTIFY_MYSQL_DSN_STRING_SECONDARY="username:password@tcp(mysql.example.com:3306)/miniodb"
set MINIO_NOTIFY_MYSQL_TABLE_SECONDARY="minioevents"
set MINIO_NOTIFY_MYSQL_FORMAT_SECONDARY="namespace"
With these settings, :envvar:`MINIO_NOTIFY_MYSQL_ENABLE_PRIMARY <MINIO_NOTIFY_MYSQL_ENABLE>` indicates the environment variable is associated to a MySQL service endpoint with ID of ``PRIMARY``.
.. tab-item:: Configuration Settings
:sync: config
.. code-block:: shell
mc admin config set notify_mysql:primary \
dsn_string="username:password@tcp(mysql.example.com:3306)/miniodb"
table="minioevents" \
format="namespace" \
[ARGUMENT=VALUE ...]
mc admin config set notify_mysql:secondary \
dsn_string="username:password@tcp(mysql.example.com:3306)/miniodb"
table="minioevents" \
format="namespace" \
[ARGUMENT=VALUE ...]
Settings
--------
Enable
~~~~~~
*Required*
.. tab-set::
.. tab-item:: Environment Variables
:sync: envvar
.. envvar:: MINIO_NOTIFY_MYSQL_ENABLE
Specify ``on`` to enable publishing bucket notifications to a MySQL service endpoint.
Defaults to ``off``.
Requires specifying the following additional environment variables if set to ``on``:
- :envvar:`MINIO_NOTIFY_MYSQL_DSN_STRING`
- :envvar:`MINIO_NOTIFY_MYSQL_TABLE`
- :envvar:`MINIO_NOTIFY_MYSQL_FORMAT`
.. tab-item:: Configuration Settings
:sync: config
.. mc-conf:: notify_mysql
The top-level configuration key for defining an MySQL service endpoint for use with :ref:`MinIO bucket notifications <minio-bucket-notifications>`.
Use :mc-cmd:`mc admin config set` to set or update an MySQL service endpoint.
The following arguments are *required* for each target:
- :mc-conf:`~notify_mysql.dsn_string`
- :mc-conf:`~notify_mysql.table`
- :mc-conf:`~notify_mysql.format`
Specify additional optional arguments as a whitespace (``" "``)-delimited list.
.. code-block:: shell
:class: copyable
mc admin config set notify_mysql \
dsn_string="username:password@tcp(mysql.example.com:3306)/miniodb"
table="minioevents" \
format="namespace" \
[ARGUMENT="VALUE"] ... \
Data Source Name (DSN) String
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*Required*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_MYSQL_DSN_STRING
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_mysql dsn_string
:delimiter: " "
Specify the data source name (DSN) of the MySQL service endpoint. MinIO expects the following format:
``<user>:<password>@tcp(<host>:<port>)/<database>``
For example:
``"username:password@tcp(mysql.example.com:3306)/miniodb"``
.. include:: /includes/linux/minio-server.rst
:start-after: start-notify-target-online-desc
:end-before: end-notify-target-online-desc
Table
~~~~~
*Required*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_MYSQL_TABLE
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_mysql table
:delimiter: " "
Specify the name of the MySQL table to which MinIO publishes event notifications.
Format
~~~~~~
*Required*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_MYSQL_FORMAT
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_mysql format
:delimiter: " "
Specify the format of event data written to the MySQL service endpoint.
MinIO supports the following values:
``namespace``
For each bucket event, MinIO creates a JSON document with the bucket and object name from the event as the document ID and the actual event as part of the document body.
Additional updates to that object modify the existing table entry for that object.
Similarly, deleting the object also deletes the corresponding table entry.
``access``
For each bucket event, MinIO creates a JSON document with the event details and appends it to the table with a MySQL-generated random ID.
Additional updates to an object result in new index entries, and existing entries remain unmodified.
Max Open Connections
~~~~~~~~~~~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_MYSQL_MAX_OPEN_CONNECTIONS
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_mysql max_open_connections
:delimiter: " "
Specify the maximum number of open connections to the MySQL database.
Defaults to ``2``.
Queue Directory
~~~~~~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_MYSQL_QUEUE_DIR
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_mysql queue_dir
:delimiter: " "
Specify the directory path to enable MinIO's persistent event store for undelivered messages, such as ``/opt/minio/events``.
MinIO stores undelivered events in the specified store while the MySQL server/broker is offline and replays the stored events when connectivity resumes.
Queue Limit
~~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_MYSQL_QUEUE_LIMIT
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_mysql queue_limit
:delimiter: " "
Specify the maximum limit for undelivered messages. Defaults to ``100000``.
Comment
~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_MYSQL_COMMENT
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_mysql comment
:delimiter: " "
Specify a comment to associate with the MySQL configuration.

View File

@ -0,0 +1,519 @@
.. _minio-server-envvar-bucket-notification-nats:
.. _minio-server-config-bucket-notification-nats:
==========================
NATS Notification Settings
==========================
.. default-domain:: minio
.. contents:: Table of Contents
:local:
:depth: 2
.. admonition:: NATS Streaming Deprecated
:class: important
NATS Streaming is deprecated.
Migrate to `JetStream <https://docs.nats.io/nats-concepts/jetstream>`__ instead.
The related MinIO configuration options and environment variables are deprecated.
This page documents settings for configuring an NATS service as a target for :ref:`Bucket Notifications <minio-bucket-notifications>`.
See :ref:`minio-bucket-notifications-publish-nats` for a tutorial on using these settings.
.. include:: /includes/common-mc-admin-config.rst
:start-after: start-minio-settings-defined
:end-before: end-minio-settings-defined
Multiple NATS Targets
---------------------
You can specify multiple NATS service endpoints by appending a unique identifier ``_ID`` for each set of related NATS settings on to the top level key.
Example
~~~~~~~
For example, the following commands set two distinct NATS service endpoints as ``PRIMARY`` and ``SECONDARY`` respectively:
.. tab-set::
.. tab-item:: Environment Variables
:sync: envvar
.. code-block:: shell
:class: copyable
set MINIO_NOTIFY_NATS_ENABLE_PRIMARY="on"
set MINIO_NOTIFY_NATS_ADDRESS_PRIMARY="https://nats-endpoint.example.net:4222"
set MINIO_NOTIFY_NATS_ENABLE_SECONDARY="on"
set MINIO_NOTIFY_NATS_ADDRESS_SECONDARY="https://nats-endpoint.example.net:4222"
With these settings, :envvar:`MINIO_NOTIFY_NATS_ENABLE_PRIMARY <MINIO_NOTIFY_NATS_ENABLE>` indicates the environment variable is associated to an NATS service endpoint with ID of ``PRIMARY``.
.. tab-item:: Configuration Settings
:sync: config
.. code-block:: shell
mc admin config set notify_nats:primary \
address="https://nats-endpoint.example.com:4222" \
subject="minioevents" \
[ARGUMENT=VALUE ...]
mc admin config set notify_nats:secondary \
address="https://nats-endpoint.example.com:4222" \
subject="minioevents" \
[ARGUMENT=VALUE ...]
Settings
--------
Enable
~~~~~~
*Required*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_NATS_ENABLE
Specify ``on`` to enable publishing bucket notifications to an NATS service endpoint.
Defaults to ``off``.
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_nats
The top-level configuration key for defining an NATS service endpoint for use with :ref:`MinIO bucket notifications <minio-bucket-notifications>`.
Use :mc-cmd:`mc admin config set` to set or update an NATS service endpoint.
The :mc-conf:`~notify_nats.address` and :mc-conf:`~notify_nats.subject` arguments are *required* for each target.
Specify additional optional arguments as a whitespace (``" "``)-delimited list.
.. code-block:: shell
:class: copyable
mc admin config set notify_nats \
address="https://nats-endpoint.example.com:4222" \
subject="minioevents" \
[ARGUMENT="VALUE"] ... \
Address
~~~~~~~
*Required*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_NATS_ADDRESS
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_nats address
:delimiter: " "
Specify the NATS service endpoint to which MinIO publishes bucket events.
For example, ``https://nats-endpoint.example.com:4222``.
.. include:: /includes/linux/minio-server.rst
:start-after: start-notify-target-online-desc
:end-before: end-notify-target-online-desc
Subject
~~~~~~~
*Required*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_NATS_SUBJECT
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_nats subject
:delimiter: " "
Specify the subscription to which MinIO associates events published to the NATS endpoint.
Username
~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_NATS_USERNAME
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_nats username
:delimiter: " "
Specify the username for connecting to the NATS service endpoint.
Password
~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_NATS_PASSWORD
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_nats password
:delimiter: " "
Specify the passport for connecting to the NATS service endpoint.
.. versionchanged:: RELEASE.2023-06-23T20-26-00Z
MinIO redacts this value when returned as part of :mc-cmd:`mc admin config get`.
Token
~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_NATS_TOKEN
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_nats token
:delimiter: " "
Specify the token for connecting to the NATS service endpoint.
.. versionchanged:: RELEASE.2023-06-23T20-26-00Z
MinIO redacts this value when returned as part of :mc-cmd:`mc admin config get`.
TLS
~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_NATS_TLS
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_nats tls
:delimiter: "
Specify ``on`` to enable TLS connectivity to the NATS service endpoint.
TLS Skip Verify
~~~~~~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_NATS_TLS_SKIP_VERIFY
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_nats tls_skip_verify
:delimiter: " "
Enables or disables TLS verification of the NATS service endpoint TLS certificates.
- Specify ``on`` to disable TLS verification (Default).
- Specify ``off`` to enable TLS verification.
Ping Interval
~~~~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_NATS_PING_INTERVAL
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_nats ping_interval
:delimiter: " "
Specify the duration interval for client pings to the NATS server.
MinIO supports the following time units:
- ``s`` - seconds, ``"60s"``
- ``m`` - minutes, ``"5m"``
- ``h`` - hours, ``"1h"``
- ``d`` - days, ``"1d"``
Jetstream
~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_NATS_JETSTREAM
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_nats jetstream
:delimiter: " "
Specify ``on`` to enable JetStream support for streaming events to a NATS JetStream service endpoint.
Streaming
~~~~~~~~~
*Deprecated*
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_NATS_STREAMING
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_nats streaming
:delimiter: " "
Specify ``on`` to enable asynchronous publishing of events to the NATS service endpoint.
Streaming Async
~~~~~~~~~~~~~~~
*Deprecated*
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_NATS_STREAMING_ASYNC
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_nats streaming_async
:delimiter: " "
Specify ``on`` to enable asynchronous publishing of events to the NATS service endpoint.
Max ACK Responses In Flight
~~~~~~~~~~~~~~~~~~~~~~~~~~~
*Deprecated*
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_NATS_STREAMING_MAX_PUB_ACKS_IN_FLIGHT
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_nats streaming_max_pub_acks_in_flight
:delimiter: " "
Specify the number of messages to publish without waiting for an ACK response from the NATS service endpoint.
Streaming Cluster ID
~~~~~~~~~~~~~~~~~~~~
*Deprecated*
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_NATS_STREAMING_CLUSTER_ID
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_nats streaming_cluster_id
:delimiter: " "
Specify the unique ID for the NATS streaming cluster.
Cert Authority
~~~~~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_NATS_CERT_AUTHORITY
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_nats cert_authority
:delimiter: " "
Specify the path to the Certificate Authority chain used to sign the NATS service endpoint TLS certificates.
Client Cert
~~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_NATS_CLIENT_CERT
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_nats client_cert
:delimiter: " "
Specify the path to the client certificate to use for performing mTLS authentication to the NATS service endpoint.
Client Key
~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_NATS_CLIENT_KEY
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_nats client_key
:delimiter: " "
Specify the path to the client private key to use for performing mTLS authentication to the NATS service endpoint.
Queue Directory
~~~~~~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_NATS_QUEUE_DIR
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_nats queue_dir
:delimiter: " "
Specify the directory path to enable MinIO's persistent event store for undelivered messages, such as ``/opt/minio/events``.
MinIO stores undelivered events in the specified store while the NATS server/broker is offline and replays the stored events when connectivity resumes.
Queue Limit
~~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_NATS_QUEUE_LIMIT
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_nats queue_limit
:delimiter: " "
Specify the maximum limit for undelivered messages.
Defaults to ``100000``.
Comment
~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_NATS_COMMENT
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_nats comment
:delimiter: " "
Specify a comment to associate with the NATS configuration.

View File

@ -0,0 +1,250 @@
.. _minio-server-envvar-bucket-notification-nsq:
.. _minio-server-config-bucket-notification-nsq:
=========================
NSQ Notification Settings
=========================
.. default-domain:: minio
.. contents:: Table of Contents
:local:
:depth: 2
This page documents settings for configuring an NSQ service as a target for :ref:`Bucket Notifications <minio-bucket-notifications>`.
See :ref:`minio-bucket-notifications-publish-nsq` for a tutorial on using these settings.
.. include:: /includes/common-mc-admin-config.rst
:start-after: start-minio-settings-defined
:end-before: end-minio-settings-defined
Multiple NSQ Targets
--------------------
You can specify multiple NSQ service endpoints by appending a unique identifier ``_ID`` to the end of the top level key for each set of related NSQ settings.
For example, the following commands set two distinct NSQ service endpoints as ``PRIMARY`` and ``SECONDARY`` respectively:
.. tab-set::
.. tab-item:: Environment Variables
:sync: envvar
.. code-block:: shell
:class: copyable
set MINIO_NOTIFY_NSQ_ENABLE_PRIMARY="on"
set MINIO_NOTIFY_NSQ_NSQD_ADDRESS_PRIMARY="https://user:password@nsq-endpoint.example.net:9200"
set MINIO_NOTIFY_NSQ_TOPIC_PRIMARY="bucketevents"
set MINIO_NOTIFY_NSQ_ENABLE_SECONDARY="on"
set MINIO_NOTIFY_NSQ_NSQD_ADDRESS_SECONDARY="https://user:password@nsq-endpoint.example.net:9200"
set MINIO_NOTIFY_NSQ_TOPIC_SECONDARY="bucketevents"
.. tab-item:: Configuration Settings
:sync: config
.. code-block:: shell
mc admin config set notify_nsq:primary \
nsqd_address="ENDPOINT" \
topic="<string>" \
[ARGUMENT="VALUE"] ... \
mc admin config set notify_nsq:secondary \
nsqd_address="ENDPOINT" \
topic="<string>" \
[ARGUMENT="VALUE"] ... \
Settings
--------
Enable
~~~~~~
*Required*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_NSQ_ENABLE
Specify ``on`` to enable publishing bucket notifications to an NSQ endpoint.
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_nsq
The top-level configuration key for defining an NSQ server/broker endpoint for use with :ref:`MinIO bucket notifications <minio-bucket-notifications>`.
Use :mc-cmd:`mc admin config set` to set or update an NSQ server/broker endpoint.
The following arguments are *required* for each endpoint:
- :mc-conf:`~notify_nsq.nsqd_address`
- :mc-conf:`~notify_nsq.topic`
Specify additional optional arguments as a whitespace (``" "``)-delimited list.
.. code-block:: shell
:class: copyable
mc admin config set notify_nsq \
nsqd_address="https://nsq-endpoint.example.net:4150" \
topic="<string>" \
[ARGUMENT="VALUE"] ...
NSQ Daemon Server Address
~~~~~~~~~~~~~~~~~~~~~~~~~
*Required*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_NSQ_NSQD_ADDRESS
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_nsq nsqd_address
:delimiter: " "
Specify the NSQ server address where the NSQ Daemon runs.
For example:
``https://nsq-endpoint.example.net:4150``
.. include:: /includes/linux/minio-server.rst
:start-after: start-notify-target-online-desc
:end-before: end-notify-target-online-desc
Topic
~~~~~
*Required*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_NSQ_TOPIC
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_nsq topic
:delimiter: " "
Specify the name of the NSQ topic MinIO uses when publishing events to the broker.
TLS
~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_NSQ_TLS
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_nsq tls
:delimiter: " "
Specify ``on`` to enable TLS connectivity to the NSQ service broker.
TLS Skip Verify
~~~~~~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_NSQ_TLS_SKIP_VERIFY
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_nsq tls_skip_verify
:delimiter: " "
Enables or disables TLS verification of the NSQ service broker TLS certificates.
- Specify ``on`` to disable TLS verification (Default).
- Specify ``off`` to enable TLS verification.
Queue Directory
~~~~~~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_NSQ_QUEUE_DIR
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_nsq queue_dir
:delimiter: " "
Specify the directory path to enable MinIO's persistent event store for undelivered messages, such as ``/opt/minio/events``.
MinIO stores undelivered events in the specified store while the NSQ server/broker is offline and replays the stored events when connectivity resumes.
Queue Limit
~~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_NSQ_QUEUE_LIMIT
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_nsq queue_limit
:delimiter: " "
Specify the maximum limit for undelivered messages.
Defaults to ``100000``.
Comment
~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_NSQ_COMMENT
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_nsq comment
:delimiter: " "
Specify a comment to associate with the NSQ configuration.

View File

@ -0,0 +1,277 @@
.. _minio-server-envvar-bucket-notification-postgresql:
.. _minio-server-config-bucket-notification-postgresql:
================================
PostgreSQL Notification Settings
================================
.. default-domain:: minio
.. contents:: Table of Contents
:local:
:depth: 2
This page documents settings for configuring an POSTGRES service as a target for :ref:`Bucket Notifications <minio-bucket-notifications>`.
See :ref:`minio-bucket-notifications-publish-postgresql` for a tutorial on using these settings.
.. include:: /includes/common-mc-admin-config.rst
:start-after: start-minio-settings-defined
:end-before: end-minio-settings-defined
Multiple PostgreSQL Targets
---------------------------
You can specify multiple PostgreSQL service endpoints by appending a unique identifier ``_ID`` for each set of related PostgreSQL settings on to the top level key.
For example, the following commands set two distinct PostgreSQL service endpoints as ``PRIMARY`` and ``SECONDARY`` respectively:
.. tab-set::
.. tab-item:: Environment Variables
:sync: envvar
.. code-block:: shell
:class: copyable
set MINIO_NOTIFY_POSTGRES_ENABLE_PRIMARY="on"
set MINIO_NOTIFY_POSTGRES_CONNECTION_STRING_PRIMARY="host=postgresql-endpoint.example.net port=4222..."
set MINIO_NOTIFY_POSTGRES_TABLE_PRIMARY="minioevents"
set MINIO_NOTIFY_POSTGRES_FORMAT_PRIMARY="namespace"
set MINIO_NOTIFY_POSTGRES_ENABLE_SECONDARY="on"
set MINIO_NOTIFY_POSTGRES_CONNECTION_STRING_SECONDARY="host=postgresql-endpoint.example.net port=4222..."
set MINIO_NOTIFY_POSTGRES_TABLE_SECONDARY="minioevents"
set MINIO_NOTIFY_POSTGRES_FORMAT_SECONDARY="namespace"
.. tab-item:: Configuration Settings
:sync: config
.. code-block:: shell
mc admin config set notify_postgres:primary \
connection_string="host=postgresql.example.com port=5432..."
table="minioevents" \
format="namespace" \
[ARGUMENT=VALUE ...]
mc admin config set notify_postgres:secondary \
connection_string="host=postgresql.example.com port=5432..."
table="minioevents" \
format="namespace" \
[ARGUMENT=VALUE ...]
With these settings, :envvar:`MINIO_NOTIFY_POSTGRES_ENABLE_PRIMARY <MINIO_NOTIFY_POSTGRES_ENABLE>` indicates the environment variable is associated to an PostgreSQL service endpoint with ID of ``PRIMARY``.
Settings
--------
Enable
~~~~~~
*Required*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_POSTGRES_ENABLE
Specify ``on`` to enable publishing bucket notifications to a PostgreSQL service endpoint.
Defaults to ``off``.
Requires specifying the following additional environment variables if set to ``on``:
- :envvar:`MINIO_NOTIFY_POSTGRES_CONNECTION_STRING`
- :envvar:`MINIO_NOTIFY_POSTGRES_TABLE`
- :envvar:`MINIO_NOTIFY_POSTGRES_FORMAT`
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_postgres
The top-level configuration key for defining an PostgreSQL service endpoint for use with :ref:`MinIO bucket notifications <minio-bucket-notifications>`.
Use :mc-cmd:`mc admin config set` to set or update an PostgreSQL service endpoint.
The following arguments are *required* for each target:
- :mc-conf:`~notify_postgres.connection_string`
- :mc-conf:`~notify_postgres.table`
- :mc-conf:`~notify_postgres.format`
Specify additional optional arguments as a whitespace (``" "``)-delimited list.
.. code-block:: shell
:class: copyable
mc admin config set notify_postgres \
connection_string="host=postgresql.example.com port=5432..." \
table="minioevents" \
format="namespace" \
[ARGUMENT="VALUE"] ...
Connection String
~~~~~~~~~~~~~~~~~
*Required*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_POSTGRES_CONNECTION_STRING
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_postgres connection_string
:delimiter: " "
Specify the `URI connection string <https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING>`__ of the PostgreSQL service endpoint.
MinIO supports ``key=value`` format for the PostgreSQL connection string.
For example:
``"host=https://postgresql.example.com port=5432 ..."``
For more complete documentation on supported PostgreSQL connection string parameters, see the `PostgreSQL Connection Strings documentation <https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING>`__.
.. include:: /includes/linux/minio-server.rst
:start-after: start-notify-target-online-desc
:end-before: end-notify-target-online-desc
Table
~~~~~
*Required*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_POSTGRES_TABLE
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_postgres table
:delimiter: " "
Specify the name of the PostgreSQL table to which MinIO publishes event notifications.
Format
~~~~~~
*Required*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_POSTGRES_FORMAT
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_postgres format
:delimiter: " "
Specify the format of event data written to the PostgreSQL service endpoint.
MinIO supports the following values:
``namespace``
For each bucket event, MinIO creates a JSON document with the bucket and object name from the event as the document ID and the actual event as part of the document body.
Additional updates to that object modify the existing table entry for that object.
Similarly, deleting the object also deletes the corresponding table entry.
``access``
For each bucket event, MinIO creates a JSON document with the event details and appends it to the table with a PostgreSQL-generated random ID.
Additional updates to an object result in new index entries, and existing entries remain unmodified.
Max Open Connections
~~~~~~~~~~~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_POSTGRES_MAX_OPEN_CONNECTIONS
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_postgres max_open_connections
:delimiter: " "
Specify the maximum number of open connections to the PostgreSQL database.
Defaults to ``2``.
Queue Directory
~~~~~~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_POSTGRES_QUEUE_DIR
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_postgres queue_dir
:delimiter: " "
Specify the directory path to enable MinIO's persistent event store for undelivered messages, such as ``/opt/minio/events``.
MinIO stores undelivered events in the specified store while the PostgreSQL server/broker is offline and replays the stored events when connectivity resumes.
Queue Limit
~~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_POSTGRES_QUEUE_LIMIT
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_postgres queue_limit
:delimiter: " "
Specify the maximum limit for undelivered messages.
Defaults to ``100000``.
Comment
~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_POSTGRES_COMMENT
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_postgres comment
:delimiter: " "
Specify a comment to associate with the PostgreSQL configuration.

View File

@ -0,0 +1,274 @@
.. _minio-server-envvar-bucket-notification-redis:
.. _minio-server-config-bucket-notification-redis:
===========================
Redis Notification Settings
===========================
.. default-domain:: minio
.. contents:: Table of Contents
:local:
:depth: 2
This page documents settings for configuring a Redis service as a target for :ref:`Bucket Notifications <minio-bucket-notifications>`.
See :ref:`minio-bucket-notifications-publish-redis` for a tutorial on using these settings.
.. include:: /includes/common-mc-admin-config.rst
:start-after: start-minio-settings-defined
:end-before: end-minio-settings-defined
Multiple Redis Targets
----------------------
You can specify multiple Redis service endpoints by appending a unique identifier ``_ID`` to the end of the top level key for each set of related Redis settings.
For example, the following commands set two distinct Redis service endpoints as ``PRIMARY`` and ``SECONDARY`` respectively:
.. tab-set::
.. tab-item:: Environment Variables
:sync: envvar
.. code-block:: shell
:class: copyable
set MINIO_NOTIFY_REDIS_ENABLE_PRIMARY="on"
set MINIO_NOTIFY_REDIS_REDIS_ADDRESS_PRIMARY="https://user:password@redis-endpoint.example.net:9200"
set MINIO_NOTIFY_REDIS_KEY_PRIMARY="bucketevents"
set MINIO_NOTIFY_REDIS_FORMAT_PRIMARY="namespace"
set MINIO_NOTIFY_REDIS_ENABLE_SECONDARY="on"
set MINIO_NOTIFY_REDIS_REDIS_ADDRESS_SECONDARY="https://user:password@redis-endpoint2.example.net:9200"
set MINIO_NOTIFY_REDIS_KEY_SECONDARY="bucketevents"
set MINIO_NOTIFY_REDIS_FORMAT_SECONDARY="namespace"
.. tab-item:: Configuration Settings
:sync: config
.. code-block:: shell
mc admin config set notify_redis:primary \
address="https://redis-endpoint.example.net:9200" \
key="bucketevents" \
format="namespace" \
[ARGUMENT="VALUE"] ... \
mc admin config set notify_redis:secondary \
address="https://redis-endpoint2.example.net:9200" \
key="bucketevents" \
format="namespace" \
[ARGUMENT="VALUE"] ...
Settings
--------
Enable
~~~~~~
*Required*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_REDIS_ENABLE
Specify ``on`` to enable publishing bucket notifications to a Redis service endpoint.
Defaults to ``off``.
Requires specifying the following additional environment variables if set to ``on``:
- :envvar:`MINIO_NOTIFY_REDIS_ADDRESS`
- :envvar:`MINIO_NOTIFY_REDIS_KEY`
- :envvar:`MINIO_NOTIFY_REDIS_FORMAT`
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_redis
The top-level configuration key for defining an Redis server/broker endpoint for use with :ref:`MinIO bucket notifications <minio-bucket-notifications>`.
Use :mc-cmd:`mc admin config set` to set or update an Redis server/broker endpoint.
The following arguments are *required* for each endpoint:
- :mc-conf:`~notify_redis.address`
- :mc-conf:`~notify_redis.key`
- :mc-conf:`~notify_redis.format`
Specify additional optional arguments as a whitespace (``" "``)-delimited list.
.. code-block:: shell
:class: copyable
mc admin config set notify_redis \
address="ENDPOINT" \
key="<string>" \
format="<string>" \
[ARGUMENT="VALUE"] ... \
Address
~~~~~~~
*Required*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_REDIS_ADDRESS
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_redis address
:delimiter: " "
Specify the Redis service endpoint to which MinIO publishes bucket events.
For example, ``https://redis.example.com:6369``.
.. include:: /includes/linux/minio-server.rst
:start-after: start-notify-target-online-desc
:end-before: end-notify-target-online-desc
Key
~~~
*Required*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_REDIS_KEY
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_redis key
:delimiter: " "
Specify the Redis key to use for storing and updating events.
Redis auto-creates the key if it does not exist.
Format
~~~~~~
*Required*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_REDIS_FORMAT
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_redis format
:delimiter: " "
Specify the format of event data written to the Redis service endpoint.
MinIO supports the following values:
``namespace``
For each bucket event, MinIO creates a JSON document with the bucket and object name from the event as the document ID and the actual event as part of the document body.
Additional updates to that object modify the existing index entry for that object.
Similarly, deleting the object also deletes the corresponding index entry.
``access``
For each bucket event, MinIO creates a JSON document with the event details and appends it to the key with a Redis-generated random ID.
Additional updates to an object result in new index entries, and existing entries remain unmodified.
Password
~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_REDIS_PASSWORD
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_redis password
:delimiter: " "
Specify the password for the Redis server.
.. versionchanged:: RELEASE.2023-06-23T20-26-00Z
MinIO redacts this value when returned as part of :mc-cmd:`mc admin config get`.
Queue Directory
~~~~~~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_REDIS_QUEUE_DIR
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_redis queue_dir
:delimiter: " "
Specify the directory path to enable MinIO's persistent event store for undelivered messages, such as ``/opt/minio/events``.
MinIO stores undelivered events in the specified store while the Redis server/broker is offline and replays the stored events when connectivity resumes.
Queue Limit
~~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_REDIS_QUEUE_LIMIT
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_redis queue_limit
:delimiter: " "
Specify the maximum limit for undelivered messages.
Defaults to ``100000``.
Comment
~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_REDIS_COMMENT
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_redis comment
:delimiter: " "
Specify a comment to associate with the Redis configuration.

View File

@ -0,0 +1,289 @@
.. _minio-server-envvar-bucket-notification-webhook-service:
.. _minio-server-envvar-bucket-notification-webhook:
.. _minio-server-config-bucket-notification-webhook:
=====================================
Webhook Service Notification Settings
=====================================
.. default-domain:: minio
.. contents:: Table of Contents
:local:
:depth: 2
This page documents settings for configuring an Webhook service as a target for :ref:`Bucket Notifications <minio-bucket-notifications>`.
See :ref:`minio-bucket-notifications-publish-webhook` for a tutorial on using these settings.
.. include:: /includes/common-mc-admin-config.rst
:start-after: start-minio-settings-defined
:end-before: end-minio-settings-defined
Multiple Webhook Service Targets
--------------------------------
You can specify multiple Webhook service endpoints by appending a unique identifier ``_ID`` for each set of related Webhook settings on to the top level key.
For example, the following commands set two distinct Webhook service endpoints as ``PRIMARY`` and ``SECONDARY`` respectively:
.. tab-set::
.. tab-item:: Environment Variables
:sync: envvar
.. code-block:: shell
:class: copyable
set MINIO_NOTIFY_WEBHOOK_ENABLE_PRIMARY="on"
set MINIO_NOTIFY_WEBHOOK_ENDPOINT_PRIMARY="https://webhook1.example.net"
set MINIO_NOTIFY_WEBHOOK_ENABLE_SECONDARY="on"
set MINIO_NOTIFY_WEBHOOK_ENDPOINT_SECONDARY="https://webhook1.example.net"
.. tab-item:: Configuration Settings
:sync: config
.. code-block:: shell
mc admin config set notify_webhook:primary \
endpoint="https://webhook1.example.net"
[ARGUMENT=VALUE ...]
mc admin config set notify_webhook:secondary \
endpoint="https://webhook2.example.net
[ARGUMENT=VALUE ...]
Settings
--------
Enable
~~~~~~
*Required*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_WEBHOOK_ENABLE
Specify ``on`` to enable publishing bucket notifications to a Webhook service endpoint.
Defaults to ``off``.
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_webhook
The top-level configuration key for defining an Webhook service endpoint for use with :ref:`MinIO bucket notifications <minio-bucket-notifications>`.
Use :mc-cmd:`mc admin config set` to set or update an Webhook service endpoint.
The :mc-conf:`~notify_webhook.endpoint` argument is *required* for each target.
Specify additional optional arguments as a whitespace (``" "``)-delimited list.
.. code-block:: shell
:class: copyable
mc admin config set notify_webhook \
endpoint="https://webhook.example.net"
[ARGUMENT="VALUE"] ... \
Endpoint
~~~~~~~~
*Required*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_WEBHOOK_ENDPOINT
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_webhook endpoint
:delimiter: " "
Specify the URL for the webhook service.
.. include:: /includes/linux/minio-server.rst
:start-after: start-notify-target-online-desc
:end-before: end-notify-target-online-desc
Auth Token
~~~~~~~~~~
*Required*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_WEBHOOK_AUTH_TOKEN
An authentication token of the appropriate type for the endpoint.
Omit for endpoints which do not require authentication.
To allow for a variety of token types, MinIO creates the request authentication header using the value *exactly as specified*.
Depending on the endpoint, you may need to include additional information.
For example, for a Bearer token, prepend ``Bearer``:
.. code-block:: shell
:class: copyable
set MINIO_NOTIFY_WEBHOOK_AUTH_TOKEN_myendpoint="Bearer 1a2b3c4f5e"
Modify the value according to the endpoint requirements.
A custom authentication format could resemble the following:
.. code-block:: shell
:class: copyable
set MINIO_NOTIFY_WEBHOOK_AUTH_TOKEN_xyz="ServiceXYZ 1a2b3c4f5e"
Consult the documentation for the desired service for more details.
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_webhook auth_token
:delimiter: " "
An authentication token of the appropriate type for the endpoint.
Omit for endpoints which do not require authentication.
To allow for a variety of token types, MinIO creates the request authentication header using the value *exactly as specified*.
Depending on the endpoint, you may need to include additional information.
For example, for a Bearer token, prepend ``Bearer``:
.. code-block:: shell
:class: copyable
mc admin config set myminio notify_webhook \
endpoint="https://webhook-1.example.net" \
auth_token="Bearer 1a2b3c4f5e"
Modify the value according to the endpoint requirements.
A custom authentication format could resemble the following:
.. code-block:: shell
:class: copyable
mc admin config set myminio notify_webhook \
endpoint="https://webhook-1.example.net" \
auth_token="ServiceXYZ 1a2b3c4f5e"
Consult the documentation for the desired service for more details.
.. versionchanged:: RELEASE.2023-06-23T20-26-00Z
MinIO redacts this value when returned as part of :mc-cmd:`mc admin config get`.
Queue Directory
~~~~~~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_WEBHOOK_QUEUE_DIR
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_webhook queue_dir
:delimiter: " "
Specify the directory path to enable MinIO's persistent event store for undelivered messages, such as ``/opt/minio/events``.
MinIO stores undelivered events in the specified store while the webhook service is offline and replays the stored events when connectivity resumes.
Queue Limit
~~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_WEBHOOK_QUEUE_LIMIT
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_webhook queue_limit
:delimiter: " "
Specify the maximum limit for undelivered messages.
Defaults to ``100000``.
Client Certificate
~~~~~~~~~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_WEBHOOK_CLIENT_CERT
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_webhook client_cert
:delimiter: " "
Specify the path to the client certificate to use for performing mTLS authentication to the webhook service.
Client Key
~~~~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_WEBHOOK_CLIENT_KEY
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_webhook client_key
:delimiter: " "
Specify the path to the client private key to use for performing mTLS authentication to the webhook service.
Comment
~~~~~~~
*Optional*
.. tab-set::
.. tab-item:: Environment Variable
:sync: envvar
.. envvar:: MINIO_NOTIFY_WEBHOOK_COMMENT
.. tab-item:: Configuration Setting
:sync: config
.. mc-conf:: notify_webhook comment
:delimiter: " "
Specify a comment to associate with the Webhook configuration.