diff --git a/config/config.go b/config/config.go index 2be3524d1..b52d783b5 100644 --- a/config/config.go +++ b/config/config.go @@ -314,6 +314,18 @@ type TLSConfig struct { KeyFile string `yaml:"key_file,omitempty"` // Disable target certificate validation. InsecureSkipVerify bool `yaml:"insecure_skip_verify"` + + // Catches all undefined fields and must be empty after parsing. + XXX map[string]interface{} `yaml:",inline"` +} + +// UnmarshalYAML implements the yaml.Unmarshaler interface. +func (c *TLSConfig) UnmarshalYAML(unmarshal func(interface{}) error) error { + type plain TLSConfig + if err := unmarshal((*plain)(c)); err != nil { + return err + } + return checkOverflow(c.XXX, "TLS config") } // ScrapeConfig configures a scraping unit for Prometheus.