config

package
v0.0.0-...-a7f2a9d Latest Latest
Warning

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

Go to latest
Published: Oct 10, 2025 License: MIT Imports: 5 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 {
	// Server configuration
	HTTPAddr string `validate:"required"`

	// Database configuration
	Database DatabaseConfig `validate:"required"`

	// Logging configuration
	LogLevel string `validate:"required,oneof=debug info warn error"`

	// Observability configuration
	Observability ObservabilityConfig

	// Pagination configuration
	Pagination PaginationConfig `validate:"required"`
}

Config holds all configuration for the application

func Load

func Load() (*Config, error)

Load loads configuration from environment variables

type DatabaseConfig

type DatabaseConfig struct {
	Host            string        `validate:"required"`
	Port            int           `validate:"required,min=1,max=65535"`
	User            string        `validate:"required"`
	Password        string        `validate:"required"`
	Name            string        `validate:"required"`
	SSLMode         string        `validate:"required,oneof=disable require verify-ca verify-full"`
	MaxOpenConns    int           `validate:"min=1"`
	MaxIdleConns    int           `validate:"min=1"`
	ConnMaxLifetime time.Duration `validate:"required"`
}

DatabaseConfig holds database connection settings

func (DatabaseConfig) ConnectionString

func (d DatabaseConfig) ConnectionString() string

ConnectionString returns the PostgreSQL connection string

type ObservabilityConfig

type ObservabilityConfig struct {
	MetricsEnabled           bool
	OTelExporterOTLPEndpoint string
}

ObservabilityConfig holds observability settings

type PaginationConfig

type PaginationConfig struct {
	DefaultLimit int `validate:"required,min=1"`
	MaxLimit     int `validate:"required,min=1"`
}

PaginationConfig holds pagination settings

Jump to

Keyboard shortcuts

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