implementations

package
v0.0.0-...-267b159 Latest Latest
Warning

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

Go to latest
Published: Dec 17, 2023 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

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 NewEventsPublisher

func NewEventsPublisher(pub pubsub.Publisher, scope promutils.Scope, eventTypes []string) interfaces.Publisher

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

func NewSandboxProcessor

func NewSandboxProcessor(subChan <-chan []byte, emailer interfaces.Emailer) interfaces.Processor

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.

func (*EventPublisher) Publish

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

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

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 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.

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

func (*SandboxPublisher) Publish

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

type SendgridEmailer

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

func (SendgridEmailer) SendEmail

func (s SendgridEmailer) SendEmail(ctx context.Context, email admin.EmailMessage) error

Jump to

Keyboard shortcuts

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