From 4342adc195c8c8abb38ddc5053e7281731a08b06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Z=C3=ADpek?= Date: Sun, 14 Aug 2022 23:51:32 +0200 Subject: [PATCH] Use .env in combination with normal env --- config/config.go | 18 +++++++++--------- go.mod | 3 ++- go.sum | 2 ++ main.go | 7 +++++++ 4 files changed, 20 insertions(+), 10 deletions(-) diff --git a/config/config.go b/config/config.go index 717d015..ee2eaf2 100644 --- a/config/config.go +++ b/config/config.go @@ -2,8 +2,7 @@ package config import ( "os" - - "github.com/golobby/dotenv" + "strconv" ) type Config struct { @@ -16,18 +15,19 @@ type Config struct { } func LoadConfig() *Config { - config := Config{} - - file, err := os.Open(".env") + port, err := strconv.Atoi(os.Getenv("PORT")) if err != nil { panic(err) } - err = dotenv.NewDecoder(file).Decode(&config) - - if err != nil { - panic(err) + config := Config{ + Mode: os.Getenv("GIN_MODE"), + DatabaseUrl: os.Getenv("DATABASE_URL"), + Port: port, + Ip: os.Getenv("BIND_IP"), + AuthUsername: os.Getenv("AUTH_USERNAME"), + AuthPassword: os.Getenv("AUTH_PASSWORD"), } return &config diff --git a/go.mod b/go.mod index 8da2131..b249ad3 100644 --- a/go.mod +++ b/go.mod @@ -1,10 +1,11 @@ module basic-sensor-receiver -go 1.17 +go 1.19 require ( github.com/gin-gonic/gin v1.8.1 github.com/golobby/dotenv v1.3.1 + github.com/joho/godotenv v1.4.0 github.com/mattn/go-sqlite3 v1.14.14 ) diff --git a/go.sum b/go.sum index 1425a87..75e2343 100644 --- a/go.sum +++ b/go.sum @@ -25,6 +25,8 @@ github.com/golobby/dotenv v1.3.1 h1:BvQyNuOQITmIXNHpQ/FUG2gZcUGmcGMyODMeUfiKkeU= github.com/golobby/dotenv v1.3.1/go.mod h1:EWUdOzuDlA1g4hdjo++WD37DhNZw33Oce8ryH3liZTQ= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/joho/godotenv v1.4.0 h1:3l4+N6zfMWnkbPEXKng2o2/MR5mSwTrBih4ZEkkz1lg= +github.com/joho/godotenv v1.4.0/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= diff --git a/main.go b/main.go index dd192c2..1a2440d 100644 --- a/main.go +++ b/main.go @@ -4,12 +4,19 @@ import ( "basic-sensor-receiver/app" "basic-sensor-receiver/routes" "fmt" + "log" "github.com/gin-gonic/gin" + "github.com/joho/godotenv" _ "github.com/mattn/go-sqlite3" ) func main() { + err := godotenv.Load() + if err != nil { + log.Println("Error loading .env file") + } + server := app.InitializeServer() gin.SetMode(server.Config.Mode)