mqinfra

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Aug 13, 2026 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidConfig      = fmt.Errorf("invalid config")
	ErrInfraUnimplemented = fmt.Errorf("unimplemented infra")
)

Functions

func DefaultAWSSQSDLQName added in v1.2.0

func DefaultAWSSQSDLQName(topic string) string

func DefaultGCPPubSubDLQSubscriptionName added in v1.2.0

func DefaultGCPPubSubDLQSubscriptionName(dlqTopicID string) string

func DefaultGCPPubSubDLQTopicName added in v1.2.0

func DefaultGCPPubSubDLQTopicName(topicID string) string

func DefaultRabbitMQDLQName added in v1.2.0

func DefaultRabbitMQDLQName(queue string) string

Types

type AWSSQSInfraConfig added in v0.3.0

type AWSSQSInfraConfig struct {
	Endpoint                  string
	Region                    string
	ServiceAccountCredentials string
	Topic                     string
	DLQ                       string // optional
}

type AzureServiceBusInfraConfig added in v0.3.0

type AzureServiceBusInfraConfig struct {
	ConnectionString string // If set, skip infra management

	TenantID       string
	ClientID       string
	ClientSecret   string
	SubscriptionID string
	ResourceGroup  string
	Namespace      string
	Topic          string
	Subscription   string
}

type GCPPubSubInfraConfig added in v0.3.0

type GCPPubSubInfraConfig struct {
	ProjectID                 string
	TopicID                   string
	SubscriptionID            string
	DLQTopicID                string // optional
	DLQSubscriptionID         string // optional
	ServiceAccountCredentials string
	MinRetryBackoff           int // seconds, for PubSub RetryPolicy (default: 10)
	MaxRetryBackoff           int // seconds, for PubSub RetryPolicy (default: 600)
}

type MQInfra

type MQInfra interface {
	Exist(ctx context.Context) (bool, error)
	Declare(ctx context.Context) error
	TearDown(ctx context.Context) error
}

func New

func New(cfg *MQInfraConfig) MQInfra

type MQInfraConfig added in v0.3.0

type MQInfraConfig struct {
	AWSSQS          *AWSSQSInfraConfig
	AzureServiceBus *AzureServiceBusInfraConfig
	GCPPubSub       *GCPPubSubInfraConfig
	RabbitMQ        *RabbitMQInfraConfig

	Policy Policy
}

type Policy added in v0.3.0

type Policy struct {
	VisibilityTimeout int
	RetryLimit        int
}

type RabbitMQInfraConfig added in v0.3.0

type RabbitMQInfraConfig struct {
	ServerURL string
	Exchange  string
	Queue     string
	DLQ       string // optional
}

Jump to

Keyboard shortcuts

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