Dmitri f00226a0d6
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 2m23s
logging
2026-04-19 19:09:13 +02:00

49 lines
837 B
Go

package config
import (
"fmt"
_ "github.com/joho/godotenv/autoload"
"log"
"os"
)
type Config struct {
AppEnv string
DbUrl string
}
func Load() Config {
var dbUrl string
{
username := getEnv("DB_USERNAME")
password := getEnv("DB_PASSWORD")
name := getEnv("DB_NAME")
port := getEnv("DB_PORT")
host := getEnv("DB_HOST")
// postgres://admin:admin@localhost:5432/admin_db
dbUrl = fmt.Sprintf("postgres://%v:%v@%v:%v/%v?sslmode=disable", username, password, host, port, name)
}
appEnv := os.Getenv("APP_ENV")
if appEnv == "" {
appEnv = "development"
}
cfg := Config{
AppEnv: appEnv,
DbUrl: dbUrl,
}
return cfg
}
func getEnv(key string) string {
v := os.Getenv(key)
if v == "" {
log.Fatalf("The env variable %v is not defined and the applciation can not operate without\n", key)
}
return v
}