On Mon, 2020-03-23 at 19:04 -0400, Lukas Fleischer wrote:
We are currently working on a testing environment using Docker.
The idea is to have something that is super easy to set up and still mirrors our production environment as closely as possible. It should ideally allow future contributors to test their patch submissions without having to go through the hassle of manually setting up a full development environment.
Shout-out to Yaron (Cc) for sending me an initial draft.
One of the big design decisions is whether everything should be in a single Docker container vs. several smaller atomic containers (i.e. separate containers for the HTTP server, the database, the SSH/Git interface, ...), as often done in production environments.
The first approach has the benefit of simplicity from a user's perspective and being able to easily set up the environment using just Docker.
The second approach has the benefit of atomicity (simplicity from a developer's perspective) and is closer to what we would do if we would actually use Docker for our production environment. It would probably require docker-compose (or another tool) in addition to Docker to provide the same level of convenience we can achieve with the other approach using just Docker, though.
Since Yaron and me have conflicting opinions, I would like to hear some more arguments and views.
Thanks! Lukas
I think we should build on our existent ansible infrastructure and use ansible-bender for this. We already have all the required roles and the aur-dev playbook defined. Using ansible-bender we can generate from a playbook. About the single container vs multiple containers question, I think just one should be enough. I don't really see the need for multiple containers and it comes with a bigger maintenance burden. I am not really a target user for the docker development setup so take my opinion with a grain of salt. If we end up using ansible-bender to generate the containers, since we have all the components defined in separate roles, maintaining multiple containers shouldn't be that much of an issue. Cheers, Filipe Laíns