in confgenerator/config.go [1363:1391]
func validateSSLConfig(receivers metricsReceiverMap, ctx context.Context) error {
for receiverId, receiver := range receivers {
receiverPipelines, err := receiver.Pipelines(ctx)
if err != nil {
continue
}
for _, pipeline := range receiverPipelines {
if tlsCfg, ok := pipeline.Receiver.Config.(map[string]interface{})["tls"]; ok {
cfg := tlsCfg.(map[string]interface{})
// If insecure, no other fields are allowed
if cfg["insecure"] == true {
invalidFields := []string{}
for _, field := range []string{"insecure_skip_verify", "cert_file", "ca_file", "key_file"} {
if val, ok := cfg[field]; ok && val != "" {
invalidFields = append(invalidFields, fmt.Sprintf("\"%s\"", field))
}
}
if len(invalidFields) > 0 {
return fmt.Errorf("%s are not allowed when \"insecure\" is true, which indicates TLS is disabled for receiver \"%s\"", strings.Join(invalidFields, ", "), receiverId)
}
}
}
}
}
return nil
}