config

package
v1.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 14, 2021 License: Apache-2.0 Imports: 27 Imported by: 0

Documentation

Index

Constants

View Source
const (
	HTML     = "html"
	Text     = "text"
	Markdown = "markdown"
	Aliyun   = "aliyun"
	Tencent  = "tencent"
)

Variables

View Source
var (
	ChannelCapacity = 1000
)

Functions

This section is empty.

Types

type Config

type Config struct {
	ReceiverOpts *v2beta2.Options
	// contains filtered or unexported fields
}

func New

func New(ctx context.Context, logger log.Logger) (*Config, error)

func (*Config) GenerateReceivers added in v1.2.0

func (c *Config) GenerateReceivers(nr *v2beta2.Receiver, nc *v2beta2.Config) ([]Receiver, error)

GenerateReceivers generate receivers from the given notification config and notification receiver. If the notification config is nil, use the exist config. If the notification config is not nil, the receiver will use the given config, the notification config type must matched the notification receiver type.

func (*Config) GetCredential added in v1.2.0

func (c *Config) GetCredential(credential *v2beta2.Credential) (string, error)

func (*Config) OutputReceiver

func (c *Config) OutputReceiver(tenant, receiver string) interface{}

func (*Config) RcvsFromNs

func (c *Config) RcvsFromNs(namespace *string) []Receiver

func (*Config) RcvsFromTenantID added in v1.2.0

func (c *Config) RcvsFromTenantID(tenantID string) []Receiver

func (*Config) Run

func (c *Config) Run() error

type DingTalk

type DingTalk struct {
	ChatIDs        []string
	ChatBot        *DingTalkChatBot
	DingTalkConfig *DingTalkConfig
	Selector       *metav1.LabelSelector
	Template       string
	TitleTemplate  string
	TmplType       string
	// contains filtered or unexported fields
}

func (DingTalk) Enabled added in v1.0.0

func (c DingTalk) Enabled() bool

func (*DingTalk) GetConfig

func (d *DingTalk) GetConfig() interface{}

func (DingTalk) GetConfigSelector added in v1.2.0

func (c DingTalk) GetConfigSelector() *metav1.LabelSelector

func (DingTalk) GetType added in v1.2.0

func (c DingTalk) GetType() string

func (*DingTalk) SetConfig

func (d *DingTalk) SetConfig(obj interface{}) error

func (DingTalk) SetUseDefault

func (c DingTalk) SetUseDefault(b bool)

func (DingTalk) UseDefault

func (c DingTalk) UseDefault() bool

func (*DingTalk) Validate added in v1.2.0

func (d *DingTalk) Validate() error

type DingTalkChatBot

type DingTalkChatBot struct {
	Webhook   *v2beta2.Credential
	Keywords  []string
	Secret    *v2beta2.Credential
	AtMobiles []string
	AtUsers   []string
	AtAll     bool
}

DingTalkChatBot is the configuration of ChatBot

type DingTalkConfig

type DingTalkConfig struct {
	AppKey    *v2beta2.Credential
	AppSecret *v2beta2.Credential
}

type Email

type Email struct {
	Template        string
	SubjectTemplate string
	TmplType        string
	To              []string
	EmailConfig     *EmailConfig
	Selector        *metav1.LabelSelector
	// contains filtered or unexported fields
}

func NewEmail

func NewEmail(e *Email) *Email

func (Email) Enabled added in v1.0.0

func (c Email) Enabled() bool

func (*Email) GetConfig

func (e *Email) GetConfig() interface{}

func (Email) GetConfigSelector added in v1.2.0

func (c Email) GetConfigSelector() *metav1.LabelSelector

func (Email) GetType added in v1.2.0

func (c Email) GetType() string

func (*Email) SetConfig

func (e *Email) SetConfig(obj interface{}) error

func (Email) SetUseDefault

func (c Email) SetUseDefault(b bool)

func (Email) UseDefault

func (c Email) UseDefault() bool

func (*Email) Validate added in v1.2.0

func (e *Email) Validate() error

type EmailConfig

type EmailConfig struct {
	From         string
	SmartHost    v2beta2.HostPort
	Hello        string
	AuthUsername string
	AuthIdentify string
	AuthPassword *v2beta2.Credential
	AuthSecret   *v2beta2.Credential
	RequireTLS   bool
	TLS          *v2beta2.TLSConfig
}

type Pushover added in v1.3.0

type Pushover struct {
	Template string
	// Profiles are users to send notifications to.
	Profiles       []*v2beta2.PushoverUserProfile
	PushoverConfig *PushoverConfig
	Selector       *metav1.LabelSelector
	// contains filtered or unexported fields
}

func (Pushover) Enabled added in v1.3.0

func (c Pushover) Enabled() bool

func (*Pushover) GetConfig added in v1.3.0

func (p *Pushover) GetConfig() interface{}

func (Pushover) GetConfigSelector added in v1.3.0

func (c Pushover) GetConfigSelector() *metav1.LabelSelector

func (Pushover) GetType added in v1.3.0

func (c Pushover) GetType() string

func (*Pushover) SetConfig added in v1.3.0

func (p *Pushover) SetConfig(obj interface{}) error

func (Pushover) SetUseDefault added in v1.3.0

func (c Pushover) SetUseDefault(b bool)

func (Pushover) UseDefault added in v1.3.0

func (c Pushover) UseDefault() bool

func (*Pushover) Validate added in v1.3.0

func (p *Pushover) Validate() error

type PushoverConfig added in v1.3.0

type PushoverConfig struct {
	// The token of a Pushover application.
	Token *v2beta2.Credential
}

type Receiver

type Receiver interface {
	Enabled() bool
	UseDefault() bool
	SetUseDefault(b bool)
	GetType() string
	GetConfigSelector() *metav1.LabelSelector
	GetConfig() interface{}
	SetConfig(c interface{}) error
	Validate() error
}

func NewDingTalkConfig added in v1.0.0

func NewDingTalkConfig(dc *v2beta2.DingTalkConfig) Receiver

func NewDingTalkReceiver

func NewDingTalkReceiver(c *Config, dr *v2beta2.DingTalkReceiver) Receiver

func NewEmailConfig added in v1.0.0

func NewEmailConfig(ec *v2beta2.EmailConfig) Receiver

func NewEmailReceiver

func NewEmailReceiver(c *Config, er *v2beta2.EmailReceiver) Receiver

func NewPushoverConfig added in v1.3.0

func NewPushoverConfig(sc *v2beta2.PushoverConfig) Receiver

func NewPushoverReceiver added in v1.3.0

func NewPushoverReceiver(c *Config, pr *v2beta2.PushoverReceiver) Receiver

func NewReceiver added in v1.0.0

func NewReceiver(c *Config, obj interface{}) Receiver

func NewSlackConfig added in v1.0.0

func NewSlackConfig(sc *v2beta2.SlackConfig) Receiver

func NewSlackReceiver

func NewSlackReceiver(c *Config, sr *v2beta2.SlackReceiver) Receiver

func NewSmsConfig added in v1.2.0

func NewSmsConfig(sc *v2beta2.SmsConfig) Receiver

func NewSmsReceiver added in v1.2.0

func NewSmsReceiver(c *Config, sr *v2beta2.SmsReceiver) Receiver

func NewWebhookConfig added in v1.0.0

func NewWebhookConfig(_ *v2beta2.WebhookConfig) Receiver

func NewWebhookReceiver

func NewWebhookReceiver(_ *Config, wr *v2beta2.WebhookReceiver) Receiver

func NewWechatConfig added in v1.0.0

func NewWechatConfig(wc *v2beta2.WechatConfig) Receiver

func NewWechatReceiver

func NewWechatReceiver(c *Config, wr *v2beta2.WechatReceiver) Receiver

type Slack

type Slack struct {
	Template string
	// The channel or user to send notifications to.
	Channels    []string
	SlackConfig *SlackConfig
	Selector    *metav1.LabelSelector
	// contains filtered or unexported fields
}

func (Slack) Enabled added in v1.0.0

func (c Slack) Enabled() bool

func (*Slack) GetConfig

func (s *Slack) GetConfig() interface{}

func (Slack) GetConfigSelector added in v1.2.0

func (c Slack) GetConfigSelector() *metav1.LabelSelector

func (Slack) GetType added in v1.2.0

func (c Slack) GetType() string

func (*Slack) SetConfig

func (s *Slack) SetConfig(obj interface{}) error

func (Slack) SetUseDefault

func (c Slack) SetUseDefault(b bool)

func (Slack) UseDefault

func (c Slack) UseDefault() bool

func (*Slack) Validate added in v1.2.0

func (s *Slack) Validate() error

type SlackConfig

type SlackConfig struct {
	// The token of user or bot.
	Token *v2beta2.Credential
}

type Sms added in v1.2.0

type Sms struct {
	Template     string
	PhoneNumbers []string
	SmsConfig    *SmsConfig
	Selector     *metav1.LabelSelector
	// contains filtered or unexported fields
}

func (Sms) Enabled added in v1.2.0

func (c Sms) Enabled() bool

func (*Sms) GetConfig added in v1.2.0

func (s *Sms) GetConfig() interface{}

func (Sms) GetConfigSelector added in v1.2.0

func (c Sms) GetConfigSelector() *metav1.LabelSelector

func (Sms) GetType added in v1.2.0

func (c Sms) GetType() string

func (*Sms) SetConfig added in v1.2.0

func (s *Sms) SetConfig(obj interface{}) error

func (Sms) SetUseDefault added in v1.2.0

func (c Sms) SetUseDefault(b bool)

func (Sms) UseDefault added in v1.2.0

func (c Sms) UseDefault() bool

func (*Sms) Validate added in v1.2.0

func (s *Sms) Validate() error

type SmsConfig added in v1.2.0

type SmsConfig struct {
	// The default sms provider
	// optional, if not given, use the first available ones.
	DefaultProvider string `json:"defaultProvider,omitempty"`
	// All sms providers
	Providers *v2beta2.Providers `json:"providers"`
}

type Webhook

type Webhook struct {
	Template string
	// `url` gives the location of the webhook, in standard URL form.
	URL           string
	HttpConfig    *v2beta2.HTTPClientConfig
	WebhookConfig *WebhookConfig
	Selector      *metav1.LabelSelector
	// contains filtered or unexported fields
}

func (Webhook) Enabled added in v1.0.0

func (c Webhook) Enabled() bool

func (*Webhook) GetConfig

func (w *Webhook) GetConfig() interface{}

func (Webhook) GetConfigSelector added in v1.2.0

func (c Webhook) GetConfigSelector() *metav1.LabelSelector

func (Webhook) GetType added in v1.2.0

func (c Webhook) GetType() string

func (*Webhook) SetConfig

func (w *Webhook) SetConfig(obj interface{}) error

func (Webhook) SetUseDefault

func (c Webhook) SetUseDefault(b bool)

func (Webhook) UseDefault

func (c Webhook) UseDefault() bool

func (*Webhook) Validate added in v1.2.0

func (w *Webhook) Validate() error

type WebhookConfig

type WebhookConfig struct {
}

type Wechat

type Wechat struct {
	Template     string
	TmplType     string
	ToUser       []string
	ToParty      []string
	ToTag        []string
	WechatConfig *WechatConfig
	Selector     *metav1.LabelSelector
	// contains filtered or unexported fields
}

func (*Wechat) Clone

func (w *Wechat) Clone() *Wechat

func (Wechat) Enabled added in v1.0.0

func (c Wechat) Enabled() bool

func (*Wechat) GetConfig

func (w *Wechat) GetConfig() interface{}

func (Wechat) GetConfigSelector added in v1.2.0

func (c Wechat) GetConfigSelector() *metav1.LabelSelector

func (Wechat) GetType added in v1.2.0

func (c Wechat) GetType() string

func (*Wechat) SetConfig

func (w *Wechat) SetConfig(obj interface{}) error

func (Wechat) SetUseDefault

func (c Wechat) SetUseDefault(b bool)

func (Wechat) UseDefault

func (c Wechat) UseDefault() bool

func (*Wechat) Validate added in v1.2.0

func (w *Wechat) Validate() error

type WechatConfig

type WechatConfig struct {
	APISecret *v2beta2.Credential
	CorpID    string
	APIURL    string
	AgentID   string
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL