Documentation ¶
Index ¶
Constants ¶
View Source
const ( CodeBlockFmt = "```%s```" // slackMsgFmt ... Slack message format SlackMsgFmt = `` /* 169-byte string literal not displayed */ )
TODO: add timestamp to the message Slack Formatting
View Source
const (
PagerDutyMsgFmt = `
Heuristic Triggered: %s
Network: %s
Assessment:
%s
`
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶ added in v1.0.0
type Config struct { RoutingCfgPath string PagerdutyAlertEventsURL string RoutingParams *core.AlertRoutingParams }
Config ... Alert manager configuration
type CoolDownHandler ¶ added in v1.0.0
type CoolDownHandler interface { Add(suuid core.SUUID, coolDownTime time.Duration) Update() IsCoolDown(suuid core.SUUID) bool }
CoolDownHandler ... Interface for the cool down handler
func NewCoolDownHandler ¶ added in v1.0.0
func NewCoolDownHandler() CoolDownHandler
NewCoolDownHandler ... Initializer
type Interpolator ¶
type Interpolator interface { InterpolateSlackMessage(sUUID core.SUUID, content string, msg string) string InterpolatePagerDutyMessage(sUUID core.SUUID, message string) string }
Interpolator ... Interface for interpolating messages
type Manager ¶
type Manager interface { AddSession(core.SUUID, *core.AlertPolicy) error Transit() chan core.Alert core.Subsystem }
Manager ... Interface for alert manager
func NewManager ¶
func NewManager(ctx context.Context, cfg *Config, cm RoutingDirectory) Manager
NewManager ... Instantiates a new alert manager
type RoutingDirectory ¶ added in v1.0.0
type RoutingDirectory interface { GetPagerDutyClients(sev core.Severity) []client.PagerDutyClient GetSlackClients(sev core.Severity) []client.SlackClient InitializeRouting(params *core.AlertRoutingParams) SetPagerDutyClients([]client.PagerDutyClient, core.Severity) SetSlackClients([]client.SlackClient, core.Severity) }
RoutingDirectory ... Interface for routing directory
func NewRoutingDirectory ¶ added in v1.0.0
func NewRoutingDirectory(cfg *Config) RoutingDirectory
NewRoutingDirectory ... Instantiates a new routing directory
type Store ¶
type Store interface { AddAlertPolicy(core.SUUID, *core.AlertPolicy) error GetAlertPolicy(sUUID core.SUUID) (*core.AlertPolicy, error) }
Store ... Interface for alert policy store NOTE - This is a simple in-memory store, using this interface we can easily swap it out for a persistent store
Click to show internal directories.
Click to hide internal directories.