score-spec / score-compose

Reference implementation for docker-compose target platform support
https://score.dev/
Apache License 2.0
445 stars 40 forks source link

[feature request] default elastic search resource provisioner #127

Closed astromechza closed 2 months ago

astromechza commented 4 months ago

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:

astromechza commented 4 months ago

cc @sujaya-sys

giesan commented 3 months ago

Hello everyone, I would like to take over this issue, but I have no rights to assign these issues to myself. Can someone with the appropriate rights please do this? Many thanks and best regards Andrej

sujaya-sys commented 3 months ago

Thanks @giesan - I assigned the issue to you :) cc @astromechza

giesan commented 3 months ago

Thanks @sujaya-sys

astromechza commented 2 months ago

This will be available in the next release. Thanks @giesan for your contribution