score-compose
score-compose copied to clipboard
[feature request] default elastic search resource provisioner
We've currently got postgres, redis, and mongodb as database providers. We'd like to round out the database support with support for elastic search. This is frequently used to act as a logging or text search engine in applications and is something that elastic search does very well. This new provider should follow the existing patterns in the default.provisioners.yaml
file.
NOTE: there is some contention between this and "opensearch" - a fork of ES used by amazon and some others to offer managed services. For now we'll continue to use elasticsearch here since the ES resource provides ES functionality to the workload itself and not dynamically launched for end customers.
Resource Type: elasticsearch
Params: {}
(nothing for now)
Outputs:
host: <the service name>
port: 9200
username: elastic
password: <random password>
All relevant data should be present on docker volumes.
This should work like the redis provisioner, with an independent ES launched for each resource without sharing any containers.
Follow https://www.elastic.co/blog/getting-started-with-the-elastic-stack-and-docker-compose as a useful guide on how to do all this. We just need a single node ES without kibana / logstash.
Make sure we also have:
- [ ] an example in /examples/
- [ ] added to readme.md
- [ ] unit tests checking that the generated resource is valid