Today Elasticsearch can be configured via YAML, JSON, or properties files. The support for properties files is undocumented and should be immediately removed. The support for JSON files should be deprecated and removed in 6.0.0.
We also have the weird case of supporting both elasticsearch.yml and elasticsearch.yaml. The former is the original name, and the latter was added because .yaml is the official extension (according to yaml.org). While I understand that .yml has been around much longer, I think we should make our single configuration file name use .yaml. In addition to it being the official extension, I have also been bit before when writing rest tests and accidentally using .yml, because I had just been editing an elasticsearch.yml file.
In all 3 cases (.yml, json and properties), I think we can do this cleanly for the user by looking for the older file names on startup, and throwing an error. In 2.0, we already switched to failing if there was more than one file available.
While I understand that
.ymlhas been around much longer, I think we should make our single configuration file name use.yaml.
+1
Relates #9706
Most helpful comment
We also have the weird case of supporting both
elasticsearch.ymlandelasticsearch.yaml. The former is the original name, and the latter was added because.yamlis the official extension (according to yaml.org). While I understand that.ymlhas been around much longer, I think we should make our single configuration file name use.yaml. In addition to it being the official extension, I have also been bit before when writing rest tests and accidentally using.yml, because I had just been editing anelasticsearch.ymlfile.In all 3 cases (.yml, json and properties), I think we can do this cleanly for the user by looking for the older file names on startup, and throwing an error. In 2.0, we already switched to failing if there was more than one file available.