in config/configelasticsearch/configclient.go [167:202]
func (cfg *ClientConfig) endpoints() ([]string, error) {
// Exactly one of endpoint, endpoints, or cloudid must be configured.
// If none are set, then $ELASTICSEARCH_URL may be specified instead.
var endpoints []string
var numEndpointConfigs int
if cfg.Endpoint != "" {
numEndpointConfigs++
endpoints = []string{cfg.Endpoint}
}
if len(cfg.Endpoints) > 0 {
numEndpointConfigs++
endpoints = cfg.Endpoints
}
if cfg.CloudID != "" {
numEndpointConfigs++
u, err := parseCloudID(cfg.CloudID)
if err != nil {
return nil, err
}
endpoints = []string{u.String()}
}
if numEndpointConfigs == 0 {
if v := os.Getenv(defaultElasticsearchEnvName); v != "" {
numEndpointConfigs++
endpoints = strings.Split(v, ",")
for i, endpoint := range endpoints {
endpoints[i] = strings.TrimSpace(endpoint)
}
}
}
if numEndpointConfigs != 1 {
return nil, errConfigEndpointRequired
}
return endpoints, nil
}