func()

in pkg/operator/apis/monitoring/v1/http_types.go [350:394]


func (c *HTTPClientConfig) ToPrometheusConfig(m PodMonitoringCRD, pool PrometheusSecretConfigs) (config.HTTPClientConfig, error) {
	// Copy default config.
	clientConfig := config.DefaultHTTPClientConfig

	var errs []error
	if c.Authorization != nil {
		var err error
		clientConfig.Authorization, err = c.Authorization.ToPrometheusConfig(m, pool)
		if err != nil {
			errs = append(errs, err)
		}
	}
	if c.BasicAuth != nil {
		var err error
		clientConfig.BasicAuth, err = c.BasicAuth.ToPrometheusConfig(m, pool)
		if err != nil {
			errs = append(errs, err)
		}
	}
	if c.TLS != nil {
		tlsConfig, err := c.TLS.ToPrometheusConfig(m, pool)
		if err != nil {
			errs = append(errs, err)
		} else {
			clientConfig.TLSConfig = *tlsConfig
		}
	}
	if c.OAuth2 != nil {
		oauth2, err := c.OAuth2.ToPrometheusConfig(m, pool)
		if err != nil {
			errs = append(errs, err)
		} else {
			clientConfig.OAuth2 = oauth2
		}
	}
	if c.ProxyURL != "" {
		proxyConfig, err := c.ProxyConfig.ToPrometheusConfig()
		if err != nil {
			errs = append(errs, err)
		} else {
			clientConfig.ProxyURL = proxyConfig
		}
	}
	return clientConfig, errors.Join(errs...)
}