func newTLSClientConfig()

in pkg/client/elasticsearch/client.go [198:220]


func newTLSClientConfig(logger logr.Logger, config *config.TLSClientConfig) (*tls.Config, error) {
	if config == nil {
		// If nothing has been set just return a nil struct
		logger.V(1).Info("No Elasticsearch TLS configuration provided")
		return nil, nil
	}
	logger.V(1).Info("Loading Elasticsearch TLS configuration")
	tlsConfig := &tls.Config{
		InsecureSkipVerify: config.Insecure,
	}

	if config.CAFile != "" {
		// Load CA cert
		caCert, err := ioutil.ReadFile(config.CAFile)
		if err != nil {
			return nil, err
		}
		caCertPool := x509.NewCertPool()
		caCertPool.AppendCertsFromPEM(caCert)
		tlsConfig.RootCAs = caCertPool
	}
	return tlsConfig, nil
}