config

package
v0.0.0-...-514f96b Latest Latest
Warning

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

Go to latest
Published: May 29, 2023 License: Apache-2.0 Imports: 6 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 {
	Environment EnvType `envconfig:"ENVIRONMENT" required:"true"`
	HTTP        HTTP
	Postgres    Postgres
	Report      Report
	Logger      Logger
}

func Get

func Get() *Config

func (*Config) IsDev

func (c *Config) IsDev() bool

func (*Config) IsProd

func (c *Config) IsProd() bool

func (*Config) IsTest

func (c *Config) IsTest() bool

type EnvType

type EnvType string

type HTTP

type HTTP struct {
	Host           string        `envconfig:"HTTP_HOST"             required:"true"`
	Port           string        `envconfig:"HTTP_PORT"             required:"true"`
	MaxHeaderBytes int           `envconfig:"HTTP_MAX_HEADER_BYTES"                 default:"1"`
	ReadTimeout    time.Duration `envconfig:"HTTP_READ_TIMEOUT"                     default:"10s"`
	WriteTimeout   time.Duration `envconfig:"HTTP_WRITE_TIMEOUT"                    default:"10s"`
}

type Logger

type Logger struct {
	Level string `envconfig:"LOGGER_LEVEL" default:"info"`
}

type Postgres

type Postgres struct {
	Host        string `envconfig:"POSTGRES_HOST"          required:"true"`
	Port        string `envconfig:"POSTGRES_PORT"          required:"true"`
	DBName      string `envconfig:"POSTGRES_DBNAME"        required:"true"`
	User        string `envconfig:"POSTGRES_USER"          required:"true"`
	Password    string `envconfig:"POSTGRES_PASSWORD"      required:"true" json:"-"`
	SSLMode     string `envconfig:"POSTGRES_SSLMODE"                                default:"disable"`
	MaxPoolSize int    `envconfig:"POSTGRES_MAX_POOL_SIZE"                          default:"4"`
}

type Report

type Report struct {
	Host string `envconfig:"REPORT_HOST" required:"true"`
	Port string `envconfig:"REPORT_PORT" required:"true"`
}

Jump to

Keyboard shortcuts

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