package config import ( "log" "os" "github.com/joho/godotenv" ) type Config struct { JWTSecret string DBHost string DBPort string DBUser string DBPassword string DBName string DBSSLMode string } var appConfig = &Config{} func InitConfig() { // Load .env file err := godotenv.Load() if err != nil { log.Println("Warning: .env file not found, using system environment variables.") } // Load config from env appConfig.JWTSecret = os.Getenv("JWT_SECRET") appConfig.DBHost = os.Getenv("DB_HOST") appConfig.DBPort = os.Getenv("DB_PORT") appConfig.DBUser = os.Getenv("DB_USER") appConfig.DBPassword = os.Getenv("DB_PASSWORD") appConfig.DBName = os.Getenv("DB_NAME") appConfig.DBSSLMode = os.Getenv("DB_SSLMODE") if appConfig.JWTSecret == "" || appConfig.DBHost == "" { log.Fatal("Required environment variables are missing") } } func GetConfig() *Config { return appConfig }