feat: add config module

This commit is contained in:
2026-03-31 10:14:14 -05:00
parent c2aa7409cf
commit ef69ecd47d
3 changed files with 55 additions and 1 deletions

5
go.mod
View File

@@ -2,6 +2,9 @@ module git.ksdemosapps.com/kylesoda/go-migrate
go 1.25.7
require github.com/sirupsen/logrus v1.9.4
require (
github.com/joho/godotenv v1.5.1
github.com/sirupsen/logrus v1.9.4
)
require golang.org/x/sys v0.13.0 // indirect

2
go.sum
View File

@@ -1,5 +1,7 @@
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0=
github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/sirupsen/logrus v1.9.4 h1:TsZE7l11zFCLZnZ+teH4Umoq5BhEIfIzfRDZ1Uzql2w=

View File

@@ -0,0 +1,49 @@
package config
import (
"os"
"github.com/joho/godotenv"
log "github.com/sirupsen/logrus"
)
type dbConfig struct {
Url string
}
type appConfig struct {
FromDb dbConfig
ToDb dbConfig
}
func loadEnv() {
err := godotenv.Load()
if err != nil {
log.Warn("Warning: could not load .env file")
}
}
func getAppConfig() appConfig {
loadEnv()
fromDbUrl := os.Getenv("PG_FROM_DB_URL")
if fromDbUrl == "" {
log.Fatal("PG_FROM_DB_URL environment variable not set")
}
toDbUrl := os.Getenv("PG_TO_DB_URL")
if toDbUrl == "" {
log.Fatal("PG_TO_DB_URL environment variable not set")
}
return appConfig{
FromDb: dbConfig{
Url: fromDbUrl,
},
ToDb: dbConfig{
Url: toDbUrl,
},
}
}
var App appConfig = getAppConfig()