package config import ( "github.com/caarlos0/env/v11" "github.com/joho/godotenv" log "github.com/sirupsen/logrus" ) type AzureStorageConfig struct { AccountName string `env:"AZ_ACCOUNT_NAME"` Container string `env:"AZ_CONTAINER"` AccountKey string `env:"AZ_ACCOUNT_KEY"` UseHTTPS bool `env:"AZ_USE_HTTPS" envDefault:"true"` ServiceURL string `env:"AZ_SERVICE_URL"` Prefix string `env:"AZ_PREFIX"` Enabled bool `env:"AZ_STORAGE_ENABLED"` } type appConfig struct { SourceDbUrl string `env:"SOURCE_DB_URL,required"` TargetDbUrl string `env:"TARGET_DB_URL,required"` LogLevel string `env:"LOG_LEVEL" envDefault:"INFO"` AzureStorage AzureStorageConfig } func getAppConfig() appConfig { if err := godotenv.Load(); err != nil { log.Warn("Could not load .env file") } cfg := appConfig{} if err := env.Parse(&cfg); err != nil { log.Fatalf("Error al cargar variables de entorno: %v", err) } return cfg } var App appConfig = getAppConfig()