In order to improve deployment options (currently just Docker-Compose) we should define B2SHARE architecture; supportive services (Elasticsearch, Database / PostgreSQL, Message queue / RabbitMQ, Redis) B2SHARE workers (web, background) and routing / load balancing.
Generic naming of support services (db == PostgreSQL, frontend == NGINX, etc.)
Define REST API service, background worker service, etc.
If possible define a single image and specialize instance by using different startup parameters (e.g. uwsgi for REST API, celery for background worker)
Update current B2SHARE docker-compose.yml to reflect the naming changes.
Explore other deployment options & technologies & orchestrators (+supportive tooling for each), and define deployment recipes for:
In order to improve deployment options (currently just Docker-Compose) we should define B2SHARE architecture; supportive services (Elasticsearch, Database / PostgreSQL, Message queue / RabbitMQ, Redis) B2SHARE workers (web, background) and routing / load balancing.
Let's model B2SHARE according to what Invenio currently recommends: (https://github.com/inveniosoftware/invenio-app-ils/blob/master/docker-compose.full.yml | https://github.com/inveniosoftware/invenio-app-ils/blob/master/docker-services.yml | https://github.com/inveniosoftware/invenio-app-ils/blob/master/docker-compose.yml)
uwsgi
for REST API,celery
for background worker)Update current B2SHARE
docker-compose.yml
to reflect the naming changes.Explore other deployment options & technologies & orchestrators (+supportive tooling for each), and define deployment recipes for: