feat: update configuration handling to use cleanenv; remove unused dependencies and improve error logging

This commit is contained in:
2026-04-22 12:31:31 -05:00
parent 3b1371a270
commit 0ac5f01b65
4 changed files with 24 additions and 16 deletions

View File

@@ -1,8 +1,7 @@
package config
import (
"github.com/caarlos0/env/v11"
"github.com/joho/godotenv"
"github.com/ilyakaznacheev/cleanenv"
log "github.com/sirupsen/logrus"
)
@@ -10,28 +9,30 @@ 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"`
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,required"`
TargetDbUrl string `env:"TARGET_DB_URL,required"`
LogLevel string `env:"LOG_LEVEL" envDefault:"INFO"`
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 {
if err := godotenv.Load(); err != nil {
var cfg appConfig
err := cleanenv.ReadConfig(".env", &cfg)
if 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)
err = cleanenv.ReadEnv(&cfg)
if err != nil {
log.Fatalf("Error al cargar variables: %v", err)
}
return cfg