fix: doc notifications formatting issues (#8661)

This commit is contained in:
Harshavardhana 2019-12-17 17:34:17 -08:00 committed by kannappanr
parent 63ac1d6d18
commit 63c3114657
4 changed files with 57 additions and 25 deletions

View File

@ -17,7 +17,8 @@ docker run -p 9000:9000 minio/minio server /data
docker pull minio/minio:edge docker pull minio/minio:edge
docker run -p 9000:9000 minio/minio:edge server /data docker run -p 9000:9000 minio/minio:edge server /data
``` ```
Note: Docker will not display the default keys unless you start the container with the `-it`(interactive TTY) argument. Generally, it is not recommended to use default keys with containers. Please visit MinIO Docker quickstart guide for more information [here](https://docs.min.io/docs/minio-docker-quickstart-guide)
> NOTE: Docker will not display the default keys unless you start the container with the `-it`(interactive TTY) argument. Generally, it is not recommended to use default keys with containers. Please visit MinIO Docker quickstart guide for more information [here](https://docs.min.io/docs/minio-docker-quickstart-guide)
## macOS ## macOS
### Homebrew ### Homebrew

View File

@ -81,6 +81,11 @@ func TestReleaseTagToNFromTimeConversion(t *testing.T) {
} }
func TestDownloadURL(t *testing.T) { func TestDownloadURL(t *testing.T) {
sci := os.Getenv("SIMPLE_CI")
os.Setenv("SIMPLE_CI", "")
defer os.Setenv("SIMPLE_CI", sci)
minioVersion1 := releaseTimeToReleaseTag(UTCNow()) minioVersion1 := releaseTimeToReleaseTag(UTCNow())
durl := getDownloadURL(minioVersion1) durl := getDownloadURL(minioVersion1)
if IsDocker() { if IsDocker() {
@ -143,6 +148,9 @@ func TestUserAgent(t *testing.T) {
} }
for i, testCase := range testCases { for i, testCase := range testCases {
sci := os.Getenv("SIMPLE_CI")
os.Setenv("SIMPLE_CI", "")
os.Setenv(testCase.envName, testCase.envValue) os.Setenv(testCase.envName, testCase.envValue)
if testCase.envName == "MESOS_CONTAINER_NAME" { if testCase.envName == "MESOS_CONTAINER_NAME" {
os.Setenv("MARATHON_APP_LABEL_DCOS_PACKAGE_VERSION", "mesos-1111") os.Setenv("MARATHON_APP_LABEL_DCOS_PACKAGE_VERSION", "mesos-1111")
@ -155,6 +163,7 @@ func TestUserAgent(t *testing.T) {
if str != expectedStr { if str != expectedStr {
t.Errorf("Test %d: expected: %s, got: %s", i+1, expectedStr, str) t.Errorf("Test %d: expected: %s, got: %s", i+1, expectedStr, str)
} }
os.Setenv("SIMPLE_CI", sci)
os.Unsetenv("MARATHON_APP_LABEL_DCOS_PACKAGE_VERSION") os.Unsetenv("MARATHON_APP_LABEL_DCOS_PACKAGE_VERSION")
os.Unsetenv(testCase.envName) os.Unsetenv(testCase.envName)
} }
@ -162,6 +171,10 @@ func TestUserAgent(t *testing.T) {
// Tests if the environment we are running is in DCOS. // Tests if the environment we are running is in DCOS.
func TestIsDCOS(t *testing.T) { func TestIsDCOS(t *testing.T) {
sci := os.Getenv("SIMPLE_CI")
os.Setenv("SIMPLE_CI", "")
defer os.Setenv("SIMPLE_CI", sci)
os.Setenv("MESOS_CONTAINER_NAME", "mesos-1111") os.Setenv("MESOS_CONTAINER_NAME", "mesos-1111")
dcos := IsDCOS() dcos := IsDCOS()
if !dcos { if !dcos {
@ -177,6 +190,10 @@ func TestIsDCOS(t *testing.T) {
// Tests if the environment we are running is in kubernetes. // Tests if the environment we are running is in kubernetes.
func TestIsKubernetes(t *testing.T) { func TestIsKubernetes(t *testing.T) {
sci := os.Getenv("SIMPLE_CI")
os.Setenv("SIMPLE_CI", "")
defer os.Setenv("SIMPLE_CI", sci)
os.Setenv("KUBERNETES_SERVICE_HOST", "10.11.148.5") os.Setenv("KUBERNETES_SERVICE_HOST", "10.11.148.5")
kubernetes := IsKubernetes() kubernetes := IsKubernetes()
if !kubernetes { if !kubernetes {

View File

@ -5,8 +5,8 @@ Events occurring on objects in a bucket can be monitored using bucket event noti
| Supported Event Types | | | | Supported Event Types | | |
| :---------------------- | ------------------------------------------ | ------------------------ | | :---------------------- | ------------------------------------------ | ------------------------ |
| `s3:ObjectCreated:Put` | `s3:ObjectCreated:CompleteMultipartUpload` | `s3:ObjectAccessed:Head` | | `s3:ObjectCreated:Put` | `s3:ObjectCreated:CompleteMultipartUpload` | `s3:ObjectAccessed:Head` |
| `s3:ObjectCreated:Post` | `s3:ObjectRemoved:Delete` | | `s3:ObjectCreated:Post` | `s3:ObjectRemoved:Delete` | |
| `s3:ObjectCreated:Copy` | `s3:ObjectAccessed:Get` | | `s3:ObjectCreated:Copy` | `s3:ObjectAccessed:Get` | |
Use client tools like `mc` to set and listen for event notifications using the [`event` sub-command](https://docs.min.io/docs/minio-client-complete-guide#events). MinIO SDK's [`BucketNotification` APIs](https://docs.min.io/docs/golang-client-api-reference#SetBucketNotification) can also be used. The notification message MinIO sends to publish an event is a JSON message with the following [structure](https://docs.aws.amazon.com/AmazonS3/latest/dev/notification-content-structure.html). Use client tools like `mc` to set and listen for event notifications using the [`event` sub-command](https://docs.min.io/docs/minio-client-complete-guide#events). MinIO SDK's [`BucketNotification` APIs](https://docs.min.io/docs/golang-client-api-reference#SetBucketNotification) can also be used. The notification message MinIO sends to publish an event is a JSON message with the following [structure](https://docs.aws.amazon.com/AmazonS3/latest/dev/notification-content-structure.html).
@ -24,6 +24,20 @@ Bucket events can be published to the following targets:
- Install and configure MinIO Server from [here](https://docs.min.io/docs/minio-quickstart-guide). - Install and configure MinIO Server from [here](https://docs.min.io/docs/minio-quickstart-guide).
- Install and configure MinIO Client from [here](https://docs.min.io/docs/minio-client-quickstart-guide). - Install and configure MinIO Client from [here](https://docs.min.io/docs/minio-client-quickstart-guide).
```
$ mc admin config get myminio | grep notify
notify_webhook publish bucket notifications to webhook endpoints
notify_amqp publish bucket notifications to AMQP endpoints
notify_kafka publish bucket notifications to Kafka endpoints
notify_mqtt publish bucket notifications to MQTT endpoints
notify_nats publish bucket notifications to NATS endpoints
notify_nsq publish bucket notifications to NSQ endpoints
notify_mysql publish bucket notifications to MySQL databases
notify_postgres publish bucket notifications to Postgres databases
notify_elasticsearch publish bucket notifications to Elasticsearch endpoints
notify_redis publish bucket notifications to Redis datastores
```
<a name="AMQP"></a> <a name="AMQP"></a>
## Publish MinIO events via AMQP ## Publish MinIO events via AMQP
@ -403,13 +417,12 @@ The steps below show how to use this notification target in `namespace` and `acc
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. 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 | Description | | Parameter | Description |
| :--------- | :------------------------------------------------------------------------------------------------------------------------------------------------------ | | :--------- | :------------- |
| `state` | (Required) Is this server endpoint configuration active/enabled? | | `state` | (Required) Is this server endpoint configuration active/enabled? |
| `format` | (Required) Either `namespace` or `access`. | | `format` | (Required) Either `namespace` or `access` |
| `address` | (Required) The Redis server's address. For example: `localhost:6379`. | | `address` | (Required) The Redis server's address. For example: `localhost:6379` |
| `password` | (Optional) The Redis server's password. | | `password` | (Optional) The Redis server's password |
| `key` | (Required) The name of the redis key under which events are stored. A hash is used in case of `namespace` format and a list in case of `access` format. | | `key` | (Required) The name of the redis key under which events are stored. A hash is used in case of `namespace` format and a list in case of `access` format. |
| | |
MinIO supports persistent event store. The persistent store will backup events when the Redis broker goes offline and replays it when the broker comes back online. The event store can be configured by setting the directory path in `queue_dir` field and the maximum limit of events in the queue_dir in `queue_limit` field. For eg, the `queue_dir` can be `/home/events` and `queue_limit` can be `1000`. By default, the `queue_limit` is set to 10000. MinIO supports persistent event store. The persistent store will backup events when the Redis broker goes offline and replays it when the broker comes back online. The event store can be configured by setting the directory path in `queue_dir` field and the maximum limit of events in the queue_dir in `queue_limit` field. For eg, the `queue_dir` can be `/home/events` and `queue_limit` can be `1000`. By default, the `queue_limit` is set to 10000.
@ -754,8 +767,10 @@ MinIO requires MySQL version 5.7.8 or above. MinIO uses the [JSON](https://dev.m
The MySQL configuration is located in the `notify_mysql` 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 MySQL configuration is located in the `notify_mysql` 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 | Description | | :---------- | :-------------- | | `state` | (Required) Is this server endpoint configuration active/enabled? | | Parameter | Description |
| `format` | (Required) Either `namespace` or `access`. | | `dsn_string` | (Optional) [Data-Source-Name connection string](https://github.com/go-sql-driver/mysql#dsn-data-source-name) for the MySQL server. | | :---------- | :------------- |
| `format` | (Required) Either `namespace` or `access`. |
| `dsn_string` | (Optional) [Data-Source-Name connection string](https://github.com/go-sql-driver/mysql#dsn-data-source-name) for the MySQL server. |
| `table` | (Required) Table name in which events will be stored/updated. If the table does not exist, the MinIO server creates it at start-up. | | `table` | (Required) Table name in which events will be stored/updated. If the table does not exist, the MinIO server creates it at start-up. |
| `host` | Host name of the MySQL server (used only if `dsnString` is empty). | | `host` | Host name of the MySQL server (used only if `dsnString` is empty). |
| `port` | Port on which to connect to the MySQL server (used only if `dsn_string` is empty). | | `port` | Port on which to connect to the MySQL server (used only if `dsn_string` is empty). |

View File

@ -1,7 +1,6 @@
# MinIO Multi-user Quickstart Guide [![Slack](https://slack.min.io/slack?type=svg)](https://slack.min.io) # MinIO Multi-user Quickstart Guide [![Slack](https://slack.min.io/slack?type=svg)](https://slack.min.io)
MinIO supports multiple long term users in addition to default user created during server startup. New users can be added after server starts up, and server can be configured to deny or allow access to buckets and resources to each of these users. This document explains how to add/remove users and modify their access rights. MinIO supports multiple long term users in addition to default user created during server startup. New users can be added after server starts up, and server can be configured to deny or allow access to buckets and resources to each of these users. This document explains how to add/remove users and modify their access rights.
## Get started ## Get started
In this document we will explain in detail on how to configure multiple users. In this document we will explain in detail on how to configure multiple users.