entrypoint

package
v0.0.7 Latest Latest
Warning

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

Go to latest
Published: Aug 1, 2025 License: MIT Imports: 24 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrNothingToDo = errors.New("no services configured")

Functions

This section is empty.

Types

type AWSConfigBuilder added in v0.0.7

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

func NewAWSConfigBuilder added in v0.0.7

func NewAWSConfigBuilder(provided aws.Config) *AWSConfigBuilder

func NewDefaultAWSConfigBuilder added in v0.0.7

func NewDefaultAWSConfigBuilder(ctx context.Context) (*AWSConfigBuilder, error)

func (*AWSConfigBuilder) Credentials added in v0.0.7

func (acb *AWSConfigBuilder) Credentials() aws.CredentialsProvider

func (*AWSConfigBuilder) EventBridge added in v0.0.7

func (acb *AWSConfigBuilder) EventBridge() EventBridgeAPI

func (*AWSConfigBuilder) Region added in v0.0.7

func (acb *AWSConfigBuilder) Region() string

func (*AWSConfigBuilder) SNS added in v0.0.7

func (acb *AWSConfigBuilder) SNS() SNSAPI

func (*AWSConfigBuilder) SQS added in v0.0.7

func (acb *AWSConfigBuilder) SQS() SQSAPI

type AWSProvider added in v0.0.7

type AWSProvider interface {
	SNS() SNSAPI
	SQS() SQSAPI
	EventBridge() EventBridgeAPI

	Region() string
	Credentials() aws.CredentialsProvider
}

type Config

type Config struct {
	AppName         string `env:"APP_NAME" `
	EnvironmentName string `env:"ENVIRONMENT_NAME" `
	SidecarVersion  string // set from main

	ServerConfig httpserver.ServerConfig
	WorkerConfig queueworker.WorkerConfig
	ProxyConfig  pgproxy.ProxyConfig

	OutboxConfig      pgoutbox.OutboxConfig
	BridgeConfig      bridge.BridgeConfig
	EventBridgeConfig eventbridge.EventBridgeConfig

	ServiceEndpoints []string `env:"SERVICE_ENDPOINT" default:""`
}

type EventBridgeAPI added in v0.0.7

type EventBridgeAPI interface {
	PutEvents(ctx context.Context, params *eventbridge.PutEventsInput, optFns ...func(*eventbridge.Options)) (*eventbridge.PutEventsOutput, error)
}

EventBridgeAPI is an interface for the EventBridge client which satisfies the interfaces of other packages

type Publisher added in v0.0.7

type Publisher interface {
	pgoutbox.Batcher
	queueworker.Publisher
}

type Runtime

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

func FromConfig

func FromConfig(envConfig Config, awsConfig AWSProvider) (*Runtime, error)

func NewRuntime

func NewRuntime() *Runtime

func (*Runtime) Close

func (rt *Runtime) Close() error

func (*Runtime) Run

func (rt *Runtime) Run(ctx context.Context) error

type SNSAPI added in v0.0.7

type SNSAPI interface {
	PublishBatch(ctx context.Context, params *sns.PublishBatchInput, optFns ...func(*sns.Options)) (*sns.PublishBatchOutput, error)
	Publish(ctx context.Context, params *sns.PublishInput, optFns ...func(*sns.Options)) (*sns.PublishOutput, error)
}

SNSAPI is an interface for the SNS client which satisfies the interfaces of other packages

type SQSAPI added in v0.0.7

type SQSAPI interface {
	ReceiveMessage(ctx context.Context, input *sqs.ReceiveMessageInput, opts ...func(*sqs.Options)) (*sqs.ReceiveMessageOutput, error)
	DeleteMessage(ctx context.Context, input *sqs.DeleteMessageInput, opts ...func(*sqs.Options)) (*sqs.DeleteMessageOutput, error)
}

SQSAPI is an interface for the SQS client which satisfies the interfaces of other packages

Jump to

Keyboard shortcuts

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