Documentation ¶
Index ¶
- Constants
- Variables
- func NebulaEmailToSesEmailInput(email admin.EmailMessage) ses.SendEmailInput
- func NewAwsEmailer(config runtimeInterfaces.NotificationsConfig, scope promutils.Scope, ...) interfaces.Emailer
- func NewEventsPublisher(pub pubsub.Publisher, scope promutils.Scope, eventTypes []string) interfaces.Publisher
- func NewGcpProcessor(sub pubsub.Subscriber, emailer interfaces.Emailer, scope promutils.Scope) interfaces.Processor
- func NewNoopEmail() interfaces.Emailer
- func NewNoopProcess() interfaces.Processor
- func NewNoopPublish() interfaces.Publisher
- func NewProcessor(sub pubsub.Subscriber, emailer interfaces.Emailer, scope promutils.Scope) interfaces.Processor
- func NewPublisher(pub pubsub.Publisher, scope promutils.Scope) interfaces.Publisher
- func NewSandboxProcessor(subChan <-chan []byte, emailer interfaces.Emailer) interfaces.Processor
- func NewSendGridEmailer(config runtimeInterfaces.NotificationsConfig, scope promutils.Scope) interfaces.Emailer
- type AwsEmailer
- type EventPublisher
- type EventPublisherSystemMetrics
- type ExternalEmailer
- type GcpProcessor
- type NoopEmail
- type NoopProcess
- type NoopPublish
- type Processor
- type Publisher
- type SandboxProcessor
- type SandboxPublisher
- type SendgridEmailer
Constants ¶
View Source
const ( Task = "task" Node = "node" Workflow = "workflow" AllTypes = "all" AllTypesShort = "*" )
Variables ¶
View Source
var SupportedEvents = map[string]string{ Task: proto.MessageName(&taskExecutionReq), Node: proto.MessageName(&nodeExecutionReq), Workflow: proto.MessageName(&workflowExecutionReq), }
Functions ¶
func NebulaEmailToSesEmailInput ¶
func NebulaEmailToSesEmailInput(email admin.EmailMessage) ses.SendEmailInput
func NewAwsEmailer ¶
func NewAwsEmailer(config runtimeInterfaces.NotificationsConfig, scope promutils.Scope, awsEmail sesiface.SESAPI) interfaces.Emailer
func NewEventsPublisher ¶
func NewGcpProcessor ¶
func NewGcpProcessor(sub pubsub.Subscriber, emailer interfaces.Emailer, scope promutils.Scope) interfaces.Processor
func NewNoopEmail ¶
func NewNoopEmail() interfaces.Emailer
func NewNoopProcess ¶
func NewNoopProcess() interfaces.Processor
func NewNoopPublish ¶
func NewNoopPublish() interfaces.Publisher
func NewProcessor ¶
func NewProcessor(sub pubsub.Subscriber, emailer interfaces.Emailer, scope promutils.Scope) interfaces.Processor
func NewPublisher ¶
func NewSandboxProcessor ¶
func NewSandboxProcessor(subChan <-chan []byte, emailer interfaces.Emailer) interfaces.Processor
func NewSendGridEmailer ¶
func NewSendGridEmailer(config runtimeInterfaces.NotificationsConfig, scope promutils.Scope) interfaces.Emailer
Types ¶
type AwsEmailer ¶
type AwsEmailer struct {
// contains filtered or unexported fields
}
func (*AwsEmailer) SendEmail ¶
func (e *AwsEmailer) SendEmail(ctx context.Context, email admin.EmailMessage) error
type EventPublisher ¶
type EventPublisher struct {
// contains filtered or unexported fields
}
TODO: Add a counter that encompasses the publisher stats grouped by project and domain.
type EventPublisherSystemMetrics ¶
type EventPublisherSystemMetrics struct { Scope promutils.Scope PublishTotal prometheus.Counter PublishSuccess prometheus.Counter PublishError prometheus.Counter }
func NewEventPublisherSystemMetrics ¶
func NewEventPublisherSystemMetrics(scope promutils.Scope) EventPublisherSystemMetrics
type ExternalEmailer ¶
type ExternalEmailer = string
const (
Sendgrid ExternalEmailer = "sendgrid"
)
type GcpProcessor ¶
type GcpProcessor struct {
// contains filtered or unexported fields
}
TODO: Add a counter that encompasses the publisher stats grouped by project and domain.
func (*GcpProcessor) StartProcessing ¶
func (p *GcpProcessor) StartProcessing()
func (*GcpProcessor) StopProcessing ¶
func (p *GcpProcessor) StopProcessing() error
type NoopProcess ¶
type NoopProcess struct{}
func (*NoopProcess) StartProcessing ¶
func (n *NoopProcess) StartProcessing()
func (*NoopProcess) StopProcessing ¶
func (n *NoopProcess) StopProcessing() error
type NoopPublish ¶
type NoopPublish struct{}
type Processor ¶
type Processor struct {
// contains filtered or unexported fields
}
TODO: Add a counter that encompasses the publisher stats grouped by project and domain.
func (*Processor) StartProcessing ¶
func (p *Processor) StartProcessing()
Currently only email is the supported notification because slack and pagerduty both use email client to trigger those notifications. When Pagerduty and other notifications are supported, a publisher per type should be created.
func (*Processor) StopProcessing ¶
type Publisher ¶
type Publisher struct {
// contains filtered or unexported fields
}
TODO: Add a counter that encompasses the publisher stats grouped by project and domain.
type SandboxProcessor ¶
type SandboxProcessor struct {
// contains filtered or unexported fields
}
func (*SandboxProcessor) StartProcessing ¶
func (p *SandboxProcessor) StartProcessing()
func (*SandboxProcessor) StopProcessing ¶
func (p *SandboxProcessor) StopProcessing() error
type SandboxPublisher ¶
type SandboxPublisher struct {
// contains filtered or unexported fields
}
func NewSandboxPublisher ¶
func NewSandboxPublisher(pubChan chan<- []byte) *SandboxPublisher
type SendgridEmailer ¶
type SendgridEmailer struct {
// contains filtered or unexported fields
}
func (SendgridEmailer) SendEmail ¶
func (s SendgridEmailer) SendEmail(ctx context.Context, email admin.EmailMessage) error
Click to show internal directories.
Click to hide internal directories.