Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FlyteEmailToSesEmailInput

func FlyteEmailToSesEmailInput(email admin.EmailMessage) ses.SendEmailInput

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 NewPublisher(pub pubsub.Publisher, scope promutils.Scope) interfaces.Publisher

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 NoopEmail

type NoopEmail struct{}

Email to use when there is no email configuration.

func (*NoopEmail) SendEmail

func (n *NoopEmail) SendEmail(ctx context.Context, email admin.EmailMessage) 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{}

func (*NoopPublish) Publish

func (n *NoopPublish) Publish(ctx context.Context, notificationType string, msg proto.Message) error

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

func (p *Processor) StopProcessing() error

type Publisher

type Publisher struct {
	// contains filtered or unexported fields
}

TODO: Add a counter that encompasses the publisher stats grouped by project and domain.

func (*Publisher) Publish

func (p *Publisher) Publish(ctx context.Context, notificationType string, msg proto.Message) error

The key is the notification type as defined as an enum.