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
signature.asc
Description: This is a digitally signed message part