package config import ( "github.com/ilyakaznacheev/cleanenv" 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" env-default:"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" env-required:"true"` TargetDbUrl string `env:"TARGET_DB_URL" env-required:"true"` LogLevel string `env:"LOG_LEVEL" env-default:"INFO"` AzureStorage AzureStorageConfig } func getAppConfig() appConfig { var cfg appConfig err := cleanenv.ReadConfig(".env", &cfg) if err != nil { log.Warn("Could not load .env file") } err = cleanenv.ReadEnv(&cfg) if err != nil { log.Fatalf("Error al cargar variables: %v", err) } return cfg } var App appConfig = getAppConfig()