2019-10-22 22:59:13 -07:00
/ *
* MinIO Cloud Storage , ( C ) 2019 MinIO , Inc .
*
* Licensed under the Apache License , Version 2.0 ( the "License" ) ;
* you may not use this file except in compliance with the License .
* You may obtain a copy of the License at
*
* http : //www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing , software
* distributed under the License is distributed on an "AS IS" BASIS ,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND , either express or implied .
* See the License for the specific language governing permissions and
* limitations under the License .
* /
package notify
import (
"github.com/minio/minio/cmd/config"
"github.com/minio/minio/pkg/event/target"
)
// Help template inputs for all notification targets
var (
2019-11-19 13:48:13 -08:00
HelpAMQP = config . HelpKVS {
config . HelpKV {
Key : config . State ,
Description : "Is this server endpoint configuration active/enabled" ,
Type : "on|off" ,
} ,
config . HelpKV {
Key : target . AmqpURL ,
Description : "AMQP server endpoint, e.g. `amqp://myuser:mypassword@localhost:5672`" ,
Type : "url" ,
} ,
config . HelpKV {
Key : target . AmqpExchange ,
Description : "Name of the AMQP exchange" ,
Optional : true ,
Type : "string" ,
} ,
config . HelpKV {
Key : target . AmqpExchangeType ,
Description : "Kind of AMQP exchange type" ,
Optional : true ,
Type : "string" ,
} ,
config . HelpKV {
Key : target . AmqpRoutingKey ,
Description : "Routing key for publishing" ,
Optional : true ,
Type : "string" ,
} ,
config . HelpKV {
Key : target . AmqpMandatory ,
Description : "Set this to 'on' for server to return an unroutable message with a Return method. If this flag is 'off', the server silently drops the message" ,
Optional : true ,
Type : "on|off" ,
} ,
config . HelpKV {
Key : target . AmqpDurable ,
Description : "Set this to 'on' for queue to survive broker restarts" ,
Optional : true ,
Type : "on|off" ,
} ,
config . HelpKV {
Key : target . AmqpNoWait ,
Description : "When no_wait is 'on', declare without waiting for a confirmation from the server" ,
Optional : true ,
Type : "on|off" ,
} ,
config . HelpKV {
Key : target . AmqpInternal ,
Description : "Set this to 'on' for exchange to be not used directly by publishers, but only when bound to other exchanges" ,
Optional : true ,
Type : "on|off" ,
} ,
config . HelpKV {
Key : target . AmqpAutoDeleted ,
Description : "Set this to 'on' for queue that has had at least one consumer is deleted when last consumer unsubscribes" ,
Optional : true ,
Type : "on|off" ,
} ,
config . HelpKV {
Key : target . AmqpDeliveryMode ,
Description : "Delivery queue implementation use non-persistent (1) or persistent (2)" ,
Optional : true ,
Type : "number" ,
} ,
config . HelpKV {
Key : target . AmqpQueueDir ,
Description : "Local directory where events are stored eg: '/home/events'" ,
Optional : true ,
Type : "path" ,
} ,
config . HelpKV {
Key : target . AmqpQueueLimit ,
Description : "Enable persistent event store queue limit, defaults to '10000'" ,
Optional : true ,
Type : "number" ,
} ,
config . HelpKV {
Key : config . Comment ,
Description : "A comment to describe the AMQP target setting" ,
Optional : true ,
Type : "sentence" ,
} ,
2019-10-22 22:59:13 -07:00
}
2019-11-19 13:48:13 -08:00
HelpKafka = config . HelpKVS {
config . HelpKV {
Key : config . State ,
Description : "Is this server endpoint configuration active/enabled" ,
Type : "on|off" ,
} ,
config . HelpKV {
Key : target . KafkaBrokers ,
Description : "Command separated list of Kafka broker addresses" ,
Type : "delimited-string" ,
} ,
config . HelpKV {
Key : target . KafkaTopic ,
Description : "The Kafka topic for a given message" ,
Optional : true ,
Type : "string" ,
} ,
config . HelpKV {
Key : target . KafkaSASLUsername ,
Description : "Username for SASL/PLAIN or SASL/SCRAM authentication" ,
Optional : true ,
Type : "string" ,
} ,
config . HelpKV {
Key : target . KafkaSASLPassword ,
Description : "Password for SASL/PLAIN or SASL/SCRAM authentication" ,
Optional : true ,
Type : "string" ,
} ,
config . HelpKV {
Key : target . KafkaTLSClientAuth ,
Description : "ClientAuth determines the Kafka server's policy for TLS client auth" ,
Optional : true ,
Type : "string" ,
} ,
config . HelpKV {
Key : target . KafkaSASL ,
Description : "Set this to 'on' to enable SASL authentication" ,
Optional : true ,
Type : "on|off" ,
} ,
config . HelpKV {
Key : target . KafkaTLS ,
Description : "Set this to 'on' to enable TLS" ,
Optional : true ,
Type : "on|off" ,
} ,
config . HelpKV {
Key : target . KafkaTLSSkipVerify ,
Description : "Set this to 'on' to disable client verification of server certificate chain" ,
Optional : true ,
Type : "on|off" ,
} ,
config . HelpKV {
Key : target . KafkaQueueDir ,
Description : "Local directory where events are stored eg: '/home/events'" ,
Optional : true ,
Type : "path" ,
} ,
config . HelpKV {
Key : target . KafkaQueueLimit ,
Description : "Enable persistent event store queue limit, defaults to '10000'" ,
Optional : true ,
Type : "number" ,
} ,
config . HelpKV {
Key : config . Comment ,
Description : "A comment to describe the Kafka target setting" ,
Optional : true ,
Type : "sentence" ,
} ,
2019-10-22 22:59:13 -07:00
}
2019-11-19 13:48:13 -08:00
HelpMQTT = config . HelpKVS {
config . HelpKV {
Key : config . State ,
Description : "Is this server endpoint configuration active/enabled" ,
Type : "on|off" ,
} ,
config . HelpKV {
Key : target . MqttBroker ,
Description : "MQTT server endpoint, e.g. `tcp://localhost:1883`" ,
Type : "uri" ,
} ,
config . HelpKV {
Key : target . MqttTopic ,
Description : "Name of the MQTT topic to publish on, e.g. `minio`" ,
Type : "string" ,
} ,
config . HelpKV {
Key : target . MqttUsername ,
Description : "Username to connect to the MQTT server" ,
Optional : true ,
Type : "string" ,
} ,
config . HelpKV {
Key : target . MqttPassword ,
Description : "Password to connect to the MQTT server" ,
Optional : true ,
Type : "string" ,
} ,
config . HelpKV {
Key : target . MqttQoS ,
Description : "Set the Quality of Service Level for MQTT endpoint" ,
Optional : true ,
Type : "number" ,
} ,
config . HelpKV {
Key : target . MqttKeepAliveInterval ,
Description : "Keep alive interval for MQTT connections" ,
Optional : true ,
Type : "duration" ,
} ,
config . HelpKV {
Key : target . MqttReconnectInterval ,
Description : "Reconnect interval for MQTT connections" ,
Optional : true ,
Type : "duration" ,
} ,
config . HelpKV {
Key : target . MqttQueueDir ,
Description : "Local directory where events are stored eg: '/home/events'" ,
Optional : true ,
Type : "path" ,
} ,
config . HelpKV {
Key : target . MqttQueueLimit ,
Description : "Enable persistent event store queue limit, defaults to '10000'" ,
Optional : true ,
Type : "number" ,
} ,
config . HelpKV {
Key : config . Comment ,
Description : "A comment to describe the MQTT target setting" ,
Optional : true ,
Type : "sentence" ,
} ,
2019-10-22 22:59:13 -07:00
}
2019-11-19 13:48:13 -08:00
HelpES = config . HelpKVS {
config . HelpKV {
Key : config . State ,
Description : "Is this server endpoint configuration active/enabled" ,
Type : "on|off" ,
} ,
config . HelpKV {
Key : target . ElasticURL ,
Description : "The Elasticsearch server's address, with optional authentication info" ,
Type : "url" ,
} ,
config . HelpKV {
Key : target . ElasticFormat ,
Description : "Either `namespace` or `access`, defaults to 'namespace'" ,
Type : "namespace*|access" ,
} ,
config . HelpKV {
Key : target . ElasticIndex ,
Description : "The name of an Elasticsearch index in which MinIO will store document" ,
Type : "string" ,
} ,
config . HelpKV {
Key : target . ElasticQueueDir ,
Description : "Local directory where events are stored eg: '/home/events'" ,
Optional : true ,
Type : "path" ,
} ,
config . HelpKV {
Key : target . ElasticQueueLimit ,
Description : "Enable persistent event store queue limit, defaults to '10000'" ,
Optional : true ,
Type : "number" ,
} ,
config . HelpKV {
Key : config . Comment ,
Description : "A comment to describe the Elasticsearch target setting" ,
Optional : true ,
Type : "sentence" ,
} ,
2019-10-22 22:59:13 -07:00
}
2019-11-19 13:48:13 -08:00
HelpWebhook = config . HelpKVS {
config . HelpKV {
Key : config . State ,
Description : "Is this server endpoint configuration active/enabled" ,
Type : "on|off" ,
} ,
config . HelpKV {
Key : target . WebhookEndpoint ,
Description : "Webhook server endpoint eg: http://localhost:8080/minio/events" ,
Type : "url" ,
} ,
config . HelpKV {
Key : target . WebhookAuthToken ,
Description : "Authorization token used for webhook server endpoint" ,
Optional : true ,
Type : "string" ,
} ,
config . HelpKV {
Key : target . WebhookQueueDir ,
Description : "Local directory where events are stored eg: '/home/events'" ,
Optional : true ,
Type : "path" ,
} ,
config . HelpKV {
Key : target . WebhookQueueLimit ,
Description : "Enable persistent event store queue limit, defaults to '10000'" ,
Optional : true ,
Type : "number" ,
} ,
config . HelpKV {
Key : config . Comment ,
Description : "A comment to describe the Webhook target setting" ,
Optional : true ,
Type : "sentence" ,
} ,
2019-10-22 22:59:13 -07:00
}
2019-11-19 13:48:13 -08:00
HelpRedis = config . HelpKVS {
config . HelpKV {
Key : config . State ,
Description : "Is this server endpoint configuration active/enabled" ,
Type : "on|off" ,
} ,
config . HelpKV {
Key : target . RedisAddress ,
Description : "The Redis server's address. For example: `localhost:6379`" ,
Type : "address" ,
} ,
config . HelpKV {
Key : target . RedisFormat ,
Description : "Specify how data is populated, a hash is used in case of `namespace` format and a list in case of `access` format, defaults to 'namespace'" ,
Type : "namespace|access" ,
} ,
config . HelpKV {
Key : target . RedisKey ,
Description : "The name of the Redis key under which events are stored" ,
Type : "string" ,
} ,
config . HelpKV {
Key : target . RedisPassword ,
Description : "The Redis server's password" ,
Optional : true ,
Type : "string" ,
} ,
config . HelpKV {
Key : target . RedisQueueDir ,
Description : "Local directory where events are stored eg: '/home/events'" ,
Optional : true ,
Type : "path" ,
} ,
config . HelpKV {
Key : target . RedisQueueLimit ,
Description : "Enable persistent event store queue limit, defaults to '10000'" ,
Optional : true ,
Type : "number" ,
} ,
config . HelpKV {
Key : config . Comment ,
Description : "A comment to describe the Redis target setting" ,
Optional : true ,
Type : "sentence" ,
} ,
2019-10-22 22:59:13 -07:00
}
2019-11-19 13:48:13 -08:00
HelpPostgres = config . HelpKVS {
config . HelpKV {
Key : config . State ,
Description : "Is this server endpoint configuration active/enabled" ,
Type : "on|off" ,
} ,
config . HelpKV {
Key : target . PostgresConnectionString ,
Description : "Connection string parameters for the PostgreSQL server" ,
Type : "string" ,
} ,
config . HelpKV {
Key : target . PostgresFormat ,
Description : "Specify how data is populated, `namespace` format and `access` format, defaults to 'namespace'" ,
Type : "namespace|access" ,
} ,
config . HelpKV {
Key : target . PostgresTable ,
Description : "Table name in which events will be stored/updated. If the table does not exist, the MinIO server creates it at start-up" ,
Type : "string" ,
} ,
config . HelpKV {
Key : target . PostgresHost ,
Description : "Host name of the PostgreSQL server. Defaults to `localhost`. IPv6 host should be enclosed with `[` and `]`" ,
Optional : true ,
Type : "hostname" ,
} ,
config . HelpKV {
Key : target . PostgresPort ,
Description : "Port on which to connect to PostgreSQL server, defaults to `5432`" ,
Optional : true ,
Type : "port" ,
} ,
config . HelpKV {
Key : target . PostgresUsername ,
Description : "Database username, defaults to user running the MinIO process if not specified" ,
Optional : true ,
Type : "string" ,
} ,
config . HelpKV {
Key : target . PostgresPassword ,
Description : "Database password" ,
Optional : true ,
Type : "string" ,
} ,
config . HelpKV {
Key : target . PostgresDatabase ,
Description : "Postgres Database name" ,
Optional : true ,
Type : "string" ,
} ,
config . HelpKV {
Key : target . PostgresQueueDir ,
Description : "Local directory where events are stored eg: '/home/events'" ,
Optional : true ,
Type : "path" ,
} ,
config . HelpKV {
Key : target . PostgresQueueLimit ,
Description : "Enable persistent event store queue limit, defaults to '10000'" ,
Optional : true ,
Type : "number" ,
} ,
config . HelpKV {
Key : config . Comment ,
Description : "A comment to describe the Postgres target setting" ,
Optional : true ,
Type : "sentence" ,
} ,
2019-10-22 22:59:13 -07:00
}
2019-11-19 13:48:13 -08:00
HelpMySQL = config . HelpKVS {
config . HelpKV {
Key : config . State ,
Description : "Is this server endpoint configuration active/enabled" ,
Type : "on|off" ,
} ,
config . HelpKV {
Key : target . MySQLDSNString ,
Description : "Data-Source-Name connection string for the MySQL server" ,
Type : "string" ,
} ,
config . HelpKV {
Key : target . MySQLTable ,
Description : "Table name in which events will be stored/updated. If the table does not exist, the MinIO server creates it at start-up" ,
Type : "string" ,
} ,
config . HelpKV {
Key : target . MySQLFormat ,
Description : "Specify how data is populated, `namespace` format and `access` format, defaults to 'namespace'" ,
Type : "namespace|access" ,
} ,
config . HelpKV {
Key : target . MySQLHost ,
Description : "Host name of the MySQL server (used only if `dsnString` is empty)" ,
Optional : true ,
Type : "hostname" ,
} ,
config . HelpKV {
Key : target . MySQLPort ,
Description : "Port on which to connect to the MySQL server (used only if `dsn_string` is empty)" ,
Optional : true ,
Type : "port" ,
} ,
config . HelpKV {
Key : target . MySQLUsername ,
Description : "Database user-name (used only if `dsnString` is empty)" ,
Optional : true ,
Type : "string" ,
} ,
config . HelpKV {
Key : target . MySQLPassword ,
Description : "Database password (used only if `dsnString` is empty)" ,
Optional : true ,
Type : "string" ,
} ,
config . HelpKV {
Key : target . MySQLDatabase ,
Description : "Database name (used only if `dsnString` is empty)" ,
Optional : true ,
Type : "string" ,
} ,
config . HelpKV {
Key : target . MySQLQueueDir ,
Description : "Local directory where events are stored eg: '/home/events'" ,
Optional : true ,
Type : "path" ,
} ,
config . HelpKV {
Key : target . MySQLQueueLimit ,
Description : "Enable persistent event store queue limit, defaults to '10000'" ,
Optional : true ,
Type : "number" ,
} ,
config . HelpKV {
Key : config . Comment ,
Description : "A comment to describe the MySQL target setting" ,
Optional : true ,
Type : "sentence" ,
} ,
2019-10-22 22:59:13 -07:00
}
2019-11-19 13:48:13 -08:00
HelpNATS = config . HelpKVS {
config . HelpKV {
Key : config . State ,
Description : "Is this server endpoint configuration active/enabled" ,
Type : "on|off" ,
} ,
config . HelpKV {
Key : target . NATSAddress ,
Description : "NATS server address eg: '0.0.0.0:4222'" ,
Type : "address" ,
} ,
config . HelpKV {
Key : target . NATSSubject ,
Description : "NATS subject that represents this subscription" ,
Type : "string" ,
} ,
config . HelpKV {
Key : target . NATSUsername ,
Description : "Username to be used when connecting to the server" ,
Optional : true ,
Type : "string" ,
} ,
config . HelpKV {
Key : target . NATSPassword ,
Description : "Password to be used when connecting to a server" ,
Optional : true ,
Type : "string" ,
} ,
config . HelpKV {
Key : target . NATSToken ,
Description : "Token to be used when connecting to a server" ,
Optional : true ,
Type : "string" ,
} ,
config . HelpKV {
Key : target . NATSSecure ,
Description : "Set this to 'on', enables TLS secure connections that skip server verification (not recommended)" ,
Optional : true ,
Type : "on|off" ,
} ,
config . HelpKV {
Key : target . NATSPingInterval ,
Description : "Client ping commands interval to the server, disabled by default" ,
Optional : true ,
Type : "duration" ,
} ,
config . HelpKV {
Key : target . NATSStreaming ,
Description : "Set this to 'on', to use streaming NATS server" ,
Optional : true ,
Type : "on|off" ,
} ,
config . HelpKV {
Key : target . NATSStreamingAsync ,
Description : "Set this to 'on', to enable asynchronous publish, process the ACK or error state" ,
Optional : true ,
Type : "on|off" ,
} ,
config . HelpKV {
Key : target . NATSStreamingMaxPubAcksInFlight ,
Description : "Specifies how many messages can be published without getting ACKs back from NATS streaming server" ,
Optional : true ,
Type : "number" ,
} ,
config . HelpKV {
Key : target . NATSStreamingClusterID ,
Description : "Unique ID for the NATS streaming cluster" ,
Optional : true ,
Type : "string" ,
} ,
config . HelpKV {
Key : target . NATSQueueLimit ,
Description : "Enable persistent event store queue limit, defaults to '10000'" ,
Optional : true ,
Type : "number" ,
} ,
config . HelpKV {
Key : target . NATSQueueDir ,
Description : "Local directory where events are stored eg: '/home/events'" ,
Optional : true ,
Type : "path" ,
} ,
config . HelpKV {
Key : target . NATSCertAuthority ,
Description : "Certificate chain of the target NATS server if self signed certs were used" ,
Optional : true ,
Type : "string" ,
} ,
config . HelpKV {
Key : target . NATSClientCert ,
Description : "TLS Cert used to authenticate against NATS configured to require client certificates" ,
Optional : true ,
Type : "string" ,
} ,
config . HelpKV {
Key : target . NATSClientKey ,
Description : "TLS Key used to authenticate against NATS configured to require client certificates" ,
Optional : true ,
Type : "string" ,
} ,
config . HelpKV {
Key : config . Comment ,
Description : "A comment to describe the NATS target setting" ,
Optional : true ,
Type : "sentence" ,
} ,
2019-10-22 22:59:13 -07:00
}
2019-11-19 13:48:13 -08:00
HelpNSQ = config . HelpKVS {
config . HelpKV {
Key : config . State ,
Description : "Is this server endpoint configuration active/enabled" ,
Type : "on|off" ,
} ,
config . HelpKV {
Key : target . NSQAddress ,
Description : "NSQ server address eg: '127.0.0.1:4150'" ,
Type : "address" ,
} ,
config . HelpKV {
Key : target . NSQTopic ,
Description : "NSQ topic unique per target" ,
Type : "string" ,
} ,
config . HelpKV {
Key : target . NSQTLS ,
Description : "Set this to 'on', to enable TLS negotiation" ,
Optional : true ,
Type : "on|off" ,
} ,
config . HelpKV {
Key : target . NSQTLSSkipVerify ,
Description : "Set this to 'on', to disable client verification of server certificates" ,
Optional : true ,
Type : "on|off" ,
} ,
config . HelpKV {
Key : target . NSQQueueDir ,
Description : "Local directory where events are stored eg: '/home/events'" ,
Optional : true ,
Type : "path" ,
} ,
config . HelpKV {
Key : target . NSQQueueLimit ,
Description : "Enable persistent event store queue limit, defaults to '10000'" ,
Optional : true ,
Type : "number" ,
} ,
config . HelpKV {
Key : config . Comment ,
Description : "A comment to describe the NSQ target setting" ,
Optional : true ,
Type : "sentence" ,
} ,
2019-10-22 22:59:13 -07:00
}
)