Here's some notes for contributors.
Some best practices to keep things clean and maintainable.
Treat each service as it would be a completely independend project. Document everything the users and devops people need to know to deal with the service. Make it run independently from other services, even if it would usually operated together with other services.
Always use the specific version of a Docker image as base image instead of latest
. This makes sure that major changes don't break the service. If the base image adheres to Semantic Versioning use the tag of the respective minor version. This way non-breaking patches are applied automatically which improves security.