cfg

package
v0.1.3 Latest Latest
Warning

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

Go to latest
Published: Oct 15, 2025 License: MIT Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GenerateDefaultEnvs

func GenerateDefaultEnvs(cfg any, _ string, opts ...Option) error

func GenerateFlags

func GenerateFlags(cfg any, opts ...Option) (string, error)

func GenerateMarkdown

func GenerateMarkdown(cfg any, filePath string, opts ...Option) error

func GenerateYamlTemplate

func GenerateYamlTemplate(cfg any, filePath string, opts ...Option) error

func GetConfigLoader

func GetConfigLoader(cfg any, opts ...Option) (*aconfig.Loader, error)

GetConfigLoader returns aconfig loader instance.

func Load

func Load(cfg any, opts ...Option) error

Load environment variables from `os env`, flags, `.env`, `.yaml` files and pass it to struct.

For local development use `.env` file from root project.

Load also call a `Validate` method if it proided.

Example:

var config internalConfig.Config
if err := cfg.Load(&config); err != nil {
	logger.Fatalf("could not load configuration: %v", err)
}

func LoadForTests

func LoadForTests(cfg any, opts ...Option) error

LoadForTests environment variables from `os env`, flags, `.env`, `.yaml` files and pass it to struct.

Disabled flags detection and any cli features.

For local development use `.env` file from root project.

LoadForTests also call a `Validate` method if it proided.

Example:

var config internalConfig.Config
if err := cfg.LoadForTests(&config); err != nil {
	logger.Fatalf("could not load configuration: %v", err)
}

func ValidateConfig

func ValidateConfig(cfg any, opts ...Option) error

ValidateConfig validates config struct with environment variables and custom validation functions.

Types

type Config

type Config = aconfig.Config

type ConfigField

type ConfigField struct {
	Path              string
	EnvName           string
	DefaultValue      string
	Usage             string
	Example           string
	ValidateParams    string
	IsRequired        bool
	IsSecret          bool
	DisableValidation bool
}

func GetConfigFields

func GetConfigFields(loader *aconfig.Loader) []ConfigField

type Option

type Option func(*options)

func WithContext

func WithContext(v context.Context) Option

func WithLoaderConfig

func WithLoaderConfig(v Config) Option

WithEnvFile - path to dotenv config file.

func WithValidate

func WithValidate(v bool) Option

func WithValidateFuncs

func WithValidateFuncs(items ...ValidateFn) Option

type ValidateFn

type ValidateFn struct {
	Tag                      string
	Fn                       validator.Func
	CallValidationEvenIfNull []bool
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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