Skip to content

Latest commit

 

History

History
27 lines (14 loc) · 2.1 KB

CONTRIBUTING.md

File metadata and controls

27 lines (14 loc) · 2.1 KB

Contributing

When contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository before making a change.

General architecture of containers

To get an impression how the containers interact/relate with each other have a look at the architecture description.

Helping others help you

When reporting issues or asking questions please make sure to use the appropriate templates and include information such as your current configuration and versions (see https://github.com/zokradonh/kopano-docker#troubleshooting for interesting commands for this). If you are having questions about scripts and commands please make sure to include the command you're executing and the full output of this command.

Testing

This project includes a few automated tests that can be run to ensure that containers start up and are operational. Required tools for testing can be installed by executing bash .ci/setup-tools.sh.

The startup test can be executed by calling make test-startup. It spins up all containers and checks if they listen on their expected interfaces afterwards as well as execute some commands that should succeed on a successful deployment.

A more detailed test can be executed by calling make test-goss. This uses Goss and its helper dcgoss to validate the container configuration at runtime. These tests have not been implemented for all containers yet, but as an upside the same validation is used as part of the container health check. Contributions are welcome!

Testing the startup scripts of the containers is still a work in progress. When running make test-commander Commander will be used to test output of the version.sh script and some of the container startup scripts.

Tricks

To speed up testing rebuilds you can override the git hash that is passed as a build argument.

Example: make vcs_ref=invalid build-web or make vcs_ref=invalid build-all