$20
Requirement:
* Server App: returns some hard coded string.
Modify that string, rebuild the container, perform an upgrade
Can do this on 1 VM (I will provide Vagrantfile)
Can assume requests are short (nginx workers end immediately)
Can skip running tests on v{N+1} before switching
Hand in:
* README - include very specific instructions (exact command to build, run scripts, etc.)
* Server app code with Dockerfile
* Startup script or playbook - starts registrator, etcd, nginx
* upgrade script or playbook - runs the container, upgrading from a previous version in an automated manner. Needs to handle: 1) No color -> Blue (i.e., first run), 2) Blue -> Green, 3) Green -> Blue.
* Any other files needed (toml and template files, etc.)
Note:
* Simplifying assumptions are fine, within reason. e.g., the upgrade script only works for a specific service (and isn't general to any service) - that's fine.
* All IP addresses/ports should be selected automatically by Docker.
Peer validation:
* We’ll change Peers for this time.
* Confirm each has finished before sharing code and validating
Example validation by peer (note: commands are incomplete):
docker build
upgrade.sh
curl => prints “HELLO”
Modify code
docker build
upgrade.sh
curl => prints “GO BUFFS”
Modify code
docker build
upgrade.sh
curl => prints “DEVOPS IS FUN”