28 lines
589 B
Go
28 lines
589 B
Go
package lib
|
|
|
|
import (
|
|
"fmt"
|
|
"github.com/ilyakaznacheev/cleanenv"
|
|
)
|
|
|
|
type Config struct {
|
|
Env string `env:"ENV" env-default:"prod"`
|
|
|
|
PostgresDSN string `env:"POSTGRES_DSN" required:"true"`
|
|
RedisDSN string `env:"REDIS_DSN" required:"true"`
|
|
|
|
Email string `env:"EMAIL" required:"true"`
|
|
Password string `env:"PASSWORD" required:"true"`
|
|
|
|
JWTSecret string `env:"JWT_SECRET" required:"true"`
|
|
}
|
|
|
|
func MustSetupConfig() *Config {
|
|
var cfg Config
|
|
err := cleanenv.ReadConfig(".env", &cfg)
|
|
if err != nil {
|
|
panic(fmt.Sprintf("error reading config: %s", err.Error()))
|
|
}
|
|
return &cfg
|
|
}
|