Modified: 2021-04
This repository hosts all the automation and management services for Incuvers servers. This repository hosts the ansible automation for managing the continous deployment and continous integration pipelines for the Incuvers/monitor repository. In the future it will also be expanded to include virtual incubator servers and running R&D cluster computing applications.
Follow the TuringPi configuration guide here
This section contains the instructions for deploying and destroying servers across any number of machines.
Install ansible
using preferred package manager:
brew install ansible
python3 -m pip install ansible
sudo apt update -y
sudo apt install ansible
Create a copy of the example.inventory.yaml
files and remove the example.
prefix from it. This file describes your host configuration for your deployment.
Before executing a playbook, verify what its variables are set as in in inventory/group_vars/<group>.yaml
. For exmaple, the file inventory/group_vars/stage.yaml
defines teardown
for the staging server.
Once done, fire off the playbook using its path. For example, the iris-stage
playbook:
ansible-playbook playbooks/iris-stage.yaml
Some of the automation deployments, such as github actions servers require secrets. These secrets are encrypted with AES using ansible vault and are version controlled. Ansible vault will decrypt the neccessary secrets for a given action at playbook runtime provided you have the ansible vault password file. This means that instead of syncing serveral different key files with everyone only the ansible vault password file is required to get access to all the key files. Contact [email protected] for the vault key file.
Follow the server specific instructions for automating server deployment and teardown: