From fd9cfb61b22718d016c4540bcade9bf48d18ec53 Mon Sep 17 00:00:00 2001 From: lukken <lukken@astron.nl> Date: Tue, 9 Nov 2021 12:41:12 +0000 Subject: [PATCH] Docker image build proposal --- docker-compose/README.md | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 docker-compose/README.md diff --git a/docker-compose/README.md b/docker-compose/README.md new file mode 100644 index 000000000..310a56a68 --- /dev/null +++ b/docker-compose/README.md @@ -0,0 +1,37 @@ +# Docker Compose + +Documentation on how the LOFAR station control software utilizes docker-compose. +This documentation is intended for developers listing strategies and their +respective advantages and disadvantages. In addition, this documentation +contains developer expectations that they should uphold to. + +## Image tagging and change detection + +Preventing unnecessary builds of docker images reduces build times and increases +iteration speed. In order to achieve this the project requires properly tagged +images and mechanisms for change detection. + +For change detection the system relies on git. Git is used to determine the +directories that have changes between the current and previous commit. + +### Types of containers and specific strategies. + +- Devices +- Simulators +- Base images +- Services + +Devices, are currently bound to the host upon building due to the intrinsics of +how environment variables are used. They will have to be rebuild and can not be +pulled from a local registry. + +Simulators, Since the source code for simulators is maintained by other teams +we can not accurately determine from our repository if the simulator has +changed. Instead, the images should be build by the teams their respective CI +pipelines. We would simply pull these images. + +Base images, these are detected by changes to the .env file in the +docker-compose directory. + +Services, these are detected by changes to the .yml file or directory of the +respective service inside the docker-compose directory. -- GitLab