Allow skydive to connect to Elasticsearch servers with TLS but invalid certs.
For Elasticsearch clusters, be able to only define a single endpoint creates a SPoF at start time. Allow to pass an array of endpoints. This breaks the current config, which expect an string in the key "host". Now is an slice in the key "hosts".
Expose configuration for basic auth (previously supported with http://user:password@...)
Add option 'disable_sniffing' to etc/skydive.yml.default
Fix a typo in the error string when Elasticsearch version could not be obtained.
Some options that could be set previously in the Elasticsearch URL are now not available: Errorlog, Tracelog, Infolog and Healthcheck These options could be added easily if needed. The elastic lib function handling the creation of a new elasticsearch client from the URL is: https://github.com/olivere/elastic/blob/v7.0.17/client.go#L431:6
TODO:
- [x] Create a map from host to hosts
- [x] Check that a simple value in host is mapped as a single element array
- [ ] Tests to check backward compatibility (.host vs .hosts, URI vs host:port)
该提问来源于开源项目:skydive-project/skydive