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
|
||
|
}
|