package config import ( "fmt" "github.com/kelseyhightower/envconfig" ) // Config holds all application configuration loaded from environment variables. type Config struct { AppEnv string `envconfig:"APP_ENV" default:"development"` HTTPAddr string `envconfig:"HTTP_ADDR" default:":8080"` DatabaseURL string `envconfig:"DATABASE_URL" required:"true"` } // Load parses environment variables into Config. func Load() (*Config, error) { var cfg Config if err := envconfig.Process("", &cfg); err != nil { return nil, fmt.Errorf("failed to load config: %w", err) } return &cfg, nil }