package config import ( "os" "github.com/joho/godotenv" log "github.com/sirupsen/logrus" ) type appConfig struct { SourceDbUrl string SourceDbType string TargetDbUrl string TargetDbType string } func loadEnv() { err := godotenv.Load() if err != nil { log.Warn("Warning: could not load .env file") } } func getAppConfig() appConfig { loadEnv() sourceDbUrl := os.Getenv("SOURCE_DB_URL") if sourceDbUrl == "" { log.Fatal("SOURCE_DB_URL environment variable not set") } sourceDbType := os.Getenv("SOURCE_DB_TYPE") if sourceDbType == "" { log.Fatal("SOURCE_DB_TYPE environment variable not set") } targetDbUrl := os.Getenv("TARGET_DB_URL") if targetDbUrl == "" { log.Fatal("TARGET_DB_URL environment variable not set") } targetDbType := os.Getenv("TARGET_DB_TYPE") if targetDbType == "" { log.Fatal("TARGET_DB_TYPE environment variable not set") } return appConfig{ SourceDbUrl: sourceDbUrl, SourceDbType: sourceDbType, TargetDbUrl: targetDbUrl, TargetDbType: targetDbType, } } var App appConfig = getAppConfig()