Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	HelpWebhook = config.HelpKVS{
		config.HelpKV{
			Key:         target.WebhookEndpoint,
			Description: "webhook server endpoint e.g. http://localhost:8080/minio/events",
			Type:        "url",
		},
		config.HelpKV{
			Key:         target.WebhookAuthToken,
			Description: "opaque string or JWT authorization token",
			Optional:    true,
			Type:        "string",
		},
		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",
		},
		config.HelpKV{
			Key:         target.WebhookClientKey,
			Description: "client cert key for Webhook mTLS auth",
			Optional:    true,
			Type:        "string",
		},
	}

	HelpAMQP = config.HelpKVS{
		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: "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: "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.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",
		},
		config.HelpKV{
			Key:         target.KafkaSASLPassword,
			Description: "password for SASL/PLAIN or SASL/SCRAM authentication",
			Optional:    true,
			Type:        "string",
		},
		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",
		},
		config.HelpKV{
			Key:         target.KafkaClientTLSKey,
			Description: "path to client key for mTLS auth",
			Optional:    true,
			Type:        "path",
		},
		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",
		},
		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",
		},
		config.HelpKV{
			Key:         target.MqttPassword,
			Description: "MQTT password",
			Optional:    true,
			Type:        "string",
		},
		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",
		},
		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",
		},
		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",
		},
		config.HelpKV{
			Key:         target.NATSSubject,
			Description: "NATS subscription subject",
			Type:        "string",
		},
		config.HelpKV{
			Key:         target.NATSUsername,
			Description: "NATS username",
			Optional:    true,
			Type:        "string",
		},
		config.HelpKV{
			Key:         target.NATSPassword,
			Description: "NATS password",
			Optional:    true,
			Type:        "string",
		},
		config.HelpKV{
			Key:         target.NATSToken,
			Description: "NATS token",
			Optional:    true,
			Type:        "string",
		},
		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",
		},
		config.HelpKV{
			Key:         target.NATSClientCert,
			Description: "client cert for NATS mTLS auth",
			Optional:    true,
			Type:        "string",
		},
		config.HelpKV{
			Key:         target.NATSClientKey,
			Description: "client cert key for NATS mTLS auth",
			Optional:    true,
			Type:        "string",
		},
		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",
		},
		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",
		},
		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",
		},
		config.HelpKV{
			Key:         target.ElasticPassword,
			Description: "password for Elasticsearch basic-auth",
			Optional:    true,
			Type:        "string",
		},
		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",
		},
		config.HelpKV{
			Key:         target.RedisKey,
			Description: "Redis key to store/update events, key is auto-created",
			Type:        "string",
		},
		config.HelpKV{
			Key:         target.RedisFormat,
			Description: formatComment,
			Type:        "namespace*|access",
		},
		config.HelpKV{
			Key:         target.RedisPassword,
			Description: "Redis server password",
			Optional:    true,
			Type:        "string",
		},
		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

    View Source
    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.AmqpQueueLimit,
    			Value: "0",
    		},
    		config.KV{
    			Key:   target.AmqpQueueDir,
    			Value: "",
    		},
    	}
    )

      DefaultAMQPKVS - default KV for AMQP config

      View Source
      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

        View Source
        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

          View Source
          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

            View Source
            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

              View Source
              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.

                View Source
                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

                    DefaultNotificationKVS - default notification list of kvs.

                    View Source
                    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.

                      View Source
                      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

                        View Source
                        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

                          View Source
                          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

                                func GetNotifyAMQP(amqpKVS map[string]config.KVS) (map[string]target.AMQPArgs, error)

                                  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

                                    func GetNotifyKafka(kafkaKVS map[string]config.KVS) (map[string]target.KafkaArgs, error)

                                      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

                                        func GetNotifyMySQL(mysqlKVS map[string]config.KVS) (map[string]target.MySQLArgs, error)

                                          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

                                            func GetNotifyNSQ(nsqKVS map[string]config.KVS) (map[string]target.NSQArgs, error)

                                              GetNotifyNSQ - returns a map of registered notification 'nsq' targets

                                              func GetNotifyPostgres

                                              func GetNotifyPostgres(postgresKVS map[string]config.KVS) (map[string]target.PostgreSQLArgs, error)

                                                GetNotifyPostgres - returns a map of registered notification 'postgres' targets

                                                func GetNotifyRedis

                                                func GetNotifyRedis(redisKVS map[string]config.KVS) (map[string]target.RedisArgs, error)

                                                  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

                                                      func SetNotifyAMQP(s config.Config, amqpName string, cfg target.AMQPArgs) error

                                                        SetNotifyAMQP - helper for config migration from older config.

                                                        func SetNotifyES

                                                        func SetNotifyES(s config.Config, esName string, cfg target.ElasticsearchArgs) error

                                                          SetNotifyES - helper for config migration from older config.

                                                          func SetNotifyKafka

                                                          func SetNotifyKafka(s config.Config, kName string, cfg target.KafkaArgs) error

                                                            SetNotifyKafka - helper for config migration from older config.

                                                            func SetNotifyMQTT

                                                            func SetNotifyMQTT(s config.Config, mqttName string, cfg target.MQTTArgs) error

                                                              SetNotifyMQTT - helper for config migration from older config.

                                                              func SetNotifyMySQL

                                                              func SetNotifyMySQL(s config.Config, sqlName string, cfg target.MySQLArgs) error

                                                                SetNotifyMySQL - helper for config migration from older config.

                                                                func SetNotifyNATS

                                                                func SetNotifyNATS(s config.Config, natsName string, cfg target.NATSArgs) error

                                                                  SetNotifyNATS - helper for config migration from older config.

                                                                  func SetNotifyNSQ

                                                                  func SetNotifyNSQ(s config.Config, nsqName string, cfg target.NSQArgs) error

                                                                    SetNotifyNSQ - helper for config migration from older config.

                                                                    func SetNotifyPostgres

                                                                    func SetNotifyPostgres(s config.Config, psqName string, cfg target.PostgreSQLArgs) error

                                                                      SetNotifyPostgres - helper for config migration from older config.

                                                                      func SetNotifyRedis

                                                                      func SetNotifyRedis(s config.Config, redisName string, cfg target.RedisArgs) error

                                                                        SetNotifyRedis - helper for config migration from older config.

                                                                        func SetNotifyWebhook

                                                                        func SetNotifyWebhook(s config.Config, whName string, cfg target.WebhookArgs) error

                                                                          SetNotifyWebhook - helper for config migration from older config.

                                                                          func TestNotificationTargets

                                                                          func TestNotificationTargets(ctx context.Context, cfg config.Config, transport *http.Transport, targetIDs []event.TargetID) error

                                                                            TestNotificationTargets is similar to GetNotificationTargets() avoids explicit registration.

                                                                            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.

                                                                              func NewConfig

                                                                              func NewConfig() Config

                                                                                NewConfig - initialize notification config.