milelogistic-server/core/internal/config/init.go

37 lines
517 B
Go

package config
import (
"github.com/joho/godotenv"
"log"
"os"
)
type Config struct {
PostgresDsn string
}
var instance *Config = nil
func loadDotEnv(filename string) {
err := godotenv.Load(filename)
if err != nil {
log.Fatal("Environment variables isn't loaded")
}
// Load env and form instance
instance = &Config{
PostgresDsn: func() string {
val, _ := os.LookupEnv("POSTGRES_DSN")
return val
}(),
}
}
func New() *Config {
if instance == nil {
loadDotEnv("env")
}
return instance
}