Configuration Validation

Validate configuration at startup to catch errors early.

Running

# With valid configuration
go run main.go valid

# With invalid configuration (will fail)
go run main.go invalid

Validation Rules

Required configurations:

Benefits

Pattern

func ValidateConfig(cfg *config.Config) error {
    required := []string{"app_name", "app_version", "db_host"}
    
    for _, req := range required {
        if !configMap[req] {
            return fmt.Errorf("missing required config: %s", req)
        }
    }
    
    return nil
}