allegro/devops-challenge — pull request #3 by slafs (2014-09-25 22:05:00+00:00)
Title: saltstack solution

Hi

First of all, can I even participate in this contest? I'm not attending the conference :).

Anyway, here is my solution that involves SaltStack (salt-minion is probably the only requirement for this to work). Salt is used here to:

* install and start a redis server,
* install python app dependencies (flask, redis-py),
* run the app as a daemon (with gunicorn)

It is also used for cleaning (``stop_env.sh``). Although cleaning leaves some leftovers around since salt isn't very good at purging dependencies at the moment.

I also attached some Dockerfiles for easier testing. I tested this on Ubuntu (14.04) and CentOS (6.5). For example you can use it like this:

cp ./Dockerfile.ubuntu ./Dockerfile
docker build --rm -t allegro-devops-challenge-ubuntu .
docker run -it -name=devops allegro-devops-challenge-ubuntu
# you can see what's left/changed with
docker diff devops
# and remove the container
docker rm devops

Should also work on OSX but don't have a Mac right now ;).

Cheers!