golang-app/config/Config.go

31 lines
529 B
Go
Raw Normal View History

package config
import (
"github.com/ilyakaznacheev/cleanenv"
"sync"
)
type Config struct {
API struct {
Token string `env:"TOKEN" env-layout:"string" env-required:"true"`
2022-07-20 01:05:08 +03:00
Owner int `env:"OWNER" env-layout:"int" env-required:"true"`
}
Paths struct {
Docs string `env:"DOCS_PATH" env-layout:"string" env-default:"docs" env-upd:"true"`
}
}
var cfg Config
var once sync.Once
// panic
func GetConfig() Config {
once.Do(func() {
err := cleanenv.ReadEnv(&cfg)
if err != nil {
2022-07-20 01:05:08 +03:00
panic(err)
}
})
return cfg
}