Documentation ¶
Index ¶
- Variables
- func FetchRegisteredTargets(ctx context.Context, cfg config.Config, transport *http.Transport, test bool, ...) (_ *event.TargetList, err error)
- func GetNotificationTargets(ctx context.Context, cfg config.Config, transport *http.Transport, test bool) (*event.TargetList, error)
- func GetNotifyAMQP(amqpKVS map[string]config.KVS) (map[string]target.AMQPArgs, error)
- func GetNotifyES(esKVS map[string]config.KVS, transport *http.Transport) (map[string]target.ElasticsearchArgs, error)
- func GetNotifyKafka(kafkaKVS map[string]config.KVS) (map[string]target.KafkaArgs, error)
- func GetNotifyMQTT(mqttKVS map[string]config.KVS, rootCAs *x509.CertPool) (map[string]target.MQTTArgs, error)
- func GetNotifyMySQL(mysqlKVS map[string]config.KVS) (map[string]target.MySQLArgs, error)
- func GetNotifyNATS(natsKVS map[string]config.KVS, rootCAs *x509.CertPool) (map[string]target.NATSArgs, error)
- func GetNotifyNSQ(nsqKVS map[string]config.KVS) (map[string]target.NSQArgs, error)
- func GetNotifyPostgres(postgresKVS map[string]config.KVS) (map[string]target.PostgreSQLArgs, error)
- func GetNotifyRedis(redisKVS map[string]config.KVS) (map[string]target.RedisArgs, error)
- func GetNotifyWebhook(webhookKVS map[string]config.KVS, transport *http.Transport) (map[string]target.WebhookArgs, error)
- func RegisterNotificationTargets(ctx context.Context, cfg config.Config, transport *http.Transport, ...) (*event.TargetList, error)
- func SetNotifyAMQP(s config.Config, amqpName string, cfg target.AMQPArgs) error
- func SetNotifyES(s config.Config, esName string, cfg target.ElasticsearchArgs) error
- func SetNotifyKafka(s config.Config, name string, cfg target.KafkaArgs) error
- func SetNotifyMQTT(s config.Config, mqttName string, cfg target.MQTTArgs) error
- func SetNotifyMySQL(s config.Config, sqlName string, cfg target.MySQLArgs) error
- func SetNotifyNATS(s config.Config, natsName string, cfg target.NATSArgs) error
- func SetNotifyNSQ(s config.Config, nsqName string, cfg target.NSQArgs) error
- func SetNotifyPostgres(s config.Config, psqName string, cfg target.PostgreSQLArgs) error
- func SetNotifyRedis(s config.Config, redisName string, cfg target.RedisArgs) error
- func SetNotifyWebhook(s config.Config, whName string, cfg target.WebhookArgs) error
- func TestNotificationTargets(ctx context.Context, cfg config.Config, transport *http.Transport, ...) error
- func TestSubSysNotificationTargets(ctx context.Context, cfg config.Config, transport *http.Transport, ...) error
- type Config
Constants ¶
This section is empty.
Variables ¶
var ( HelpWebhook = config.HelpKVS{ config.HelpKV{ Key: target.WebhookEndpoint, Description: "webhook server endpoint e.g. http://localhost:8080/minio/events", Type: "url", Sensitive: true, }, config.HelpKV{ Key: target.WebhookAuthToken, Description: "opaque string or JWT authorization token", Optional: true, Type: "string", Sensitive: true, }, config.HelpKV{ Key: target.WebhookQueueDir, Description: queueDirComment, Optional: true, Type: "path", }, config.HelpKV{ Key: target.WebhookQueueLimit, Description: queueLimitComment, Optional: true, Type: "number", }, config.HelpKV{ Key: config.Comment, Description: config.DefaultComment, Optional: true, Type: "sentence", }, config.HelpKV{ Key: target.WebhookClientCert, Description: "client cert for Webhook mTLS auth", Optional: true, Type: "string", Sensitive: true, }, config.HelpKV{ Key: target.WebhookClientKey, Description: "client cert key for Webhook mTLS auth", Optional: true, Type: "string", Sensitive: true, }, } HelpAMQP = config.HelpKVS{ config.HelpKV{ Key: target.AmqpURL, Description: "AMQP server endpoint e.g. `amqp://myuser:mypassword@localhost:5672`", Type: "url", Sensitive: true, }, config.HelpKV{ Key: target.AmqpExchange, Description: "name of the AMQP exchange", Optional: true, Type: "string", }, config.HelpKV{ Key: target.AmqpExchangeType, Description: "AMQP exchange type", Optional: true, Type: "string", }, config.HelpKV{ Key: target.AmqpRoutingKey, Description: "routing key for publishing", Optional: true, Type: "string", Sensitive: true, }, config.HelpKV{ Key: target.AmqpMandatory, Description: "quietly ignore undelivered messages when set to 'off', default is 'on'", Optional: true, Type: "on|off", }, config.HelpKV{ Key: target.AmqpDurable, Description: "persist queue across broker restarts when set to 'on', default is 'off'", Optional: true, Type: "on|off", }, config.HelpKV{ Key: target.AmqpNoWait, Description: "non-blocking message delivery when set to 'on', default is 'off'", Optional: true, Type: "on|off", }, config.HelpKV{ Key: target.AmqpInternal, Description: "set 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: "auto delete queue when set to 'on', when there are no consumers", Optional: true, Type: "on|off", }, config.HelpKV{ Key: target.AmqpDeliveryMode, Description: "set to '1' for non-persistent or '2' for persistent queue", Optional: true, Type: "number", }, config.HelpKV{ Key: target.AmqpPublisherConfirms, Description: "enable consumer acknowlegement and publisher confirms, use this along with queue_dir for guaranteed delivery of all events", Optional: true, Type: "on|off", }, config.HelpKV{ Key: target.AmqpQueueDir, Description: queueDirComment, Optional: true, Type: "path", }, config.HelpKV{ Key: target.AmqpQueueLimit, Description: queueLimitComment, Optional: true, Type: "number", }, config.HelpKV{ Key: config.Comment, Description: config.DefaultComment, Optional: true, Type: "sentence", }, } HelpKafka = config.HelpKVS{ config.HelpKV{ Key: target.KafkaBrokers, Description: "comma separated list of Kafka broker addresses", Type: "csv", }, config.HelpKV{ Key: target.KafkaTopic, Description: "Kafka topic used for bucket notifications", Optional: true, Type: "string", }, config.HelpKV{ Key: target.KafkaSASLUsername, Description: "username for SASL/PLAIN or SASL/SCRAM authentication", Optional: true, Type: "string", Sensitive: true, }, config.HelpKV{ Key: target.KafkaSASLPassword, Description: "password for SASL/PLAIN or SASL/SCRAM authentication", Optional: true, Type: "string", Sensitive: true, }, config.HelpKV{ Key: target.KafkaSASLMechanism, Description: "sasl authentication mechanism, default 'plain'", 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 to 'on' to enable SASL authentication", Optional: true, Type: "on|off", }, config.HelpKV{ Key: target.KafkaTLS, Description: "set to 'on' to enable TLS", Optional: true, Type: "on|off", }, config.HelpKV{ Key: target.KafkaTLSSkipVerify, Description: `trust server TLS without verification, defaults to "on" (verify)`, Optional: true, Type: "on|off", }, config.HelpKV{ Key: target.KafkaClientTLSCert, Description: "path to client certificate for mTLS auth", Optional: true, Type: "path", Sensitive: true, }, config.HelpKV{ Key: target.KafkaClientTLSKey, Description: "path to client key for mTLS auth", Optional: true, Type: "path", Sensitive: true, }, config.HelpKV{ Key: target.KafkaQueueDir, Description: queueDirComment, Optional: true, Type: "path", }, config.HelpKV{ Key: target.KafkaQueueLimit, Description: queueLimitComment, Optional: true, Type: "number", }, config.HelpKV{ Key: target.KafkaVersion, Description: "specify the version of the Kafka cluster", Optional: true, Type: "string", }, config.HelpKV{ Key: config.Comment, Description: config.DefaultComment, Optional: true, Type: "sentence", }, } HelpMQTT = config.HelpKVS{ config.HelpKV{ Key: target.MqttBroker, Description: "MQTT server endpoint e.g. `tcp://localhost:1883`", Type: "uri", Sensitive: true, }, config.HelpKV{ Key: target.MqttTopic, Description: "name of the MQTT topic to publish", Type: "string", }, config.HelpKV{ Key: target.MqttUsername, Description: "MQTT username", Optional: true, Type: "string", Sensitive: true, }, config.HelpKV{ Key: target.MqttPassword, Description: "MQTT password", Optional: true, Type: "string", Sensitive: true, }, config.HelpKV{ Key: target.MqttQoS, Description: "set the quality of service priority, defaults to '0'", Optional: true, Type: "number", }, config.HelpKV{ Key: target.MqttKeepAliveInterval, Description: "keep-alive interval for MQTT connections in s,m,h,d", Optional: true, Type: "duration", }, config.HelpKV{ Key: target.MqttReconnectInterval, Description: "reconnect interval for MQTT connections in s,m,h,d", Optional: true, Type: "duration", }, config.HelpKV{ Key: target.MqttQueueDir, Description: queueDirComment, Optional: true, Type: "path", }, config.HelpKV{ Key: target.MqttQueueLimit, Description: queueLimitComment, Optional: true, Type: "number", }, config.HelpKV{ Key: config.Comment, Description: config.DefaultComment, Optional: true, Type: "sentence", }, } HelpPostgres = config.HelpKVS{ config.HelpKV{ Key: target.PostgresConnectionString, Description: `Postgres server connection-string e.g. "host=localhost port=5432 dbname=minio_events user=postgres password=password sslmode=disable"`, Type: "string", Sensitive: true, }, config.HelpKV{ Key: target.PostgresTable, Description: "DB table name to store/update events, table is auto-created", Type: "string", }, config.HelpKV{ Key: target.PostgresFormat, Description: formatComment, Type: "namespace*|access", }, config.HelpKV{ Key: target.PostgresQueueDir, Description: queueDirComment, Optional: true, Type: "path", }, config.HelpKV{ Key: target.PostgresQueueLimit, Description: queueLimitComment, Optional: true, Type: "number", }, config.HelpKV{ Key: config.Comment, Description: config.DefaultComment, Optional: true, Type: "sentence", }, config.HelpKV{ Key: target.PostgresMaxOpenConnections, Description: "To set the maximum number of open connections to the database. The value is set to `2` by default.", Optional: true, Type: "number", }, } HelpMySQL = config.HelpKVS{ config.HelpKV{ Key: target.MySQLDSNString, Description: `MySQL data-source-name connection string e.g. "<user>:<password>@tcp(<host>:<port>)/<database>"`, Optional: true, Type: "string", Sensitive: true, }, config.HelpKV{ Key: target.MySQLTable, Description: "DB table name to store/update events, table is auto-created", Type: "string", }, config.HelpKV{ Key: target.MySQLFormat, Description: formatComment, Type: "namespace*|access", }, config.HelpKV{ Key: target.MySQLQueueDir, Description: queueDirComment, Optional: true, Type: "path", }, config.HelpKV{ Key: target.MySQLQueueLimit, Description: queueLimitComment, Optional: true, Type: "number", }, config.HelpKV{ Key: config.Comment, Description: config.DefaultComment, Optional: true, Type: "sentence", }, config.HelpKV{ Key: target.MySQLMaxOpenConnections, Description: "To set the maximum number of open connections to the database. The value is set to `2` by default.", Optional: true, Type: "number", }, } HelpNATS = config.HelpKVS{ config.HelpKV{ Key: target.NATSAddress, Description: "NATS server address e.g. '0.0.0.0:4222'", Type: "address", Sensitive: true, }, config.HelpKV{ Key: target.NATSSubject, Description: "NATS subscription subject", Type: "string", }, config.HelpKV{ Key: target.NATSUsername, Description: "NATS username", Optional: true, Type: "string", Sensitive: true, }, config.HelpKV{ Key: target.NATSPassword, Description: "NATS password", Optional: true, Type: "string", Sensitive: true, }, config.HelpKV{ Key: target.NATSToken, Description: "NATS token", Optional: true, Type: "string", Sensitive: true, }, config.HelpKV{ Key: target.NATSTLS, Description: "set to 'on' to enable TLS", Optional: true, Type: "on|off", }, config.HelpKV{ Key: target.NATSTLSSkipVerify, Description: `trust server TLS without verification, defaults to "on" (verify)`, Optional: true, Type: "on|off", }, config.HelpKV{ Key: target.NATSPingInterval, Description: "client ping commands interval in s,m,h,d. Disabled by default", Optional: true, Type: "duration", }, config.HelpKV{ Key: target.NATSStreaming, Description: "set to 'on', to use streaming NATS server", Optional: true, Type: "on|off", }, config.HelpKV{ Key: target.NATSStreamingAsync, Description: "set to 'on', to enable asynchronous publish", Optional: true, Type: "on|off", }, config.HelpKV{ Key: target.NATSStreamingMaxPubAcksInFlight, Description: "number of messages to publish without waiting for ACKs", Optional: true, Type: "number", }, config.HelpKV{ Key: target.NATSStreamingClusterID, Description: "unique ID for NATS streaming cluster", Optional: true, Type: "string", }, config.HelpKV{ Key: target.NATSCertAuthority, Description: "path to certificate chain of the target NATS server", Optional: true, Type: "string", Sensitive: true, }, config.HelpKV{ Key: target.NATSClientCert, Description: "client cert for NATS mTLS auth", Optional: true, Type: "string", Sensitive: true, }, config.HelpKV{ Key: target.NATSClientKey, Description: "client cert key for NATS mTLS auth", Optional: true, Type: "string", Sensitive: true, }, config.HelpKV{ Key: target.NATSQueueDir, Description: queueDirComment, Optional: true, Type: "path", }, config.HelpKV{ Key: target.NATSQueueLimit, Description: queueLimitComment, Optional: true, Type: "number", }, config.HelpKV{ Key: config.Comment, Description: config.DefaultComment, Optional: true, Type: "sentence", }, } HelpNSQ = config.HelpKVS{ config.HelpKV{ Key: target.NSQAddress, Description: "NSQ server address e.g. '127.0.0.1:4150'", Type: "address", Sensitive: true, }, config.HelpKV{ Key: target.NSQTopic, Description: "NSQ topic", Type: "string", }, config.HelpKV{ Key: target.NSQTLS, Description: "set to 'on' to enable TLS", Optional: true, Type: "on|off", }, config.HelpKV{ Key: target.NSQTLSSkipVerify, Description: `trust server TLS without verification, defaults to "on" (verify)`, Optional: true, Type: "on|off", }, config.HelpKV{ Key: target.NSQQueueDir, Description: queueDirComment, Optional: true, Type: "path", }, config.HelpKV{ Key: target.NSQQueueLimit, Description: queueLimitComment, Optional: true, Type: "number", }, config.HelpKV{ Key: config.Comment, Description: config.DefaultComment, Optional: true, Type: "sentence", }, } HelpES = config.HelpKVS{ config.HelpKV{ Key: target.ElasticURL, Description: "Elasticsearch server's address, with optional authentication info", Type: "url", Sensitive: true, }, config.HelpKV{ Key: target.ElasticIndex, Description: `Elasticsearch index to store/update events, index is auto-created`, Type: "string", }, config.HelpKV{ Key: target.ElasticFormat, Description: formatComment, Type: "namespace*|access", }, config.HelpKV{ Key: target.ElasticQueueDir, Description: queueDirComment, Optional: true, Type: "path", }, config.HelpKV{ Key: target.ElasticQueueLimit, Description: queueLimitComment, Optional: true, Type: "number", }, config.HelpKV{ Key: target.ElasticUsername, Description: "username for Elasticsearch basic-auth", Optional: true, Type: "string", Sensitive: true, }, config.HelpKV{ Key: target.ElasticPassword, Description: "password for Elasticsearch basic-auth", Optional: true, Type: "string", Sensitive: true, }, config.HelpKV{ Key: config.Comment, Description: config.DefaultComment, Optional: true, Type: "sentence", }, } HelpRedis = config.HelpKVS{ config.HelpKV{ Key: target.RedisAddress, Description: "Redis server's address. For example: `localhost:6379`", Type: "address", Sensitive: true, }, config.HelpKV{ Key: target.RedisKey, Description: "Redis key to store/update events, key is auto-created", Type: "string", Sensitive: true, }, config.HelpKV{ Key: target.RedisFormat, Description: formatComment, Type: "namespace*|access", }, config.HelpKV{ Key: target.RedisPassword, Description: "Redis server password", Optional: true, Type: "string", Sensitive: true, }, config.HelpKV{ Key: target.RedisQueueDir, Description: queueDirComment, Optional: true, Type: "path", }, config.HelpKV{ Key: target.RedisQueueLimit, Description: queueLimitComment, Optional: true, Type: "number", }, config.HelpKV{ Key: config.Comment, Description: config.DefaultComment, Optional: true, Type: "sentence", }, } )
Help template inputs for all notification targets
var ( DefaultAMQPKVS = config.KVS{ config.KV{ Key: config.Enable, Value: config.EnableOff, }, config.KV{ Key: target.AmqpURL, Value: "", }, config.KV{ Key: target.AmqpExchange, Value: "", }, config.KV{ Key: target.AmqpExchangeType, Value: "", }, config.KV{ Key: target.AmqpRoutingKey, Value: "", }, config.KV{ Key: target.AmqpMandatory, Value: config.EnableOff, }, config.KV{ Key: target.AmqpDurable, Value: config.EnableOff, }, config.KV{ Key: target.AmqpNoWait, Value: config.EnableOff, }, config.KV{ Key: target.AmqpInternal, Value: config.EnableOff, }, config.KV{ Key: target.AmqpAutoDeleted, Value: config.EnableOff, }, config.KV{ Key: target.AmqpDeliveryMode, Value: "0", }, config.KV{ Key: target.AmqpPublisherConfirms, Value: config.EnableOff, }, config.KV{ Key: target.AmqpQueueLimit, Value: "0", }, config.KV{ Key: target.AmqpQueueDir, Value: "", }, } )
DefaultAMQPKVS - default KV for AMQP config
var ( DefaultESKVS = config.KVS{ config.KV{ Key: config.Enable, Value: config.EnableOff, }, config.KV{ Key: target.ElasticURL, Value: "", }, config.KV{ Key: target.ElasticFormat, Value: formatNamespace, }, config.KV{ Key: target.ElasticIndex, Value: "", }, config.KV{ Key: target.ElasticQueueDir, Value: "", }, config.KV{ Key: target.ElasticQueueLimit, Value: "0", }, config.KV{ Key: target.ElasticUsername, Value: "", }, config.KV{ Key: target.ElasticPassword, Value: "", }, } )
DefaultESKVS - default KV config for Elasticsearch target
var ( DefaultKafkaKVS = config.KVS{ config.KV{ Key: config.Enable, Value: config.EnableOff, }, config.KV{ Key: target.KafkaTopic, Value: "", }, config.KV{ Key: target.KafkaBrokers, Value: "", }, config.KV{ Key: target.KafkaSASLUsername, Value: "", }, config.KV{ Key: target.KafkaSASLPassword, Value: "", }, config.KV{ Key: target.KafkaSASLMechanism, Value: "plain", }, config.KV{ Key: target.KafkaClientTLSCert, Value: "", }, config.KV{ Key: target.KafkaClientTLSKey, Value: "", }, config.KV{ Key: target.KafkaTLSClientAuth, Value: "0", }, config.KV{ Key: target.KafkaSASL, Value: config.EnableOff, }, config.KV{ Key: target.KafkaTLS, Value: config.EnableOff, }, config.KV{ Key: target.KafkaTLSSkipVerify, Value: config.EnableOff, }, config.KV{ Key: target.KafkaQueueLimit, Value: "0", }, config.KV{ Key: target.KafkaQueueDir, Value: "", }, config.KV{ Key: target.KafkaVersion, Value: "", }, } )
DefaultKakfaKVS - default KV for kafka target
var ( DefaultMQTTKVS = config.KVS{ config.KV{ Key: config.Enable, Value: config.EnableOff, }, config.KV{ Key: target.MqttBroker, Value: "", }, config.KV{ Key: target.MqttTopic, Value: "", }, config.KV{ Key: target.MqttPassword, Value: "", }, config.KV{ Key: target.MqttUsername, Value: "", }, config.KV{ Key: target.MqttQoS, Value: "0", }, config.KV{ Key: target.MqttKeepAliveInterval, Value: "0s", }, config.KV{ Key: target.MqttReconnectInterval, Value: "0s", }, config.KV{ Key: target.MqttQueueDir, Value: "", }, config.KV{ Key: target.MqttQueueLimit, Value: "0", }, } )
DefaultMQTTKVS - default MQTT config
var ( DefaultMySQLKVS = config.KVS{ config.KV{ Key: config.Enable, Value: config.EnableOff, }, config.KV{ Key: target.MySQLFormat, Value: formatNamespace, }, config.KV{ Key: target.MySQLDSNString, Value: "", }, config.KV{ Key: target.MySQLTable, Value: "", }, config.KV{ Key: target.MySQLQueueDir, Value: "", }, config.KV{ Key: target.MySQLQueueLimit, Value: "0", }, config.KV{ Key: target.MySQLMaxOpenConnections, Value: "2", }, } )
DefaultMySQLKVS - default KV for MySQL
var ( DefaultNATSKVS = config.KVS{ config.KV{ Key: config.Enable, Value: config.EnableOff, }, config.KV{ Key: target.NATSAddress, Value: "", }, config.KV{ Key: target.NATSSubject, Value: "", }, config.KV{ Key: target.NATSUsername, Value: "", }, config.KV{ Key: target.NATSPassword, Value: "", }, config.KV{ Key: target.NATSToken, Value: "", }, config.KV{ Key: target.NATSTLS, Value: config.EnableOff, }, config.KV{ Key: target.NATSTLSSkipVerify, Value: config.EnableOff, }, config.KV{ Key: target.NATSCertAuthority, Value: "", }, config.KV{ Key: target.NATSClientCert, Value: "", }, config.KV{ Key: target.NATSClientKey, Value: "", }, config.KV{ Key: target.NATSPingInterval, Value: "0", }, config.KV{ Key: target.NATSStreaming, Value: config.EnableOff, }, config.KV{ Key: target.NATSStreamingAsync, Value: config.EnableOff, }, config.KV{ Key: target.NATSStreamingMaxPubAcksInFlight, Value: "0", }, config.KV{ Key: target.NATSStreamingClusterID, Value: "", }, config.KV{ Key: target.NATSQueueDir, Value: "", }, config.KV{ Key: target.NATSQueueLimit, Value: "0", }, } )
DefaultNATSKVS - NATS KV for nats config.
var ( DefaultNSQKVS = config.KVS{ config.KV{ Key: config.Enable, Value: config.EnableOff, }, config.KV{ Key: target.NSQAddress, Value: "", }, config.KV{ Key: target.NSQTopic, Value: "", }, config.KV{ Key: target.NSQTLS, Value: config.EnableOff, }, config.KV{ Key: target.NSQTLSSkipVerify, Value: config.EnableOff, }, config.KV{ Key: target.NSQQueueDir, Value: "", }, config.KV{ Key: target.NSQQueueLimit, Value: "0", }, } )
DefaultNSQKVS - NSQ KV for config
var ( DefaultNotificationKVS = map[string]config.KVS{ config.NotifyAMQPSubSys: DefaultAMQPKVS, config.NotifyKafkaSubSys: DefaultKafkaKVS, config.NotifyMQTTSubSys: DefaultMQTTKVS, config.NotifyMySQLSubSys: DefaultMySQLKVS, config.NotifyNATSSubSys: DefaultNATSKVS, config.NotifyNSQSubSys: DefaultNSQKVS, config.NotifyPostgresSubSys: DefaultPostgresKVS, config.NotifyRedisSubSys: DefaultRedisKVS, config.NotifyWebhookSubSys: DefaultWebhookKVS, config.NotifyESSubSys: DefaultESKVS, } )
DefaultNotificationKVS - default notification list of kvs.
var ( DefaultPostgresKVS = config.KVS{ config.KV{ Key: config.Enable, Value: config.EnableOff, }, config.KV{ Key: target.PostgresFormat, Value: formatNamespace, }, config.KV{ Key: target.PostgresConnectionString, Value: "", }, config.KV{ Key: target.PostgresTable, Value: "", }, config.KV{ Key: target.PostgresQueueDir, Value: "", }, config.KV{ Key: target.PostgresQueueLimit, Value: "0", }, config.KV{ Key: target.PostgresMaxOpenConnections, Value: "2", }, } )
DefaultPostgresKVS - default Postgres KV for server config.
var ( DefaultRedisKVS = config.KVS{ config.KV{ Key: config.Enable, Value: config.EnableOff, }, config.KV{ Key: target.RedisFormat, Value: formatNamespace, }, config.KV{ Key: target.RedisAddress, Value: "", }, config.KV{ Key: target.RedisKey, Value: "", }, config.KV{ Key: target.RedisPassword, Value: "", }, config.KV{ Key: target.RedisQueueDir, Value: "", }, config.KV{ Key: target.RedisQueueLimit, Value: "0", }, } )
DefaultRedisKVS - default KV for redis config
var ( DefaultWebhookKVS = config.KVS{ config.KV{ Key: config.Enable, Value: config.EnableOff, }, config.KV{ Key: target.WebhookEndpoint, Value: "", }, config.KV{ Key: target.WebhookAuthToken, Value: "", }, config.KV{ Key: target.WebhookQueueLimit, Value: "0", }, config.KV{ Key: target.WebhookQueueDir, Value: "", }, config.KV{ Key: target.WebhookClientCert, Value: "", }, config.KV{ Key: target.WebhookClientKey, Value: "", }, } )
DefaultWebhookKVS - default KV for webhook config
var ErrTargetsOffline = errors.New("one or more targets are offline. Please use `mc admin info --json` to check the offline targets")
ErrTargetsOffline - Indicates single/multiple target failures.
Functions ¶
func FetchRegisteredTargets ¶
func FetchRegisteredTargets(ctx context.Context, cfg config.Config, transport *http.Transport, test bool, returnOnTargetError bool) (_ *event.TargetList, err error)
FetchRegisteredTargets - Returns a set of configured TargetList If `returnOnTargetError` is set to true, The function returns when a target initialization fails Else, the function will return a complete TargetList irrespective of errors
func GetNotificationTargets ¶
func GetNotificationTargets(ctx context.Context, cfg config.Config, transport *http.Transport, test bool) (*event.TargetList, error)
GetNotificationTargets registers and initializes all notification targets, returns error if any.
func GetNotifyAMQP ¶
GetNotifyAMQP - returns a map of registered notification 'amqp' targets
func GetNotifyES ¶
func GetNotifyES(esKVS map[string]config.KVS, transport *http.Transport) (map[string]target.ElasticsearchArgs, error)
GetNotifyES - returns a map of registered notification 'elasticsearch' targets
func GetNotifyKafka ¶
GetNotifyKafka - returns a map of registered notification 'kafka' targets
func GetNotifyMQTT ¶
func GetNotifyMQTT(mqttKVS map[string]config.KVS, rootCAs *x509.CertPool) (map[string]target.MQTTArgs, error)
GetNotifyMQTT - returns a map of registered notification 'mqtt' targets
func GetNotifyMySQL ¶
GetNotifyMySQL - returns a map of registered notification 'mysql' targets
func GetNotifyNATS ¶
func GetNotifyNATS(natsKVS map[string]config.KVS, rootCAs *x509.CertPool) (map[string]target.NATSArgs, error)
GetNotifyNATS - returns a map of registered notification 'nats' targets
func GetNotifyNSQ ¶
GetNotifyNSQ - returns a map of registered notification 'nsq' targets
func GetNotifyPostgres ¶
GetNotifyPostgres - returns a map of registered notification 'postgres' targets
func GetNotifyRedis ¶
GetNotifyRedis - returns a map of registered notification 'redis' targets
func GetNotifyWebhook ¶
func GetNotifyWebhook(webhookKVS map[string]config.KVS, transport *http.Transport) ( map[string]target.WebhookArgs, error)
GetNotifyWebhook - returns a map of registered notification 'webhook' targets
func RegisterNotificationTargets ¶
func RegisterNotificationTargets(ctx context.Context, cfg config.Config, transport *http.Transport, targetIDs []event.TargetID, test bool, returnOnTargetError bool) (*event.TargetList, error)
RegisterNotificationTargets - returns TargetList which contains enabled targets in serverConfig. A new notification target is added like below * Add a new target in pkg/event/target package. * Add newly added target configuration to serverConfig.Notify.<TARGET_NAME>. * Handle the configuration in this function to create/add into TargetList.
func SetNotifyAMQP ¶
SetNotifyAMQP - helper for config migration from older config.
func SetNotifyES ¶
SetNotifyES - helper for config migration from older config.
func SetNotifyKafka ¶
SetNotifyKafka - helper for config migration from older config.
func SetNotifyMQTT ¶
SetNotifyMQTT - helper for config migration from older config.
func SetNotifyMySQL ¶
SetNotifyMySQL - helper for config migration from older config.
func SetNotifyNATS ¶
SetNotifyNATS - helper for config migration from older config.
func SetNotifyNSQ ¶
SetNotifyNSQ - helper for config migration from older config.
func SetNotifyPostgres ¶
SetNotifyPostgres - helper for config migration from older config.
func SetNotifyRedis ¶
SetNotifyRedis - helper for config migration from older config.
func SetNotifyWebhook ¶
SetNotifyWebhook - helper for config migration from older config.
Types ¶
type Config ¶
type Config struct { AMQP map[string]target.AMQPArgs `json:"amqp"` Elasticsearch map[string]target.ElasticsearchArgs `json:"elasticsearch"` Kafka map[string]target.KafkaArgs `json:"kafka"` MQTT map[string]target.MQTTArgs `json:"mqtt"` MySQL map[string]target.MySQLArgs `json:"mysql"` NATS map[string]target.NATSArgs `json:"nats"` NSQ map[string]target.NSQArgs `json:"nsq"` PostgreSQL map[string]target.PostgreSQLArgs `json:"postgresql"` Redis map[string]target.RedisArgs `json:"redis"` Webhook map[string]target.WebhookArgs `json:"webhook"` }
Config - notification target configuration structure, holds information about various notification targets.