config

package
v0.0.0-...-e38db06 Latest Latest
Warning

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

Go to latest
Published: Apr 16, 2024 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 Configuration

type Configuration struct {
	External External `validate:"required"`
	HTTP     HTTP     `validate:"required"`
	Logger   Logger   `validate:"required"`
	Metadata Metadata `validate:"required"`
	Postgres Postgres `validate:"required"`
}

Configuration defines application configuration

func LoadConfiguration

func LoadConfiguration() (*Configuration, error)

LoadConfiguration loads config parameters on startup

type External

type External struct {
	Example struct {
		Host    string
		Timeout uint
	}
}

External defines external service configuration

type HTTP

type HTTP struct {
	Router struct {
		Namespace string `validate:"required"`
		Paging    struct {
			DefaultLimit uint `validate:"required"`
		}
		Sorting struct {
			DefaultAttr  string `validate:"required"`
			DefaultOrder string `validate:"required"`
		} `validate:"required"`
	} `validate:"required"`
	Server struct {
		Host string
		Port uint `validate:"required,max=65535"`
	} `validate:"required"`
}

HTTP defines HTTP Server configuration

type Logger

type Logger struct {
	Enabled bool
	Level   string `validate:"oneof=debug info warn error"`
	Verbose bool
}

Logger defines the primary logger configuration

type Metadata

type Metadata struct {
	Environment string `validate:"oneof=development production"`
	Name        string
	Version     string
}

Metadata defines application metadata

type Postgres

type Postgres struct {
	Database string `validate:"required"`
	Host     string `validate:"required"`
	Password string `validate:"required"`
	Port     uint   `validate:"required,max=65535"`
	User     string `validate:"required"`
}

Postgres defines the postgres connection parameters

Jump to

Keyboard shortcuts

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