config

package
v2.4.2 Latest Latest
Warning

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

Go to latest
Published: Feb 5, 2024 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	Listener   ListenerCfg   `env:",prefix=LISTENER_"`
	Database   DatabaseCfg   `env:",prefix=DB_"`
	Nats       NatsCfg       `env:",prefix=NATS_"`
	PubSub     PubSubCfg     `env:",prefix=PUBSUB_"`
	Logger     LoggerCfg     `env:",prefix=LOG_"`
	Monitoring MonitoringCfg `env:",prefix=MONITOR_"`
}

Config for wal-listener

func (Config) Validate

func (c Config) Validate() error

Validate config data.

type DatabaseCfg

type DatabaseCfg struct {
	DSN string `valid:"required" env:"DSN,overwrite"`
}

DatabaseCfg path of the PostgreSQL DB config.

type FilterStruct

type FilterStruct struct {
	Tables map[string][]string
}

FilterStruct incoming WAL message filter.

type ListenerCfg

type ListenerCfg struct {
	SlotName          string        `valid:"required" env:"SLOT_NAME,overwrite"`
	AckTimeout        time.Duration `env:"ACK_TIMEOUT,overwrite"`
	RefreshConnection time.Duration `valid:"required" env:"REFRESH_TIMEOUT,overwrite"`
	HeartbeatInterval time.Duration `valid:"required" env:"HEARTBEAT_INTERVAL,overwrite"`
	Filter            FilterStruct  `env:"FILTER,overwrite"`
	TopicsMap         map[string]string
}

ListenerCfg path of the listener config.

type LoggerCfg

type LoggerCfg struct {
	Caller bool   `env:"CALLER,overwrite"`
	Level  string `env:"LEVEL,overwrite"`
	Format string `env:"FORMAT,overwrite"`
}

LoggerCfg path of the logger config.

type MonitoringCfg

type MonitoringCfg struct {
	SentryDSN string `env:"SENTRY_DSN,overwrite"`
	PromAddr  string `env:"PROMETHEUS_ADDRESS,overwrite"`
}

MonitoringCfg monitoring configuration.

type NatsCfg

type NatsCfg struct {
	Enabled     bool        `env:"ENABLED,overwrite"`
	Address     string      `env:"ADDRESS,overwrite"`
	StreamName  string      `env:"STREAM_NAME,overwrite"`
	TopicPrefix string      `env:"TOPIC_PREFIX,overwrite"`
	MTLS        NatsMtlsCfg `env:",prefix=MTLS_"`
}

NatsCfg path of the NATS config.

type NatsMtlsCfg

type NatsMtlsCfg struct {
	CertPath           string `env:"CERT_PATH,overwrite,default=/etc/nats-certs/clients"`
	CertFile           string `env:"CERT_FILE,overwrite,default=tls.crt"`
	KeyFile            string `env:"KEY_FILE,overwrite,default=tls.key"`
	CAFile             string `env:"CA_FILE,overwrite,default=ca.crt"`
	InsecureSkipVerify bool   `env:"INSECURE_SKIP_VERIFY,overwrite,default=false"`
	Enabled            bool   `env:"ENABLED,overwrite,default=false"`
}

Nats TLS Coniguration

type PubSubCfg added in v2.4.0

type PubSubCfg struct {
	Enabled   bool   `env:"ENABLED,overwrite"`
	Topic     string `env:"TOPIC,overwrite"`
	ProjectID string `env:"PROJECT_ID,overwrite"`
}

Jump to

Keyboard shortcuts

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