This is the multi-page printable view of this section. .
Bucket Notifications Settings
- 1: AMQP Notification Settings
- 2: Elasticsearch Notification Settings
- 3: Kafka Notification Settings
- 4: MQTT Notification Settings
- 5: MySQL Notification Settings
- 6: NATS Notification Settings
- 7: NSQ Notification Settings
- 8: PostgreSQL Notification Settings
- 9: Redis Notification Settings
- 10: Webhook Service Notification 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.
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.
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:
For example, MINIO_NOTIFY_AMQP_ENABLE_PRIMARY indicates the environment variable is associated to an AMQP service endpoint with ID of PRIMARY.
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.
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.
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.
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
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.
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.
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.
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.
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:
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.
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"
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).
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)SHA256SHA512
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
onto disable TLS verification (Default). - Specify
offto 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.
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
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:
nonesnappygziplz4zstd
Compression Level
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.
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:
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:
brokertopicusernameOptional if MQTT server/broker does not enforce authentication/authorizationpasswordOptional if MQTT server/broker does not enforce authentication/authorization
Specify additional optional arguments as a whitespace (" ")-delimited list.
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:1883tls://mqtt.example.net:1883ws://mqtt.example.net:1883
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.
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.
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:
With these settings, MINIO_NOTIFY_MYSQL_ENABLE_PRIMARY indicates the environment variable is associated to a MySQL service endpoint with ID of PRIMARY.
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.
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"
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
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.
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:
With these settings, MINIO_NOTIFY_NATS_ENABLE_PRIMARY indicates the environment variable is associated to an NATS service endpoint with ID of PRIMARY.
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.
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.
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.
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.
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
onto disable TLS verification (Default). - Specify
offto 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.
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:
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.
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
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
onto disable TLS verification (Default). - Specify
offto 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.
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:
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.
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.
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.
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:
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.
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.
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.
Changed: RELEASE.2023-06-23T20-26-00Z
MinIO redacts this value when returned as part of mc admin config get.
User
Optional
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.
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:
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.
Endpoint
Required
MINIO_NOTIFY_WEBHOOK_ENDPOINT
envvar
notify_webhook endpoint
mc-conf
Specify the URL for the webhook service.
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:
Modify the value according to the endpoint requirements. A custom authentication format could resemble the following:
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:
Modify the value according to the endpoint requirements. A custom authentication format could resemble the following:
Consult the documentation for the desired service for more details.
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.