- clone this repo
- cd into upaas/ansible
- All servers have ssh access with ssh keys copied to authorized_keys on each server (ansible requirement)
- Ansible has been installed on your local development system
Change the relevant variables in the setup.sh file. It replaces all vars needed by ansible
I initially used these vars in the inventory files but decided to move them. Feel free to change it.
Execute the convenience script.
./setup.sh
Execute the following playbooks (in the given order)
ansible-playbook rust.yml -i inventories/local
ansible-playbook unikernel.yml -i inventories/local
ansible-playbook unikernel.yml -i inventories/servers
ansible-playbook keepalived.yml -i inventories/servers --tags check
ansible-playbook load-balancers.yml -i inventories/local --tags fetch-build
ansible-playbook microservices.yml -i inventories/local --tags fetch-build
ansible-playbook load-balancers.yml -i inventories/servers --tags deploy
ansible-playbook microservices.yml -i inventories/services --tags deploy
curl -d'@files/payload.json' http://192.168.0.100/publish
I have included a simple pipeline script that includes all the ansible playbooks as indicated above
Execute it using the relevant step
./pipeline.sh 1
./pipeline.sh 2
# and so on