In order to deploy a fully automated infrastructure, we are using:
- terraform: create VMs and data volumes, network, DNS entries, backup resources
- itsm resources:
- ansible: users, nginx, docker/docker-compose, monitoring and everything else
- openmrs/openmrs-contrib-ansible-docker-compose: docker-compose applications
- puppet: only bamboo agents: maven, node, docker and all bamboo builds requirements
- ansible: users, nginx, docker/docker-compose, monitoring and everything else
Check vms.html to identify all our machines.
There's no technical reason why puppet and ansible co-exist. That happened naturally due to different people working on different things
Some of those files are encrypted (using either ansible-vault or git-crypt). If you do need access to any of them for any reason, please contact infrastructure team.
All our internal documentation for each service is hosted on github wiki, as it needs to be accessed even if confluence is down.