Documentation ¶
Index ¶
- Constants
- type Config
- type Configs
- type Diagnostic
- type HandlerConfig
- type Service
- func (s *Service) Alert(workspace, channel, message, username, iconEmoji string, level alert.Level) error
- func (s *Service) Close() error
- func (s *Service) Global() bool
- func (s *Service) Handler(c HandlerConfig, ctx ...keyvalue.T) alert.Handler
- func (s *Service) Open() error
- func (s *Service) StateChangesOnly() bool
- func (s *Service) Test(options interface{}) error
- func (s *Service) TestOptions() interface{}
- func (s *Service) Update(newConfigs []interface{}) error
- type Workspace
Constants ¶
View Source
const DefaultUsername = "kapacitor"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { // Whether Slack integration is enabled. Enabled bool `toml:"enabled" override:"enabled"` // Whether this is the default slack config. Default bool `toml:"default" override:"default"` // ID assigned if multiple slack configs are given Workspace string `toml:"workspace" override:"workspace"` // The Slack webhook URL. // For new-style slack apps, use "https://slack.com/api/chat.postMessage". // For legacy webhooks (e.g. created at https://slack.com/services/new/incoming-webhook), use the webhook link. URL string `toml:"url" override:"url,redact"` // The Slack OAuth token. // For new-style slack apps, go to https://api.slack.com/apps -> your app -> 'OAuth & Permissions' to find // the token. Ensure your app has 'chat:write' and 'chat:write.public' permissions. // For legacy webhooks this can be left blank. Token string `toml:"token" override:"token,redact"` // The default channel, can be overridden per alert. Channel string `toml:"channel" override:"channel"` // The username of the Slack bot. // Default: kapacitor Username string `toml:"username" override:"username"` // IconEmoji uses an emoji instead of the normal icon for the message. // The contents should be the name of an emoji surrounded with ':', i.e. ':chart_with_upwards_trend:' IconEmoji string `toml:"icon-emoji" override:"icon-emoji"` // Whether all alerts should automatically post to slack Global bool `toml:"global" override:"global"` // Whether all alerts should automatically use stateChangesOnly mode. // Only applies if global is also set. StateChangesOnly bool `toml:"state-changes-only" override:"state-changes-only"` // Path to CA file SSLCA string `toml:"ssl-ca" override:"ssl-ca"` // Path to host cert file SSLCert string `toml:"ssl-cert" override:"ssl-cert"` // Path to cert key file SSLKey string `toml:"ssl-key" override:"ssl-key"` // Use SSL but skip chain & host verification InsecureSkipVerify bool `toml:"insecure-skip-verify" override:"insecure-skip-verify"` }
func NewDefaultConfig ¶ added in v1.5.0
func NewDefaultConfig() Config
func (*Config) ApplyDefaults ¶ added in v1.5.0
func (c *Config) ApplyDefaults()
type Configs ¶ added in v1.5.0
type Configs []Config
func (*Configs) UnmarshalTOML ¶ added in v1.5.0
type Diagnostic ¶ added in v1.4.0
type Diagnostic interface { WithContext(ctx ...keyvalue.T) Diagnostic InsecureSkipVerify() Error(msg string, err error) }
type HandlerConfig ¶ added in v1.2.0
type HandlerConfig struct { // Slack workspace ID to use when posting messages // If empty uses the default config Workspace string `mapstructure:"workspace"` // Slack channel in which to post messages. // If empty uses the channel from the configuration. Channel string `mapstructure:"channel"` // Username of the Slack bot. // If empty uses the username from the configuration. Username string `mapstructure:"username"` // IconEmoji is an emoji name surrounded in ':' characters. // The emoji image will replace the normal user icon for the slack bot. IconEmoji string `mapstructure:"icon-emoji"` }
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
func NewService ¶
func NewService(confs []Config, d Diagnostic) (*Service, error)
func (*Service) StateChangesOnly ¶ added in v0.11.0
func (*Service) TestOptions ¶ added in v1.1.0
func (s *Service) TestOptions() interface{}
type Workspace ¶ added in v1.5.0
type Workspace struct {
// contains filtered or unexported fields
}
func NewWorkspace ¶ added in v1.5.0
Click to show internal directories.
Click to hide internal directories.