|
|
|
|
@@ -30,7 +30,7 @@ Install RabbitMQ from [here](https://www.rabbitmq.com/).
|
|
|
|
|
|
|
|
|
|
### Step 1: Add AMQP endpoint to Minio
|
|
|
|
|
|
|
|
|
|
The default location of Minio server configuration file is ``~/.minio/config.json``. The AMQP configuration is located in the `amqp` key under the `notify` top-level key. Create a configuration key-value pair here for your AMQP instance. The key is a name for your AMQP endpoint, and the value is a collection of key-value parameters described in the table below.
|
|
|
|
|
The Minio server configuration file is stored on the backend in json format. The AMQP configuration is located in the `amqp` key under the `notify` top-level key. Create a configuration key-value pair here for your AMQP instance. The key is a name for your AMQP endpoint, and the value is a collection of key-value parameters described in the table below.
|
|
|
|
|
|
|
|
|
|
| Parameter | Type | Description |
|
|
|
|
|
|:---|:---|:---|
|
|
|
|
|
@@ -67,9 +67,14 @@ An example configuration for RabbitMQ is shown below:
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
After updating the configuration file, restart the Minio server to put the changes into effect. The server will print a line like `SQS ARNs: arn:minio:sqs::1:amqp` at start-up if there were no errors.
|
|
|
|
|
|
|
|
|
|
To update the configuration, use `mc admin config get` command to get the current configuration file for the minio deployment in json format, and save it locally.
|
|
|
|
|
```sh
|
|
|
|
|
$ mc admin config get myminio/ > /tmp/myconfig
|
|
|
|
|
```
|
|
|
|
|
After updating the AMQP configuration in /tmp/myconfig , use `mc admin config set` command to update the configuration for the deployment.Restart the Minio server to put the changes into effect. The server will print a line like `SQS ARNs: arn:minio:sqs::1:amqp` at start-up if there were no errors.
|
|
|
|
|
```sh
|
|
|
|
|
$ mc admin config set myminio < /tmp/myconfig
|
|
|
|
|
```
|
|
|
|
|
Minio supports all the exchanges available in [RabbitMQ](https://www.rabbitmq.com/). For this setup, we are using ``fanout`` exchange.
|
|
|
|
|
|
|
|
|
|
Note that, you can add as many AMQP server endpoint configurations as needed by providing an identifier (like "1" in the example above) for the AMQP instance and an object of per-server configuration parameters.
|
|
|
|
|
@@ -145,7 +150,7 @@ Install an MQTT Broker from [here](https://mosquitto.org/).
|
|
|
|
|
|
|
|
|
|
### Step 1: Add MQTT endpoint to Minio
|
|
|
|
|
|
|
|
|
|
the default location of Minio server configuration file is ``~./minio/config.json``. The MQTT configuration is location in the `mqtt` key under the `notify` top-level key. Create a configuration key-value pair here for your MQTT instance. The key is a name for your MQTT endpoint, and the value is a collection of key-value parameters described in the table below.
|
|
|
|
|
The Minio server configuration file is stored on the backend in json format. The MQTT configuration is located in the `mqtt` key under the `notify` top-level key. Create a configuration key-value pair here for your MQTT instance. The key is a name for your MQTT endpoint, and the value is a collection of key-value parameters described in the table below.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Parameter | Type | Description |
|
|
|
|
|
@@ -173,8 +178,14 @@ An example configuration for MQTT is shown below:
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
After updating the configuration file, restart the Minio sever to put the changes into effect. The server will print a line like `SQS ARNs: arn:minio:sqs::1:mqtt` at start-up if there were no errors.
|
|
|
|
|
To update the configuration, use `mc admin config get` command to get the current configuration file for the minio deployment in json format, and save it locally.
|
|
|
|
|
```sh
|
|
|
|
|
$ mc admin config get myminio/ > /tmp/myconfig
|
|
|
|
|
```
|
|
|
|
|
After updating the MQTT configuration in /tmp/myconfig , use `mc admin config set` command to update the configuration for the deployment.Restart the Minio server to put the changes into effect. The server will print a line like `SQS ARNs: arn:minio:sqs::1:mqtt` at start-up if there were no errors.
|
|
|
|
|
```sh
|
|
|
|
|
$ mc admin config set myminio < /tmp/myconfig
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Minio supports any MQTT server that supports MQTT 3.1 or 3.1.1 and can connect to them over TCP, TLS, or a Websocket connection using ``tcp://``, ``tls://``, or ``ws://`` respectively as the scheme for the broker url. See the [Go Client](http://www.eclipse.org/paho/clients/golang/) documentation for more information.
|
|
|
|
|
|
|
|
|
|
@@ -257,7 +268,7 @@ Minio requires a 5.x series version of Elasticsearch. This is the latest major r
|
|
|
|
|
|
|
|
|
|
### Step 2: Add Elasticsearch endpoint to Minio
|
|
|
|
|
|
|
|
|
|
The default location of Minio server configuration file is ``~/.minio/config.json``. The Elasticsearch configuration is located in the `elasticsearch` key under the `notify` top-level key. Create a configuration key-value pair here for your Elasticsearch instance. The key is a name for your Elasticsearch endpoint, and the value is a collection of key-value parameters described in the table below.
|
|
|
|
|
The Minio server configuration file is stored on the backend in json format. The Elasticsearch configuration is located in the `elasticsearch` key under the `notify` top-level key. Create a configuration key-value pair here for your Elasticsearch instance. The key is a name for your Elasticsearch endpoint, and the value is a collection of key-value parameters described in the table below.
|
|
|
|
|
|
|
|
|
|
| Parameter | Type | Description |
|
|
|
|
|
|:---|:---|:---|
|
|
|
|
|
@@ -281,7 +292,14 @@ An example of Elasticsearch configuration is as follows:
|
|
|
|
|
|
|
|
|
|
If Elasticsearch has authentication enabled, the credentials can be supplied to Minio via the `url` parameter formatted as `PROTO://USERNAME:PASSWORD@ELASTICSEARCH_HOST:PORT`.
|
|
|
|
|
|
|
|
|
|
After updating the configuration file, restart the Minio server to put the changes into effect. The server will print a line like `SQS ARNs: arn:minio:sqs::1:elasticsearch` at start-up if there were no errors.
|
|
|
|
|
To update the configuration, use `mc admin config get` command to get the current configuration file for the minio deployment in json format, and save it locally.
|
|
|
|
|
```sh
|
|
|
|
|
$ mc admin config get myminio/ > /tmp/myconfig
|
|
|
|
|
```
|
|
|
|
|
After updating the Elasticsearch configuration in /tmp/myconfig , use `mc admin config set` command to update the configuration for the deployment.Restart the Minio server to put the changes into effect. The server will print a line like `SQS ARNs: arn:minio:sqs::1:elasticsearch` at start-up if there were no errors.
|
|
|
|
|
```sh
|
|
|
|
|
$ mc admin config set myminio < /tmp/myconfig
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Note that, you can add as many Elasticsearch server endpoint configurations as needed by providing an identifier (like "1" in the example above) for the Elasticsearch instance and an object of per-server configuration parameters.
|
|
|
|
|
|
|
|
|
|
@@ -397,7 +415,7 @@ The steps below show how to use this notification target in `namespace` and `acc
|
|
|
|
|
|
|
|
|
|
### Step 1: Add Redis endpoint to Minio
|
|
|
|
|
|
|
|
|
|
The default location of Minio server configuration file is ``~/.minio/config.json``. The Redis configuration is located in the `redis` key under the `notify` top-level key. Create a configuration key-value pair here for your Redis instance. The key is a name for your Redis endpoint, and the value is a collection of key-value parameters described in the table below.
|
|
|
|
|
The Minio server configuration file is stored on the backend in json format.The Redis configuration is located in the `redis` key under the `notify` top-level key. Create a configuration key-value pair here for your Redis instance. The key is a name for your Redis endpoint, and the value is a collection of key-value parameters described in the table below.
|
|
|
|
|
|
|
|
|
|
| Parameter | Type | Description |
|
|
|
|
|
|:---|:---|:---|
|
|
|
|
|
@@ -419,8 +437,14 @@ An example of Redis configuration is as follows:
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
After updating the configuration file, restart the Minio server to put the changes into effect. The server will print a line like `SQS ARNs: arn:minio:sqs::1:redis` at start-up if there were no errors.
|
|
|
|
|
To update the configuration, use `mc admin config get` command to get the current configuration file for the minio deployment in json format, and save it locally.
|
|
|
|
|
```sh
|
|
|
|
|
$ mc admin config get myminio/ > /tmp/myconfig
|
|
|
|
|
```
|
|
|
|
|
After updating the Redis configuration in /tmp/myconfig , use `mc admin config set` command to update the configuration for the deployment.Restart the Minio server to put the changes into effect. The server will print a line like `SQS ARNs: arn:minio:sqs::1:redis` at start-up if there were no errors.
|
|
|
|
|
```sh
|
|
|
|
|
$ mc admin config set myminio < /tmp/myconfig
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Note that, you can add as many Redis server endpoint configurations as needed by providing an identifier (like "1" in the example above) for the Redis instance and an object of per-server configuration parameters.
|
|
|
|
|
|
|
|
|
|
@@ -475,7 +499,7 @@ Install NATS from [here](http://nats.io/).
|
|
|
|
|
|
|
|
|
|
### Step 1: Add NATS endpoint to Minio
|
|
|
|
|
|
|
|
|
|
The default location of Minio server configuration file is ``~/.minio/config.json``. Update the NATS configuration block in ``config.json`` as follows:
|
|
|
|
|
The NATS configuration block in ``config.json`` is as follows:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
"nats": {
|
|
|
|
|
@@ -498,9 +522,14 @@ The default location of Minio server configuration file is ``~/.minio/config.jso
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Restart Minio server to reflect config changes. ``bucketevents`` is the subject used by NATS in this example.
|
|
|
|
|
|
|
|
|
|
To update the configuration, use `mc admin config get` command to get the current configuration file for the minio deployment in json format, and save it locally.
|
|
|
|
|
```sh
|
|
|
|
|
$ mc admin config get myminio/ > /tmp/myconfig
|
|
|
|
|
```
|
|
|
|
|
After updating the NATS configuration in /tmp/myconfig , use `mc admin config set` command to update the configuration for the deployment.Restart Minio server to reflect config changes. ``bucketevents`` is the subject used by NATS in this example.
|
|
|
|
|
```sh
|
|
|
|
|
$ mc admin config set myminio < /tmp/myconfig
|
|
|
|
|
```
|
|
|
|
|
Minio server also supports [NATS Streaming mode](http://nats.io/documentation/streaming/nats-streaming-intro/) that offers additional functionality like `Message/event persistence`, `At-least-once-delivery`, and `Publisher rate limiting`. To configure Minio server to send notifications to NATS Streaming server, update the Minio server configuration file as follows:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
@@ -658,7 +687,7 @@ Minio requires PostgreSQL version 9.5 or above. Minio uses the [`INSERT ON CONFL
|
|
|
|
|
|
|
|
|
|
### Step 2: Add PostgreSQL endpoint to Minio
|
|
|
|
|
|
|
|
|
|
The default location of Minio server configuration file is ``~/.minio/config.json``. The PostgreSQL configuration is located in the `postgresql` key under the `notify` top-level key. Create a configuration key-value pair here for your PostgreSQL instance. The key is a name for your PostgreSQL endpoint, and the value is a collection of key-value parameters described in the table below.
|
|
|
|
|
The Minio server configuration file is stored on the backend in json format. The PostgreSQL configuration is located in the `postgresql` key under the `notify` top-level key. Create a configuration key-value pair here for your PostgreSQL instance. The key is a name for your PostgreSQL endpoint, and the value is a collection of key-value parameters described in the table below.
|
|
|
|
|
|
|
|
|
|
| Parameter | Type | Description |
|
|
|
|
|
|:---|:---|:---|
|
|
|
|
|
@@ -691,9 +720,14 @@ An example of PostgreSQL configuration is as follows:
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Note that for illustration here, we have disabled SSL. In the interest of security, for production this is not recommended.
|
|
|
|
|
|
|
|
|
|
After updating the configuration file, restart the Minio server to put the changes into effect. The server will print a line like `SQS ARNs: arn:minio:sqs::1:postgresql` at start-up if there were no errors.
|
|
|
|
|
|
|
|
|
|
To update the configuration, use `mc admin config get` command to get the current configuration file for the minio deployment in json format, and save it locally.
|
|
|
|
|
```sh
|
|
|
|
|
$ mc admin config get myminio/ > /tmp/myconfig
|
|
|
|
|
```
|
|
|
|
|
After updating the Postgres configuration in /tmp/myconfig , use `mc admin config set` command to update the configuration for the deployment.Restart the Minio server to put the changes into effect. The server will print a line like `SQS ARNs: arn:minio:sqs::1:postgresql` at start-up if there were no errors.
|
|
|
|
|
```sh
|
|
|
|
|
$ mc admin config set myminio < /tmp/myconfig
|
|
|
|
|
```
|
|
|
|
|
Note that, you can add as many PostgreSQL server endpoint configurations as needed by providing an identifier (like "1" in the example above) for the PostgreSQL instance and an object of per-server configuration parameters.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -755,7 +789,7 @@ Minio requires MySQL version 5.7.8 or above. Minio uses the [JSON](https://dev.m
|
|
|
|
|
|
|
|
|
|
### Step 2: Add MySQL server endpoint configuration to Minio
|
|
|
|
|
|
|
|
|
|
The default location of Minio server configuration file is ``~/.minio/config.json``. The MySQL configuration is located in the `mysql` key under the `notify` top-level key. Create a configuration key-value pair here for your MySQL instance. The key is a name for your MySQL endpoint, and the value is a collection of key-value parameters described in the table below.
|
|
|
|
|
The Minio server configuration file is stored on the backend in json format. The MySQL configuration is located in the `mysql` key under the `notify` top-level key. Create a configuration key-value pair here for your MySQL instance. The key is a name for your MySQL endpoint, and the value is a collection of key-value parameters described in the table below.
|
|
|
|
|
|
|
|
|
|
| Parameter | Type | Description |
|
|
|
|
|
|:---|:---|:---|
|
|
|
|
|
@@ -785,9 +819,14 @@ An example of MySQL configuration is as follows:
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
After updating the configuration file, restart the Minio server to put the changes into effect. The server will print a line like `SQS ARNs: arn:minio:sqs::1:mysql` at start-up if there were no errors.
|
|
|
|
|
|
|
|
|
|
To update the configuration, use `mc admin config get` command to get the current configuration file for the minio deployment in json format, and save it locally.
|
|
|
|
|
```sh
|
|
|
|
|
$ mc admin config get myminio/ > /tmp/myconfig
|
|
|
|
|
```
|
|
|
|
|
After updating the MySQL configuration in /tmp/myconfig , use `mc admin config set` command to update the configuration for the deployment.Restart the Minio server to put the changes into effect. The server will print a line like `SQS ARNs: arn:minio:sqs::1:mysql` at start-up if there were no errors.
|
|
|
|
|
```sh
|
|
|
|
|
$ mc admin config set myminio < /tmp/myconfig
|
|
|
|
|
```
|
|
|
|
|
Note that, you can add as many MySQL server endpoint configurations as needed by providing an identifier (like "1" in the example above) for the MySQL instance and an object of per-server configuration parameters.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -842,7 +881,7 @@ Minio requires Kafka version 0.10 or 0.9. Internally Minio uses the [Shopify/sar
|
|
|
|
|
|
|
|
|
|
### Step 2: Add Kafka endpoint to Minio
|
|
|
|
|
|
|
|
|
|
The default location of Minio server configuration file is ``~/.minio/config.json``. Update the kafka configuration block in ``config.json`` as follows:
|
|
|
|
|
The Minio server configuration file is stored on the backend in json format. Update the kafka configuration block in ``config.json`` as follows:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
"kafka": {
|
|
|
|
|
@@ -853,9 +892,14 @@ The default location of Minio server configuration file is ``~/.minio/config.jso
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Restart Minio server to reflect config changes. ``bucketevents`` is the topic used by kafka in this example.
|
|
|
|
|
|
|
|
|
|
To update the configuration, use `mc admin config get` command to get the current configuration file for the minio deployment in json format, and save it locally.
|
|
|
|
|
```sh
|
|
|
|
|
$ mc admin config get myminio/ > /tmp/myconfig
|
|
|
|
|
```
|
|
|
|
|
After updating the Kafka configuration in /tmp/myconfig , use `mc admin config set` command to update the configuration for the deployment.Restart the Minio server to put the changes into effect. The server will print a line like `SQS ARNs: arn:minio:sqs::1:kafka` at start-up if there were no errors.``bucketevents`` is the topic used by kafka in this example.
|
|
|
|
|
```sh
|
|
|
|
|
$ mc admin config set myminio < /tmp/myconfig
|
|
|
|
|
```
|
|
|
|
|
### Step 3: Enable bucket notification using Minio client
|
|
|
|
|
|
|
|
|
|
We will enable bucket event notification to trigger whenever a JPEG image is uploaded or deleted from ``images`` bucket on ``myminio`` server. Here ARN value is ``arn:minio:sqs::1:kafka``. To understand more about ARN please follow [AWS ARN](http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) documentation.
|
|
|
|
|
@@ -895,7 +939,7 @@ kafkacat -b localhost:9092 -t bucketevents
|
|
|
|
|
|
|
|
|
|
### Step 1: Add Webhook endpoint to Minio
|
|
|
|
|
|
|
|
|
|
The default location of Minio server configuration file is ``~/.minio/config.json``. Update the Webhook configuration block in ``config.json`` as follows
|
|
|
|
|
The Minio server configuration file is stored on the backend in json format. Update the Webhook configuration block in ``config.json`` as follows
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
"webhook": {
|
|
|
|
|
@@ -904,8 +948,14 @@ The default location of Minio server configuration file is ``~/.minio/config.jso
|
|
|
|
|
"endpoint": "http://localhost:3000/"
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
Here the endpoint is the server listening for webhook notifications. Save the file and restart the Minio server for changes to take effect. Note that the endpoint needs to be live and reachable when you restart your Minio server.
|
|
|
|
|
|
|
|
|
|
To update the configuration, use `mc admin config get` command to get the current configuration file for the minio deployment in json format, and save it locally.
|
|
|
|
|
```sh
|
|
|
|
|
$ mc admin config get myminio/ > /tmp/myconfig
|
|
|
|
|
```
|
|
|
|
|
After updating the webhook configuration in /tmp/myconfig , use `mc admin config set` command to update the configuration for the deployment.Here the endpoint is the server listening for webhook notifications. Save the file and restart the Minio server for changes to take effect. Note that the endpoint needs to be live and reachable when you restart your Minio server.
|
|
|
|
|
```sh
|
|
|
|
|
$ mc admin config set myminio < /tmp/myconfig
|
|
|
|
|
```
|
|
|
|
|
### Step 2: Enable bucket notification using Minio client
|
|
|
|
|
|
|
|
|
|
We will enable bucket event notification to trigger whenever a JPEG image is uploaded to ``images`` bucket on ``myminio`` server. Here ARN value is ``arn:minio:sqs::1:webhook``. To learn more about ARN please follow [AWS ARN](http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) documentation.
|
|
|
|
|
|