config

package
v2.1.1 Latest Latest
Warning

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

Go to latest
Published: Sep 13, 2026 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const MaxNameLength int = 10

Variables

This section is empty.

Functions

func LoadVersion

func LoadVersion(cfg *Config)

func NewBodyDumpLog

func NewBodyDumpLog(rotationCount uint) error

Types

type Config

type Config struct {
	AppName              string  `env:"APP_NAME" envDefault:"Go Application Programming Interface (API)"`
	AppPort              string  `env:"APP_PORT,notEmpty"`
	AppLocation          string  `env:"APP_LOCATION" envDefault:"Asia/Jakarta"`
	AppDebug             bool    `env:"APP_DEBUG" envDefault:"false"`
	AppVersion           string  `env:"APP_VERSION" envDefault:"v1.0.0"`
	AppKey               string  `env:"APP_KEY,notEmpty"`
	AppTimeout           int     `env:"APP_TIMEOUT" envDefault:"5"`
	AppShutdownTimeout   int     `env:"APP_SHUTDOWN_TIMEOUT" envDefault:"10"`
	AppRateLimit         float64 `env:"APP_RATE_LIMIT" envDefault:"10.0"`
	AppRateLimitDeadline int     `env:"APP_RATE_LIMIT_DEADLINE" envDefault:"60"`

	UseBodyDumpLog           bool `env:"USE_BODY_DUMP_LOG" envDefault:"false"`
	BodyDumpLogRotationCount uint `env:"BODY_DUMP_LOG_ROTATION_COUNT" envDefault:"30"`

	UseDatabase            bool   `env:"USE_DATABASE" envDefault:"false"`
	DatabaseConnection     string `env:"DATABASE_CONNECTION"`
	DatabaseHost           string `env:"DATABASE_HOST"`
	DatabasePort           string `env:"DATABASE_PORT"`
	DatabaseUsername       string `env:"DATABASE_USERNAME"`
	DatabasePassword       string `env:"DATABASE_PASSWORD"`
	DatabaseName           string `env:"DATABASE_NAME"`
	DatabaseSSLMode        string `env:"DATABASE_SSL_MODE" envDefault:"disable"`
	DatabaseParseTime      string `env:"DATABASE_PARSE_TIME" envDefault:"True"`
	DatabaseCharset        string `env:"DATABASE_CHARSET" envDefault:"utf8mb4"`
	DatabaseTimezone       string `env:"DATABASE_TIMEZONE" envDefault:"Asia/Jakarta"`
	DatabaseConnectTimeout string `env:"DATABASE_CONNECT_TIMEOUT" envDefault:"5"`

	UseCache        bool   `env:"USE_CACHE" envDefault:"false"`
	CacheConnection string `env:"CACHE_CONNECTION"`
	CacheHost       string `env:"CACHE_HOST"`
	CachePort       string `env:"CACHE_PORT"`
	CacheUsername   string `env:"CACHE_USERNAME"`
	CachePassword   string `env:"CACHE_PASSWORD"`

	UseObjectStorage        bool   `env:"USE_OBJECT_STORAGE" envDefault:"false"`
	ObjectStorageConnection string `env:"OBJECT_STORAGE_CONNECTION"`
	ObjectStorageHost       string `env:"OBJECT_STORAGE_HOST"`
	ObjectStoragePort       string `env:"OBJECT_STORAGE_PORT"`
	ObjectStorageUsername   string `env:"OBJECT_STORAGE_USERNAME"`
	ObjectStoragePassword   string `env:"OBJECT_STORAGE_PASSWORD"`
	ObjectStorageSSL        bool   `env:"OBJECT_STORAGE_SSL"`

	UseMessageBroker        bool   `env:"USE_MESSAGE_BROKER" envDefault:"false"`
	MessageBrokerConnection string `env:"MESSAGE_BROKER_CONNECTION"`
	MessageBrokerHost       string `env:"MESSAGE_BROKER_HOST"`
	MessageBrokerPort       string `env:"MESSAGE_BROKER_PORT"`
	MessageBrokerUsername   string `env:"MESSAGE_BROKER_USERNAME"`
	MessageBrokerPassword   string `env:"MESSAGE_BROKER_PASSWORD"`
	MessageBrokerName       string `env:"MESSAGE_BROKER_NAME"`
	MessageBrokerPartition  int    `env:"MESSAGE_BROKER_PARTITION"`

	AllowedOrigins []string `env:"ALLOWED_ORIGINS" envSeparator:","`
}

func New

func New() (*Config, error)

Jump to

Keyboard shortcuts

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