config

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: May 22, 2020 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Configuration

type Configuration struct {
	ReadinessFilePath string `envconfig:"READINESS_FILE_PATH" default:"/tmp/pubsub-adapter-ready"`
	LogLevel          string `envconfig:"LOG_LEVEL" default:"ERROR"`

	// Rabbit
	RabbitHost             string `envconfig:"RABBIT_HOST" required:"true"`
	RabbitPort             string `envconfig:"RABBIT_PORT" required:"true"`
	RabbitUsername         string `envconfig:"RABBIT_USERNAME" required:"true"`
	RabbitPassword         string `envconfig:"RABBIT_PASSWORD"  required:"true"  json:"-"`
	RabbitVHost            string `envconfig:"RABBIT_VHOST"  default:"/"`
	RabbitConnectionString string `json:"-"`
	EventsExchange         string `envconfig:"RABBIT_EXCHANGE"  default:"events"`
	ReceiptRoutingKey      string `envconfig:"RECEIPT_ROUTING_KEY"  default:"event.response.receipt"`
	UndeliveredRoutingKey  string `envconfig:"UNDELIVERED_ROUTING_KEY"  default:"event.fulfilment.undelivered"`
	DlqRoutingKey          string `envconfig:"DLQ_ROUTING_KEY"  default:"pubsub.quarantine"`
	FulfilmentRoutingKey   string `envconfig:"FULFILMENT_ROUTING_KEY"  default:"event.fulfilment.confirmation"`

	// PubSub
	EqReceiptProject                string `envconfig:"EQ_RECEIPT_PROJECT" required:"true"`
	EqReceiptSubscription           string `envconfig:"EQ_RECEIPT_SUBSCRIPTION" default:"rm-receipt-subscription"`
	EqReceiptTopic                  string `envconfig:"EQ_RECEIPT_TOPIC" default:"eq-submission-topic"`
	OfflineReceiptProject           string `envconfig:"OFFLINE_RECEIPT_PROJECT" required:"true"`
	OfflineReceiptSubscription      string `envconfig:"OFFLINE_RECEIPT_SUBSCRIPTION" default:"rm-offline-receipt-subscription"`
	OfflineReceiptTopic             string `envconfig:"OFFLINE_RECEIPT_TOPIC" default:"offline-receipt-topic"`
	PpoUndeliveredProject           string `envconfig:"PPO_UNDELIVERED_SUBSCRIPTION_PROJECT" required:"true"`
	PpoUndeliveredSubscription      string `envconfig:"PPO_UNDELIVERED_SUBSCRIPTION" default:"rm-ppo-undelivered-subscription"`
	PpoUndeliveredTopic             string `envconfig:"PPO_UNDELIVERED_TOPIC" default:"ppo-undelivered-topic"`
	QmUndeliveredProject            string `envconfig:"QM_UNDELIVERED_SUBSCRIPTION_PROJECT" required:"true"`
	QmUndeliveredSubscription       string `envconfig:"QM_UNDELIVERED_SUBSCRIPTION" default:"rm-qm-undelivered-subscription"`
	QmUndeliveredTopic              string `envconfig:"QM_UNDELIVERED_TOPIC" default:"qm-undelivered-topic"`
	FulfilmentConfirmedProject      string `envconfig:"FULFILMENT_CONFIRMED_PROJECT" required:"true"`
	FulfilmentConfirmedSubscription string `envconfig:"FULFILMENT_CONFIRMED_SUBSCRIPTION" default:"fulfilment-subscription"`
	FulfilmentConfirmedTopic        string `envconfig:"FULFILMENT_CONFIRMED_TOPIC" default:"fulfilment-topic"`
}

func GetConfig

func GetConfig() (*Configuration, error)

func (Configuration) String

func (config Configuration) String() string

String is implemented to prevent sensitive fields being logged. The config is returned as JSON with sensitive fields omitted.

Jump to

Keyboard shortcuts

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