config

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Jun 9, 2026 License: Apache-2.0 Imports: 6 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 {
	LogLevel  string `env:"LOG_LEVEL, default=info"`
	LogFormat string `env:"LOG_FORMAT, default=json"`
}

func (Config) IsDebug

func (c Config) IsDebug() bool

type DatabaseConfig

type DatabaseConfig struct {
	MysqlShellBinaryPath string `env:"MYSQL_SHELL_BINARY_PATH, default=/opt/mysqlsh/bin/mysqlsh"`
	MysqlDumpBinaryPath  string `env:"MYSQL_DUMP_BINARY_PATH, default=mysqldump"`
	Host                 string `env:"HOST"`
	Port                 int32  `env:"PORT, default=3306"`
	User                 string `env:"USER"`
	Password             string `env:"PASSWORD"`
	Database             string `env:"DATABASE"`
	Version              string `env:"VERSION"`
	Options              string `env:"OPTIONS"`
	SSLMode              string `env:"SSL_MODE, default=disable"`
}

type NatsHandler

type NatsHandler struct {
	Enable          bool   `env:"ENABLE, default=false"`
	NkeyFile        string `env:"NKEY_FILE"`
	CredentialsFile string `env:"CREDENTIALS_FILE"`
	Address         string `env:"ADDRESS, default=nats://localhost:4222"`
	NatsTopic       string `env:"TOPIC, default=shopware-events"`
}

type S3Config

type S3Config struct {
	// Specified when running in an EKS cluster with IAM roles for service accounts
	RoleARN              string `env:"ROLE_ARN"`
	WebIdentityTokenFile string `env:"WEB_IDENTITY_TOKEN_FILE"`
	STSReginalEndpoints  string `env:"STS_REGIONAL_ENDPOINTS, default=regional"`
	DefaultRegion        string `env:"DEFAULT_REGION, default=eu-central-1"`
	Region               string `env:"REGION, default=eu-central-1"`

	Endpoint        string `env:"ENDPOINT, default=s3.eu-central-1.amazonaws.com"`
	AccessKeyID     string `env:"ACCESS_KEY_ID"`
	SecretAccessKey string `env:"SECRET_ACCESS_KEY"`
	SessionToken    string `env:"SESSION_TOKEN"`

	PrivateBucket string `env:"PRIVATE_BUCKET"`
	PublicBucket  string `env:"PUBLIC_BUCKET"`
}

type SnapshotConfig

type SnapshotConfig struct {
	Config
	Database      DatabaseConfig `env:",prefix=DB_"`
	S3            S3Config       `env:",prefix=AWS_"`
	MetaStoreJson string         `env:"META_STORE_STATE"`
}

func LoadSnapshotConfig

func LoadSnapshotConfig(ctx context.Context) (*SnapshotConfig, error)

type StoreConfig

type StoreConfig struct {
	Config
	NatsHandler NatsHandler `env:",prefix=NATS_"`

	// Metrics and health probe configuration
	MetricsAddr string `env:"METRICS_BIND_ADDRESS, default=0"`
	ProbeAddr   string `env:"HEALTH_PROBE_BIND_ADDRESS, default=:8081"`

	EnableLeaderElection bool   `env:"LEADER_ELECT, default=true"`
	DisableChecks        bool   `env:"DISABLE_CHECKS, default=false"`
	Namespace            string `env:"NAMESPACE, default=default"`

	SuccessfulCRCleanupGracePeriod time.Duration `env:"SUCCESSFUL_CR_CLEANUP_GRACE_PERIOD, default=1h"`
}

func LoadStoreConfig

func LoadStoreConfig(ctx context.Context) (*StoreConfig, error)

func (StoreConfig) String

func (c StoreConfig) String() string

Jump to

Keyboard shortcuts

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