config

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Jul 3, 2021 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// App is the application name.
	App = "urlshortener"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	Logger     Logger       `mapstructure:"logger"`
	Server     Server       `mapstructure:"server"`
	Redis      Redis        `mapstructure:"redis"`
	Database   Database     `mapstructure:"database"`
	Nats       nats.Options `mapstructure:"nats"`
	Monitoring Monitoring   `mapstructure:"monitoring"`
}

Config represents application configuration struct.

func Init

func Init() Config

Init initializes application configuration.

func (Config) Validate

func (c Config) Validate() error

Validate validates Config struct.

type Database

type Database struct {
	Driver        string `mapstructure:"driver"`
	MasterConnStr string `mapstructure:"master-conn-string"`
	SlaveConnStr  string `mapstructure:"slave-conn-string"`
}

Database represents database configuration struct.

func (Database) Validate

func (d Database) Validate() error

Validate validates Database struct.

type Logger

type Logger struct {
	AccessLogger log.AccessLogger `mapstructure:"access"`
	AppLogger    log.AppLogger    `mapstructure:"app"`
}

Logger represents logger configuration struct.

type Monitoring

type Monitoring struct {
	Prometheus prometheus.Config `mapstructure:"prometheus"`
}

Monitoring represents monitoring configuration struct.

type Redis

type Redis struct {
	MasterAddress string        `mapstructure:"master-address"`
	SlaveAddress  string        `mapstructure:"slave-address"`
	Options       redis.Options `mapstructure:"options"`
}

Redis represents Redis configuration struct.

type Server

type Server struct {
	Address         string        `mapstructure:"address"`
	ReadTimeout     time.Duration `mapstructure:"read-timeout"`
	WriteTimeout    time.Duration `mapstructure:"write-timeout"`
	GracefulTimeout time.Duration `mapstructure:"graceful-timeout"`
}

Server represents server configuration struct.

Jump to

Keyboard shortcuts

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