package config import ( "fmt" "io" "go.yaml.in/yaml/v4" ) func Load(reader io.Reader) (*Config, error) { decoder := yaml.NewDecoder(reader) decoder.KnownFields(true) var cfg Config if err := decoder.Decode(&cfg); err != nil { return nil, fmt.Errorf("decode configuration: %w", err) } if err := Validate(&cfg); err != nil { return nil, err } return &cfg, nil }