Skip to content

This is the multi-page printable view of this section. .

Return to the regular view of this page.

Bucket Notifications Settings

This page covers settings that control behavior related to MinIO bucket notifications.

You can establish or modify settings by defining:

  • an environment variable on the host system prior to starting or restarting the MinIO Server. Refer to your operating system’s documentation for how to define an environment variable.
  • a configuration setting using mc admin config set.

If you define both an environment variable and the similar configuration setting, MinIO uses the environment variable value.

Some settings have only an environment variable or a configuration setting, but not both.

Warning

Important

Each configuration setting controls fundamental MinIO behavior and functionality. MinIO strongly recommends testing configuration changes in a lower environment, such as DEV or QA, before applying to production.

Sync Events

Optional

MINIO_API_SYNC_EVENTS

envvar

api sync_events

mc-conf

Enables synchronous bucket notifications.

Specify on to direct MinIO to wait until the remote target returns success on receipt of an event before processing further events.

Defaults to off, or asynchronous bucket notifications where MinIO does not wait for the remote target to return success on receipt of an event.

Supported Notification Targets

Notifications require a target to receive the events. MinIO supports a variety of possible targets. Settings for each target type have their own pages. Select the appropriate link below for the type of target you use for notifications.

1 - AMQP Notification Settings

This page documents settings for configuring an AMQP service as a target for Bucket Notifications. See Publish Events to AMQP (RabbitMQ) for a tutorial on using these settings.

You can establish or modify settings by defining:

  • an environment variable on the host system prior to starting or restarting the MinIO Server. Refer to your operating system’s documentation for how to define an environment variable.
  • a configuration setting using mc admin config set.

If you define both an environment variable and the similar configuration setting, MinIO uses the environment variable value.

Some settings have only an environment variable or a configuration setting, but not both.

Warning

Important

Each configuration setting controls fundamental MinIO behavior and functionality. MinIO strongly recommends testing configuration changes in a lower environment, such as DEV or QA, before applying to production.

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:

export MINIO_NOTIFY_AMQP_ENABLE_PRIMARY="on"
export MINIO_NOTIFY_AMQP_URL_PRIMARY="amqp://user:password@amqp-endpoint.example.net:5672"

export MINIO_NOTIFY_AMQP_ENABLE_SECONDARY="on"
export MINIO_NOTIFY_AMQP_URL_SECONDARY="amqp://user:password@amqp-endpoint.example.net:5672"

For example, MINIO_NOTIFY_AMQP_ENABLE_PRIMARY indicates the environment variable is associated to an AMQP service endpoint with ID of PRIMARY.

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

MINIO_NOTIFY_AMQP_ENABLE

envvar

Requires specifying MINIO_NOTIFY_AMQP_URL if set to on.

Specify on to enable publishing bucket notifications to an AMQP endpoint.

Defaults to off.

notify_amqp

mc-conf

The top-level configuration key for defining an AMQP service endpoint for use with MinIO bucket notifications.

Use mc admin config set to set or update an AMQP service endpoint. The url argument is required for each target. Specify additional optional arguments as a whitespace (" ")-delimited list.

mc admin config set notify_amqp \
  url="amqp://user:password@endpoint:port" \
  [ARGUMENT="VALUE"] ...

URL

Required

MINIO_NOTIFY_AMQP_URL

envvar

notify_amqp url

mc-conf

Specify the AMQP server endpoint to which MinIO publishes bucket events. For example, amqp://myuser:mypassword@localhost:5672.

Note

Changed: RELEASE.2023-05-27T05-56-19Z

MinIO checks the health of the specified URL (if it is resolvable and reachable) prior to adding the target. MinIO no longer blocks adding new notification targets if existing targets are offline.

Exchange

Optional

MINIO_NOTIFY_AMQP_EXCHANGE

envvar

notify_amqp exchange

mc-conf

Specify the name of the AMQP exchange to use.

Exchange Type

Optional

MINIO_NOTIFY_AMQP_EXCHANGE_TYPE

envvar

notify_amqp exchange_type

mc-conf

Specify the type of the AMQP exchange.

Routing Key

Optional

MINIO_NOTIFY_AMQP_ROUTING_KEY

envvar

notify_amqp routing_key

mc-conf

Specify the routing key for publishing events.

Mandatory

Optional

MINIO_NOTIFY_AMQP_MANDATORY

envvar

notify_amqp mandatory

mc-conf

Specify off to ignore undelivered messages errors. Defaults to on.

Durable

Optional

MINIO_NOTIFY_AMQP_DURABLE

envvar

notify_amqp durable

mc-conf

Specify on to persist the message queue across broker restarts. Defaults to off.

No Wait

Optional

MINIO_NOTIFY_AMQP_NO_WAIT

envvar

notify_amqp no_wait

mc-conf

Specify on to enable non-blocking message delivery. Defaults to off.

Internal

Optional

MINIO_NOTIFY_AMQP_INTERNAL

envvar

notify_amqp internal

mc-conf

Specify on to use the exchange only if it is bound to other exchanges. See the RabbitMQ documentation on Exchange to Exchange Bindings for more information on AMQP exchange binding.

Auto Deleted

Optional

MINIO_NOTIFY_AMQP_AUTO_DELETED

envvar

notify_amqp auto_deleted

mc-conf

Specify on to automatically delete the message queue if there are no consumers. Defaults to off.

Delivery Mode

Optional

MINIO_NOTIFY_AMQP_DELIVERY_MODE

envvar

notify_amqp delivery_mode

mc-conf

Specify 1 for set the delivery mode to non-persistent queue.

Specify 2 to set the delivery mode to persistent queue.

Queue Directory

Optional

MINIO_NOTIFY_AMQP_QUEUE_DIR

envvar

notify_amqp queue_dir

mc-conf

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

MINIO_NOTIFY_AMQP_QUEUE_LIMIT

envvar

notify_amqp queue_limit

mc-conf

Specify the maximum limit for undelivered messages. Defaults to 100000.

Comment

Optional

MINIO_NOTIFY_AMQP_COMMENT

envvar

notify_amqp comment

mc-conf

Specify a comment for the AMQP configuration.

2 - Elasticsearch Notification Settings

This page documents settings for configuring an Elasticsearch service as a target for Bucket Notifications. See Publish Events to Elasticsearch for a tutorial on using these settings.

You can establish or modify settings by defining:

  • an environment variable on the host system prior to starting or restarting the MinIO Server. Refer to your operating system’s documentation for how to define an environment variable.
  • a configuration setting using mc admin config set.

If you define both an environment variable and the similar configuration setting, MinIO uses the environment variable value.

Some settings have only an environment variable or a configuration setting, but not both.

Warning

Important

Each configuration setting controls fundamental MinIO behavior and functionality. MinIO strongly recommends testing configuration changes in a lower environment, such as DEV or QA, before applying to production.

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

export MINIO_NOTIFY_ELASTICSEARCH_ENABLE_PRIMARY="on"
export MINIO_NOTIFY_ELASTICSEARCH_URL_PRIMARY="https://user:password@elasticsearch-endpoint.example.net:9200"
export MINIO_NOTIFY_ELASTICSEARCH_INDEX_PRIMARY="bucketevents"
export MINIO_NOTIFY_ELASTICSEARCH_FORMAT_PRIMARY="namespace"

export MINIO_NOTIFY_ELASTICSEARCH_ENABLE_SECONDARY="on"
export MINIO_NOTIFY_ELASTICSEARCH_URL_SECONDARY="https://user:password@elasticsearch-endpoint.example.net:9200"
export MINIO_NOTIFY_ELASTICSEARCH_INDEX_SECONDARY="bucketevents"
export MINIO_NOTIFY_ELASTICSEARCH_FORMAT_SECONDARY="namespace"
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

MINIO_NOTIFY_ELASTICSEARCH_ENABLE

envvar

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:

notify_elasticsearch

mc-conf

The top-level configuration key for defining an Elasticsearch service endpoint for use with MinIO bucket notifications.

Use mc admin config set to set or update an Elasticsearch service endpoint. The following arguments are required for each target:

Specify additional optional arguments as a whitespace (" ")-delimited list.

mc admin config set notify_elasticsearch \
  url="https://user:password@elasticsearch.example.com:9200" \
  [ARGUMENT="VALUE"] ... \

URL

Required

MINIO_NOTIFY_ELASTICSEARCH_URL

envvar

notify_elasticsearch url

mc-conf

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.

Note

Changed: RELEASE.2023-05-27T05-56-19Z

MinIO checks the health of the specified URL (if it is resolvable and reachable) prior to adding the target. MinIO no longer blocks adding new notification targets if existing targets are offline.

Index

Required

MINIO_NOTIFY_ELASTICSEARCH_INDEX

envvar

notify_elasticsearch index

mc-conf

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

MINIO_NOTIFY_ELASTICSEARCH_FORMAT

envvar

notify_elasticsearch format

mc-conf

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

MINIO_NOTIFY_ELASTICSEARCH_USERNAME

envvar

notify_elasticsearch username

mc-conf

The username for connecting to an Elasticsearch service endpoint which enforces authentication.

Password

Optional

MINIO_NOTIFY_ELASTICSEARCH_PASSWORD

envvar

notify_elasticsearch password

mc-conf

The password for connecting to an Elasticsearch service endpoint which enforces authentication.

Note

Changed: RELEASE.2023-06-23T20-26-00Z

MinIO redacts this value when returned as part of mc admin config get.

Queue Directory

Optional

MINIO_NOTIFY_ELASTICSEARCH_QUEUE_DIR

envvar

notify_elasticsearch queue_dir

mc-conf

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

MINIO_NOTIFY_ELASTICSEARCH_QUEUE_LIMIT

envvar

notify_elasticsearch queue_limit

mc-conf

Specify the maximum limit for undelivered messages. Defaults to 100000.

Comment

Optional

MINIO_NOTIFY_ELASTICSEARCH_COMMENT

envvar

notify_elasticsearch comment

mc-conf

Specify a comment to associate with the Elasticsearch configuration.

3 - Kafka Notification Settings

This page documents settings for configuring an Kafka service as a target for Bucket Notifications. See Publish Events to Kafka for a tutorial on using these settings.

You can establish or modify settings by defining:

  • an environment variable on the host system prior to starting or restarting the MinIO Server. Refer to your operating system’s documentation for how to define an environment variable.
  • a configuration setting using mc admin config set.

If you define both an environment variable and the similar configuration setting, MinIO uses the environment variable value.

Some settings have only an environment variable or a configuration setting, but not both.

Warning

Important

Each configuration setting controls fundamental MinIO behavior and functionality. MinIO strongly recommends testing configuration changes in a lower environment, such as DEV or QA, before applying to production.

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:

export MINIO_NOTIFY_KAFKA_ENABLE_PRIMARY="on"
export MINIO_NOTIFY_KAFKA_BROKERS_PRIMARY="https://kafka1.example.net:9200, https://kafka2.example.net:9200"

export MINIO_NOTIFY_KAFKA_ENABLE_SECONDARY="on"
export MINIO_NOTIFY_KAFKA_BROKERS_SECONDARY="https://kafka1.example.net:9200, https://kafka2.example.net:9200"
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

MINIO_NOTIFY_KAFKA_ENABLE

envvar

Specify on to enable publishing bucket notifications to a Kafka service endpoint.

Defaults to off.

notify_kafka

mc-conf

The top-level configuration key for defining an Kafka service endpoint for use with MinIO bucket notifications.

Use mc admin config set to set or update an Kafka service endpoint. The brokers argument is required for each target. Specify additional optional arguments as a whitespace (" ")-delimited list.

mc admin config set notify_kafka \
  brokers="https://kafka1.example.net:9200, https://kafka2.example.net:9200"
  [ARGUMENT="VALUE"] ... \

Brokers

Required

MINIO_NOTIFY_KAFKA_BROKERS

envvar

notify_kafka brokers

mc-conf

Specify a comma-separated list of Kafka broker addresses. For example:

"kafka1.example.com:2021,kafka2.example.com:2021"

Note

Changed: RELEASE.2023-05-27T05-56-19Z

MinIO checks the health of the specified URL (if it is resolvable and reachable) prior to adding the target. MinIO no longer blocks adding new notification targets if existing targets are offline.

Topic

Optional

MINIO_NOTIFY_KAFKA_TOPIC

envvar

notify_kafka topic

mc-conf

Specify the name of the Kafka topic to which MinIO publishes bucket events.

SASL

Optional

MINIO_NOTIFY_KAFKA_SASL

envvar

notify_kafka sasl

mc-conf

Specify on to enable SASL authentication.

SASL Username

Optional

MINIO_NOTIFY_KAFKA_SASL_USERNAME

envvar

notify_kafka sasl_username

mc-conf

Specify the username for performing SASL/PLAIN or SASL/SCRAM authentication to the Kafka broker(s).

SASL Password

Optional

MINIO_NOTIFY_KAFKA_SASL_PASSWORD

envvar

notify_kafka sasl_password

mc-conf

Specify the password for performing SASL/PLAIN or SASL/SCRAM authentication to the Kafka broker(s).

Note

Changed: RELEASE.2023-06-23T20-26-00Z

MinIO redacts this value when returned as part of mc admin config get.

SASL Mechanism

Optional

MINIO_NOTIFY_KAFKA_SASL_MECHANISM

envvar

notify_kafka sasl_mechanism

mc-conf

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

MINIO_NOTIFY_KAFKA_TLS_CLIENT_AUTH

envvar

notify_kafka tls_client_auth

mc-conf

Specify the client authentication type of the Kafka broker(s). The following table lists the supported values and their mappings

Value Authentication Type
0 NoClientCert
1 RequestClientCert
2 RequireAnyClientCert
3 VerifyClientCertIfGiven
4 RequireAndVerifyClientCert

See ClientAuthType for more information on each client auth type.

TLS

Optional

MINIO_NOTIFY_KAFKA_TLS

envvar

notify_kafka tls

mc-conf

Specify on to enable TLS connectivity to the Kafka broker(s).

TLS Skip Verify

Optional

MINIO_NOTIFY_KAFKA_TLS_SKIP_VERIFY

envvar

notify_kafka tls_skip_verify

mc-conf

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

MINIO_NOTIFY_KAFKA_CLIENT_TLS_CERT

envvar

notify_kafka client_tls_cert

mc-conf

Specify the path to the client certificate to use for performing mTLS authentication to the Kafka broker(s).

Client TLS Key

Optional

MINIO_NOTIFY_KAFKA_CLIENT_TLS_KEY

envvar

notify_kafka client_tls_key

mc-conf

Specify the path to the client private key to use for performing mTLS authentication to the Kafka broker(s).

Version

Optional

MINIO_NOTIFY_KAFKA_VERSION

envvar

notify_kafka version

mc-conf

Specify the version of the Kafka cluster to assume when performing operations against that cluster. See the sarama reference documentation for more information on this field’s behavior.

Batch Size

Optional

MINIO_NOTIFY_KAFKA_BATCH_SIZE

envvar

notify_kafka batch_size

mc-conf

Specify the integer value to use as the batch size for sending records to Kafka.

Note

Changed: RELEASE.2023-12-02T10-51-33Z

MinIO previously limited this value to 100.

Queue Directory

Optional

MINIO_NOTIFY_KAFKA_QUEUE_DIR

envvar

notify_kafka queue_dir

mc-conf

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

MINIO_NOTIFY_KAFKA_QUEUE_LIMIT

envvar

notify_kafka queue_limit

mc-conf

Specify the maximum limit for undelivered messages. Defaults to 100000.

Comment

Optional

MINIO_NOTIFY_KAFKA_COMMENT

envvar

notify_kafka comment

mc-conf

Specify a comment to associate with the Kafka configuration.

Compression Codec

Note

Added: MinIO

Server RELEASE.2023-12-09T18-17-51Z

Optional

MINIO_NOTIFY_KAFKA_PRODUCER_COMPRESSION_CODEC

envvar

notify_kafka compression_codec

mc-conf

Specify the compression codec to use when sending records to Kafka.

Supports the following values:

  • none
  • snappy
  • gzip
  • lz4
  • zstd

Compression Level

Note

Added: MinIO

Server RELEASE.2023-12-09T18-17-51Z

Optional

MINIO_NOTIFY_KAFKA_PRODUCER_COMPRESSION_LEVEL

envvar

notify_kafka compression_level

mc-conf

Controls the level of compression applied based on the configured compression codec.

Specify an integer value greater than or equal to 0. The effect of the value depends on the selected codec.

4 - MQTT Notification Settings

This page documents settings for configuring an MQTT service as a target for Bucket Notifications. See Publish Events to MQTT for a tutorial on using these settings.

You can establish or modify settings by defining:

  • an environment variable on the host system prior to starting or restarting the MinIO Server. Refer to your operating system’s documentation for how to define an environment variable.
  • a configuration setting using mc admin config set.

If you define both an environment variable and the similar configuration setting, MinIO uses the environment variable value.

Some settings have only an environment variable or a configuration setting, but not both.

Warning

Important

Each configuration setting controls fundamental MinIO behavior and functionality. MinIO strongly recommends testing configuration changes in a lower environment, such as DEV or QA, before applying to production.

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:

Environment Variables
export MINIO_NOTIFY_MQTT_ENABLE_PRIMARY="on"
export MINIO_NOTIFY_MQTT_BROKER_PRIMARY="tcp://user:password@mqtt-endpoint.example.net:1883"

export MINIO_NOTIFY_MQTT_ENABLE_SECONDARY="on"
export MINIO_NOTIFY_MQTT_BROKER_SECONDARY="tcp://user:password@mqtt-endpoint.example.net:1883"
Configuration Setting
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, MINIO_NOTIFY_MQTT_ENABLE_PRIMARY indicates the environment variable is associated to an MQTT service endpoint with an ID of PRIMARY.

Settings

Enable

Required

MINIO_NOTIFY_MQTT_ENABLE

envvar

Specify on to enable publishing bucket notifications to an MQTT endpoint.

Defaults to off.

notify_mqtt

mc-conf

The top-level configuration key for defining an MQTT server/broker endpoint for use with MinIO bucket notifications.

Use mc admin config set to set or update an MQTT server/broker endpoint. The following arguments are required for each endpoint:

  • broker
  • topic
  • username Optional if MQTT server/broker does not enforce authentication/authorization
  • password Optional if MQTT server/broker does not enforce authentication/authorization

Specify additional optional arguments as a whitespace (" ")-delimited list.

mc admin config set notify_mqtt \
   broker="tcp://endpoint:port" \
   topic="minio/bucket-name/events/" \
   username="username" \
   password="password" \
   [ARGUMENT="VALUE"] ... \

Broker

Required

MINIO_NOTIFY_MQTT_BROKER

envvar

notify_mqtt broker

mc-conf

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
Note

Changed: RELEASE.2023-05-27T05-56-19Z

MinIO checks the health of the specified URL (if it is resolvable and reachable) prior to adding the target. MinIO no longer blocks adding new notification targets if existing targets are offline.

Topic

Required

MINIO_NOTIFY_MQTT_TOPIC

envvar

notify_mqtt topic

mc-conf

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

MINIO_NOTIFY_MQTT_USERNAME

envvar

notify_mqtt username

mc-conf

Specify the MQTT username MinIO should use to authenticate to the MQTT server/broker.

Password

Required if the MQTT server/broker enforces authentication/authorization

MINIO_NOTIFY_MQTT_PASSWORD

envvar

notify_mqtt password

mc-conf

Specify the password for the MQTT username MinIO uses to authenticate to the MQTT server/broker.

Note

Changed: RELEASE.2023-06-23T20-26-00Z

MinIO redacts this value when returned as part of mc admin config get.

Quality of Service

Optional

MINIO_NOTIFY_MQTT_QOS

envvar

notify_mqtt qos

mc-conf

Specify the Quality of Service priority for the published events.

Defaults to 0.

Keep Alive Interval

Optional

MINIO_NOTIFY_MQTT_KEEP_ALIVE_INTERVAL

envvar

notify_mqtt keep_alive_interval

mc-conf

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

MINIO_NOTIFY_MQTT_RECONNECT_INTERVAL

envvar

notify_mqtt reconnect_interval

mc-conf

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

MINIO_NOTIFY_MQTT_QUEUE_DIR

envvar

notify_mqtt queue_dir

mc-conf

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

MINIO_NOTIFY_MQTT_QUEUE_LIMIT

envvar

notify_mqtt queue_limit

mc-conf

Specify the maximum limit for undelivered messages. Defaults to 100000.

Comment

Optional

MINIO_NOTIFY_MQTT_COMMENT

envvar

notify_mqtt comment

mc-conf

Specify a comment to associate with the MQTT configuration.

5 - MySQL Notification Settings

This page documents settings for configuring a MYSQL service as a target for Bucket Notifications. See Publish Events to MySQL for a tutorial on using these settings.

You can establish or modify settings by defining:

  • an environment variable on the host system prior to starting or restarting the MinIO Server. Refer to your operating system’s documentation for how to define an environment variable.
  • a configuration setting using mc admin config set.

If you define both an environment variable and the similar configuration setting, MinIO uses the environment variable value.

Some settings have only an environment variable or a configuration setting, but not both.

Warning

Important

Each configuration setting controls fundamental MinIO behavior and functionality. MinIO strongly recommends testing configuration changes in a lower environment, such as DEV or QA, before applying to production.

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:

export MINIO_NOTIFY_MYSQL_ENABLE_PRIMARY="on"
export MINIO_NOTIFY_MYSQL_DSN_STRING_PRIMARY="username:password@tcp(mysql.example.com:3306)/miniodb"
export MINIO_NOTIFY_MYSQL_TABLE_PRIMARY="minioevents"
export MINIO_NOTIFY_MYSQL_FORMAT_PRIMARY="namespace"

export MINIO_NOTIFY_MYSQL_ENABLE_SECONDARY="on"
export MINIO_NOTIFY_MYSQL_DSN_STRING_SECONDARY="username:password@tcp(mysql.example.com:3306)/miniodb"
export MINIO_NOTIFY_MYSQL_TABLE_SECONDARY="minioevents"
export MINIO_NOTIFY_MYSQL_FORMAT_SECONDARY="namespace"

With these settings, MINIO_NOTIFY_MYSQL_ENABLE_PRIMARY indicates the environment variable is associated to a MySQL service endpoint with ID of PRIMARY.

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

MINIO_NOTIFY_MYSQL_ENABLE

envvar

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:

notify_mysql

mc-conf

The top-level configuration key for defining an MySQL service endpoint for use with MinIO bucket notifications.

Use mc admin config set to set or update an MySQL service endpoint. The following arguments are required for each target:

Specify additional optional arguments as a whitespace (" ")-delimited list.

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

MINIO_NOTIFY_MYSQL_DSN_STRING

envvar

notify_mysql dsn_string

mc-conf

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"

Note

Changed: RELEASE.2023-05-27T05-56-19Z

MinIO checks the health of the specified URL (if it is resolvable and reachable) prior to adding the target. MinIO no longer blocks adding new notification targets if existing targets are offline.

Table

Required

MINIO_NOTIFY_MYSQL_TABLE

envvar

notify_mysql table

mc-conf

Specify the name of the MySQL table to which MinIO publishes event notifications.

Format

Required

MINIO_NOTIFY_MYSQL_FORMAT

envvar

notify_mysql format

mc-conf

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

MINIO_NOTIFY_MYSQL_MAX_OPEN_CONNECTIONS

envvar

notify_mysql max_open_connections

mc-conf

Specify the maximum number of open connections to the MySQL database.

Defaults to 2.

Queue Directory

Optional

MINIO_NOTIFY_MYSQL_QUEUE_DIR

envvar

notify_mysql queue_dir

mc-conf

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

MINIO_NOTIFY_MYSQL_QUEUE_LIMIT

envvar

notify_mysql queue_limit

mc-conf

Specify the maximum limit for undelivered messages. Defaults to 100000.

Comment

Optional

MINIO_NOTIFY_MYSQL_COMMENT

envvar

notify_mysql comment

mc-conf

Specify a comment to associate with the MySQL configuration.

6 - NATS Notification Settings

Note

NATS Streaming Deprecated

NATS Streaming is deprecated. Migrate to 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 Bucket Notifications. See Publish Events to NATS for a tutorial on using these settings.

You can establish or modify settings by defining:

  • an environment variable on the host system prior to starting or restarting the MinIO Server. Refer to your operating system’s documentation for how to define an environment variable.
  • a configuration setting using mc admin config set.

If you define both an environment variable and the similar configuration setting, MinIO uses the environment variable value.

Some settings have only an environment variable or a configuration setting, but not both.

Warning

Important

Each configuration setting controls fundamental MinIO behavior and functionality. MinIO strongly recommends testing configuration changes in a lower environment, such as DEV or QA, before applying to production.

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:

export MINIO_NOTIFY_NATS_ENABLE_PRIMARY="on"
export MINIO_NOTIFY_NATS_ADDRESS_PRIMARY="nats-endpoint.example.net:4222"

export MINIO_NOTIFY_NATS_ENABLE_SECONDARY="on"
export MINIO_NOTIFY_NATS_ADDRESS_SECONDARY="nats-endpoint.example.net:4222"

With these settings, MINIO_NOTIFY_NATS_ENABLE_PRIMARY indicates the environment variable is associated to an NATS service endpoint with ID of PRIMARY.

mc admin config set notify_nats:primary \
   address="nats-endpoint.example.com:4222" \
   subject="minioevents" \
   [ARGUMENT=VALUE ...]

mc admin config set notify_nats:secondary \
   address="nats-endpoint.example.com:4222" \
   subject="minioevents" \
   [ARGUMENT=VALUE ...]

Settings

Enable

Required

MINIO_NOTIFY_NATS_ENABLE

envvar

Specify on to enable publishing bucket notifications to an NATS service endpoint.

Defaults to off.

notify_nats

mc-conf

The top-level configuration key for defining an NATS service endpoint for use with MinIO bucket notifications.

Use mc admin config set to set or update an NATS service endpoint. The address and subject arguments are required for each target. Specify additional optional arguments as a whitespace (" ")-delimited list.

mc admin config set notify_nats \
  address="nats-endpoint.example.com:4222" \
  subject="minioevents" \
  [ARGUMENT="VALUE"] ... \

Address

Required

MINIO_NOTIFY_NATS_ADDRESS

envvar

notify_nats address

mc-conf

Specify the NATS service endpoint to which MinIO publishes bucket events. For example, nats-endpoint.example.com:4222.

Note

Changed: RELEASE.2023-05-27T05-56-19Z

MinIO checks the health of the specified URL (if it is resolvable and reachable) prior to adding the target. MinIO no longer blocks adding new notification targets if existing targets are offline.

Subject

Required

MINIO_NOTIFY_NATS_SUBJECT

envvar

notify_nats subject

mc-conf

Specify the subscription to which MinIO associates events published to the NATS endpoint.

Username

Optional

MINIO_NOTIFY_NATS_USERNAME

envvar

notify_nats username

mc-conf

Specify the username for connecting to the NATS service endpoint.

Password

Optional

MINIO_NOTIFY_NATS_PASSWORD

envvar

notify_nats password

mc-conf

Specify the passport for connecting to the NATS service endpoint.

Note

Changed: RELEASE.2023-06-23T20-26-00Z

MinIO redacts this value when returned as part of mc admin config get.

Token

Optional

MINIO_NOTIFY_NATS_TOKEN

envvar

notify_nats token

mc-conf

Specify the token for connecting to the NATS service endpoint.

Note

Changed: RELEASE.2023-06-23T20-26-00Z

MinIO redacts this value when returned as part of mc admin config get.

User Credentials File

Optional

MINIO_NOTIFY_NATS_USER_CREDENTIALS

envvar

notify_nats user_credentials

mc-conf

Specify the user credentials file to use to connect to the NATS service endpoint.

TLS

Optional

MINIO_NOTIFY_NATS_TLS

envvar

notify_nats tls

mc-conf

Specify on to enable TLS connectivity to the NATS service endpoint.

TLS Skip Verify

Optional

MINIO_NOTIFY_NATS_TLS_SKIP_VERIFY

envvar

notify_nats tls_skip_verify

mc-conf

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

MINIO_NOTIFY_NATS_PING_INTERVAL

envvar

notify_nats ping_interval

mc-conf

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

MINIO_NOTIFY_NATS_JETSTREAM

envvar

notify_nats jetstream

mc-conf

Specify on to enable JetStream support for streaming events to a NATS JetStream service endpoint.

Streaming

Deprecated

Optional

MINIO_NOTIFY_NATS_STREAMING

envvar

notify_nats streaming

mc-conf

Specify on to enable asynchronous publishing of events to the NATS service endpoint.

Streaming Async

Deprecated

Optional

MINIO_NOTIFY_NATS_STREAMING_ASYNC

envvar

notify_nats streaming_async

mc-conf

Specify on to enable asynchronous publishing of events to the NATS service endpoint.

Max ACK Responses In Flight

Deprecated

Optional

MINIO_NOTIFY_NATS_STREAMING_MAX_PUB_ACKS_IN_FLIGHT

envvar

notify_nats streaming_max_pub_acks_in_flight

mc-conf

Specify the number of messages to publish without waiting for an ACK response from the NATS service endpoint.

Streaming Cluster ID

Deprecated

Optional

MINIO_NOTIFY_NATS_STREAMING_CLUSTER_ID

envvar

notify_nats streaming_cluster_id

mc-conf

Specify the unique ID for the NATS streaming cluster.

Cert Authority

Optional

MINIO_NOTIFY_NATS_CERT_AUTHORITY

envvar

notify_nats cert_authority

mc-conf

Specify the path to the Certificate Authority chain used to sign the NATS service endpoint TLS certificates.

Client Cert

Optional

MINIO_NOTIFY_NATS_CLIENT_CERT

envvar

notify_nats client_cert

mc-conf

Specify the path to the client certificate to use for performing mTLS authentication to the NATS service endpoint.

Client Key

Optional

MINIO_NOTIFY_NATS_CLIENT_KEY

envvar

notify_nats client_key

mc-conf

Specify the path to the client private key to use for performing mTLS authentication to the NATS service endpoint.

Queue Directory

Optional

MINIO_NOTIFY_NATS_QUEUE_DIR

envvar

notify_nats queue_dir

mc-conf

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

MINIO_NOTIFY_NATS_QUEUE_LIMIT

envvar

notify_nats queue_limit

mc-conf

Specify the maximum limit for undelivered messages. Defaults to 100000.

Comment

Optional

MINIO_NOTIFY_NATS_COMMENT

envvar

notify_nats comment

mc-conf

Specify a comment to associate with the NATS configuration.

7 - NSQ Notification Settings

This page documents settings for configuring an NSQ service as a target for Bucket Notifications. See Publish Events to NSQ for a tutorial on using these settings.

You can establish or modify settings by defining:

  • an environment variable on the host system prior to starting or restarting the MinIO Server. Refer to your operating system’s documentation for how to define an environment variable.
  • a configuration setting using mc admin config set.

If you define both an environment variable and the similar configuration setting, MinIO uses the environment variable value.

Some settings have only an environment variable or a configuration setting, but not both.

Warning

Important

Each configuration setting controls fundamental MinIO behavior and functionality. MinIO strongly recommends testing configuration changes in a lower environment, such as DEV or QA, before applying to production.

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:

Environment Variables
export MINIO_NOTIFY_NSQ_ENABLE_PRIMARY="on"
export MINIO_NOTIFY_NSQ_NSQD_ADDRESS_PRIMARY="https://user:password@nsq-endpoint.example.net:9200"
export MINIO_NOTIFY_NSQ_TOPIC_PRIMARY="bucketevents"

export MINIO_NOTIFY_NSQ_ENABLE_SECONDARY="on"
export MINIO_NOTIFY_NSQ_NSQD_ADDRESS_SECONDARY="https://user:password@nsq-endpoint.example.net:9200"
export MINIO_NOTIFY_NSQ_TOPIC_SECONDARY="bucketevents"
Configuration Settings
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

MINIO_NOTIFY_NSQ_ENABLE

envvar

Specify on to enable publishing bucket notifications to an NSQ endpoint.

notify_nsq

mc-conf

The top-level configuration key for defining an NSQ server/broker endpoint for use with MinIO bucket notifications.

Use mc admin config set to set or update an NSQ server/broker endpoint. The following arguments are required for each endpoint:

Specify additional optional arguments as a whitespace (" ")-delimited list.

mc admin config set notify_nsq                          \
   nsqd_address="https://nsq-endpoint.example.net:4150" \
   topic="<string>"                                     \
   [ARGUMENT="VALUE"] ...

NSQ Daemon Server Address

Required

MINIO_NOTIFY_NSQ_NSQD_ADDRESS

envvar

notify_nsq nsqd_address

mc-conf

Specify the NSQ server address where the NSQ Daemon runs. For example:

https://nsq-endpoint.example.net:4150

Note

Changed: RELEASE.2023-05-27T05-56-19Z

MinIO checks the health of the specified URL (if it is resolvable and reachable) prior to adding the target. MinIO no longer blocks adding new notification targets if existing targets are offline.

Topic

Required

MINIO_NOTIFY_NSQ_TOPIC

envvar

notify_nsq topic

mc-conf

Specify the name of the NSQ topic MinIO uses when publishing events to the broker.

TLS

Optional

MINIO_NOTIFY_NSQ_TLS

envvar

notify_nsq tls

mc-conf

Specify on to enable TLS connectivity to the NSQ service broker.

TLS Skip Verify

Optional

MINIO_NOTIFY_NSQ_TLS_SKIP_VERIFY

envvar

notify_nsq tls_skip_verify

mc-conf

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

MINIO_NOTIFY_NSQ_QUEUE_DIR

envvar

notify_nsq queue_dir

mc-conf

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

MINIO_NOTIFY_NSQ_QUEUE_LIMIT

envvar

notify_nsq queue_limit

mc-conf

Specify the maximum limit for undelivered messages. Defaults to 100000.

Comment

Optional

MINIO_NOTIFY_NSQ_COMMENT

envvar

notify_nsq comment

mc-conf

Specify a comment to associate with the NSQ configuration.

8 - PostgreSQL Notification Settings

This page documents settings for configuring an POSTGRES service as a target for Bucket Notifications. See Publish Events to PostgreSQL for a tutorial on using these settings.

You can establish or modify settings by defining:

  • an environment variable on the host system prior to starting or restarting the MinIO Server. Refer to your operating system’s documentation for how to define an environment variable.
  • a configuration setting using mc admin config set.

If you define both an environment variable and the similar configuration setting, MinIO uses the environment variable value.

Some settings have only an environment variable or a configuration setting, but not both.

Warning

Important

Each configuration setting controls fundamental MinIO behavior and functionality. MinIO strongly recommends testing configuration changes in a lower environment, such as DEV or QA, before applying to production.

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:

Environment Variables
export MINIO_NOTIFY_POSTGRES_ENABLE_PRIMARY="on"
export MINIO_NOTIFY_POSTGRES_CONNECTION_STRING_PRIMARY="host=postgresql-endpoint.example.net port=4222..."
export MINIO_NOTIFY_POSTGRES_TABLE_PRIMARY="minioevents"
export MINIO_NOTIFY_POSTGRES_FORMAT_PRIMARY="namespace"

export MINIO_NOTIFY_POSTGRES_ENABLE_SECONDARY="on"
export MINIO_NOTIFY_POSTGRES_CONNECTION_STRING_SECONDARY="host=postgresql-endpoint.example.net port=4222..."
export MINIO_NOTIFY_POSTGRES_TABLE_SECONDARY="minioevents"
export MINIO_NOTIFY_POSTGRES_FORMAT_SECONDARY="namespace"
Configuration Settings
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, MINIO_NOTIFY_POSTGRES_ENABLE_PRIMARY indicates the environment variable is associated to an PostgreSQL service endpoint with ID of PRIMARY.

Settings

Enable

Required

MINIO_NOTIFY_POSTGRES_ENABLE

envvar

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:

notify_postgres

mc-conf

The top-level configuration key for defining an PostgreSQL service endpoint for use with MinIO bucket notifications.

Use mc admin config set to set or update an PostgreSQL service endpoint. The following arguments are required for each target:

Specify additional optional arguments as a whitespace (" ")-delimited list.

mc admin config set notify_postgres                            \
  connection_string="host=postgresql.example.com port=5432..." \
  table="minioevents"                                          \
  format="namespace"                                           \
  [ARGUMENT="VALUE"] ...

Connection String

Required

MINIO_NOTIFY_POSTGRES_CONNECTION_STRING

envvar

notify_postgres connection_string

mc-conf

Specify the URI connection string 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.

Note

Changed: RELEASE.2023-05-27T05-56-19Z

MinIO checks the health of the specified URL (if it is resolvable and reachable) prior to adding the target. MinIO no longer blocks adding new notification targets if existing targets are offline.

Table

Required

MINIO_NOTIFY_POSTGRES_TABLE

envvar

notify_postgres table

mc-conf

Specify the name of the PostgreSQL table to which MinIO publishes event notifications.

Format

Required

MINIO_NOTIFY_POSTGRES_FORMAT

envvar

notify_postgres format

mc-conf

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

MINIO_NOTIFY_POSTGRES_MAX_OPEN_CONNECTIONS

envvar

notify_postgres max_open_connections

mc-conf

Specify the maximum number of open connections to the PostgreSQL database.

Defaults to 2.

Queue Directory

Optional

MINIO_NOTIFY_POSTGRES_QUEUE_DIR

envvar

notify_postgres queue_dir

mc-conf

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

MINIO_NOTIFY_POSTGRES_QUEUE_LIMIT

envvar

notify_postgres queue_limit

mc-conf

Specify the maximum limit for undelivered messages. Defaults to 100000.

Comment

Optional

MINIO_NOTIFY_POSTGRES_COMMENT

envvar

notify_postgres comment

mc-conf

Specify a comment to associate with the PostgreSQL configuration.

9 - Redis Notification Settings

This page documents settings for configuring a Redis service as a target for Bucket Notifications. See Publish Events to Redis for a tutorial on using these settings.

You can establish or modify settings by defining:

  • an environment variable on the host system prior to starting or restarting the MinIO Server. Refer to your operating system’s documentation for how to define an environment variable.
  • a configuration setting using mc admin config set.

If you define both an environment variable and the similar configuration setting, MinIO uses the environment variable value.

Some settings have only an environment variable or a configuration setting, but not both.

Warning

Important

Each configuration setting controls fundamental MinIO behavior and functionality. MinIO strongly recommends testing configuration changes in a lower environment, such as DEV or QA, before applying to production.

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:

Environment Variables
export MINIO_NOTIFY_REDIS_ENABLE_PRIMARY="on"
export MINIO_NOTIFY_REDIS_ADDRESS_PRIMARY="redis-endpoint.example.net:9200"
export MINIO_NOTIFY_REDIS_KEY_PRIMARY="bucketevents"
export MINIO_NOTIFY_REDIS_FORMAT_PRIMARY="namespace"


export MINIO_NOTIFY_REDIS_ENABLE_SECONDARY="on"
export MINIO_NOTIFY_REDIS_REDIS_ADDRESS_SECONDARY="redis-endpoint2.example.net:9200"
export MINIO_NOTIFY_REDIS_KEY_SECONDARY="bucketevents"
export MINIO_NOTIFY_REDIS_FORMAT_SECONDARY="namespace"
Configuration Settings
mc admin config set notify_redis:primary              \
   address="redis-endpoint.example.net:9200"  \
   key="bucketevents"                                 \
   format="namespace"                                 \
   [ARGUMENT="VALUE"] ...                             \

mc admin config set notify_redis:secondary            \
   address="redis-endpoint2.example.net:9200" \
   key="bucketevents"                                 \
   format="namespace"                                 \
   [ARGUMENT="VALUE"] ...

Settings

Enable

Required

MINIO_NOTIFY_REDIS_ENABLE

envvar

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:

notify_redis

mc-conf

The top-level configuration key for defining an Redis server/broker endpoint for use with MinIO bucket notifications.

Use mc admin config set to set or update an Redis server/broker endpoint. The following arguments are required for each endpoint:

Specify additional optional arguments as a whitespace (" ")-delimited list.

mc admin config set notify_redis \
   address="ENDPOINT" \
   key="<string>" \
   format="<string>" \
   [ARGUMENT="VALUE"] ... \

Address

Required

MINIO_NOTIFY_REDIS_ADDRESS

envvar

notify_redis address

mc-conf

Specify the Redis service endpoint to which MinIO publishes bucket events. For example, redis.example.com:6369.

Note

Changed: RELEASE.2023-05-27T05-56-19Z

MinIO checks the health of the specified URL (if it is resolvable and reachable) prior to adding the target. MinIO no longer blocks adding new notification targets if existing targets are offline.

Key

Required

MINIO_NOTIFY_REDIS_KEY

envvar

notify_redis key

mc-conf

Specify the Redis key to use for storing and updating events. Redis auto-creates the key if it does not exist.

Format

Required

MINIO_NOTIFY_REDIS_FORMAT

envvar

notify_redis format

mc-conf

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

MINIO_NOTIFY_REDIS_PASSWORD

envvar

notify_redis password

mc-conf

Specify the password for the Redis server.

Note

Changed: RELEASE.2023-06-23T20-26-00Z

MinIO redacts this value when returned as part of mc admin config get.

User

Optional

Note

Added: RELEASE.2024-03-21T23-13-43Z

MINIO_NOTIFY_REDIS_USER

envvar

notify_redis user

mc-conf

Specify the user for the Redis server.

Queue Directory

Optional

MINIO_NOTIFY_REDIS_QUEUE_DIR

envvar

notify_redis queue_dir

mc-conf

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

MINIO_NOTIFY_REDIS_QUEUE_LIMIT

envvar

notify_redis queue_limit

mc-conf

Specify the maximum limit for undelivered messages. Defaults to 100000.

Comment

Optional

MINIO_NOTIFY_REDIS_COMMENT

envvar

notify_redis comment

mc-conf

Specify a comment to associate with the Redis configuration.

10 - Webhook Service Notification Settings

This page documents settings for configuring an Webhook service as a target for Bucket Notifications. See Publish Events to Webhook for a tutorial on using these settings.

You can establish or modify settings by defining:

  • an environment variable on the host system prior to starting or restarting the MinIO Server. Refer to your operating system’s documentation for how to define an environment variable.
  • a configuration setting using mc admin config set.

If you define both an environment variable and the similar configuration setting, MinIO uses the environment variable value.

Some settings have only an environment variable or a configuration setting, but not both.

Warning

Important

Each configuration setting controls fundamental MinIO behavior and functionality. MinIO strongly recommends testing configuration changes in a lower environment, such as DEV or QA, before applying to production.

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:

Environment Variables
export MINIO_NOTIFY_WEBHOOK_ENABLE_PRIMARY="on"
export MINIO_NOTIFY_WEBHOOK_ENDPOINT_PRIMARY="https://webhook1.example.net"

export MINIO_NOTIFY_WEBHOOK_ENABLE_SECONDARY="on"
export MINIO_NOTIFY_WEBHOOK_ENDPOINT_SECONDARY="https://webhook1.example.net"
Configuration Settings
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

MINIO_NOTIFY_WEBHOOK_ENABLE

envvar

Specify on to enable publishing bucket notifications to a Webhook service endpoint.

Defaults to off.

notify_webhook

mc-conf

The top-level configuration key for defining an Webhook service endpoint for use with MinIO bucket notifications.

Use mc admin config set to set or update an Webhook service endpoint. The endpoint argument is required for each target. Specify additional optional arguments as a whitespace (" ")-delimited list.

mc admin config set notify_webhook \
  endpoint="https://webhook.example.net"
  [ARGUMENT="VALUE"] ... \

Endpoint

Required

MINIO_NOTIFY_WEBHOOK_ENDPOINT

envvar

notify_webhook endpoint

mc-conf

Specify the URL for the webhook service.

Note

Changed: RELEASE.2023-05-27T05-56-19Z

MinIO checks the health of the specified URL (if it is resolvable and reachable) prior to adding the target. MinIO no longer blocks adding new notification targets if existing targets are offline.

Auth Token

Required

MINIO_NOTIFY_WEBHOOK_AUTH_TOKEN

envvar

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:

export MINIO_NOTIFY_WEBHOOK_AUTH_TOKEN_myendpoint="Bearer 1a2b3c4f5e"

Modify the value according to the endpoint requirements. A custom authentication format could resemble the following:

export MINIO_NOTIFY_WEBHOOK_AUTH_TOKEN_xyz="ServiceXYZ 1a2b3c4f5e"

Consult the documentation for the desired service for more details.

notify_webhook auth_token

mc-conf

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:

   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:

   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.

Note

Changed: RELEASE.2023-06-23T20-26-00Z

MinIO redacts this value when returned as part of mc admin config get.

Queue Directory

Optional

MINIO_NOTIFY_WEBHOOK_QUEUE_DIR

envvar

notify_webhook queue_dir

mc-conf

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

MINIO_NOTIFY_WEBHOOK_QUEUE_LIMIT

envvar

notify_webhook queue_limit

mc-conf

Specify the maximum limit for undelivered messages. Defaults to 100000.

Client Certificate

Optional

MINIO_NOTIFY_WEBHOOK_CLIENT_CERT

envvar

notify_webhook client_cert

mc-conf

Specify the path to the client certificate to use for performing mTLS authentication to the webhook service.

Client Key

Optional

MINIO_NOTIFY_WEBHOOK_CLIENT_KEY

envvar

notify_webhook client_key

mc-conf

Specify the path to the client private key to use for performing mTLS authentication to the webhook service.