We currently have a pretty scattered set of repositories to build docker container images:
- Horizon: https://github.com/opennms-forge/docker-horizon-core-web
- Minion: https://github.com/opennms-forge/docker-minion
- Sentinel: https://github.com/opennms-forge/docker-sentinel
Beside them we have a different Horizon/Minion/Sentinel pipeline maintained in the System API tests and we have to maintain some intermediate base images as build dependencies, so they are cachable, versioned and interchangeable such as:
- Vanilla CentOS 7
- OpenJDK
- Oracle JDK
The release is triggered by a manually workflow. For the reason we started to use Docker container images also in our System Test API we should considering the following steps:
- Make Docker images for Horizon, Minion, Sentinel a first class artefact automatically built with CI/CD
- Publish releases to our Docker Hub repository
- Consolidate intermediate dependency images in a central repository and allow controlled updates and rollbacks into the build infrastructure