The ODS uses docker images for both development, testing and deployment.
It is crucial that we regularly update the used image versions to stay up-to-date.
Note that we do not use e.g. the latest tag to avoid pulling in breaking changes.
- development and unit-test
Dockerfilesfor the services adapter, notification, pipeline, scheduler, storage/storage-mq, ui. - self-extended
Dockerfilesfor storage/liquibase, storage/postgrest. - integration tests
Dockerfilesfor adapter, notification, pipeline, scheduler, storage, ui. Dockerfilesfor system-test.docker-composedependencies for services like edge, databases or rabbitmq.- GitHub CI Workflow
Last Update: November 2020.
Wherever possible we trust the image creators to follow semantic versioning. For this reason we try to specify major versions so we automatically get the latest updates without having to check for breaking API changes.
All services and their integration tests written in JavaScript and the system test use the official Node.js image node. The image version 14-alpine is used as Node.js 14 is the current LTS-version.
For Java the OpenJDK OpenJ9 images provided by AdoptOpenJDK are used, in the alpine-slim version.
OpenJ9 is a implementation of the JVM specifically designed for microservices and usage in the cloud.
See here for background information.
We currenly use version 14 of OpenJDK. See here for the version roadmap of Java.
We use the official postgres images.
We use the version 13-alpine as it is the latest version.
For PostgreSQL versioning see here.
For RabbitMQ we use the official rabbitmq image in version 3-management-alpine.
For PostgREST we use the official postgrest image in version v7.0.1.
PostgREST does not offer tags that follow the semantic versioning docker tag style, so we have to specify a version.
For Liquibase we use the webdevops:liquibase image in version postgres.
For Traefik we use the official traefik image in the latest version 2.3.
For nginx we use the official nginx image in version 1-alpine.
We use ubuntu-18.04 which is also used if you use latest.
See here for details.
See also this for changing to ubuntu-20.04.