___ ____ __
/'___\ __/\ _`\ /\ \__
/\ \__/ _ __ /\_\ \ \L\ \ __ __\ \ ,_\ __
\ \ ,__\/\`'__\/\ \ \ _ <'/\ \/\ \\ \ \/ /'__`\
\ \ \_/\ \ \/ \ \ \ \ \L\ \ \ \_\ \\ \ \_/\ __/
\ \_\ \ \_\ \ \_\ \____/\/`____ \\ \__\ \____\
\/_/ \/_/ \/_/\/___/ `/___/> \\/__/\/____/
/\___/
\/__/
Ansible is a technology that allows us to write and maintain our infrastructure as code. All additions and changes are tracked in git for a (hopefully) complete history.
Not everything in our infra will be implemented in this repo but we would like to provide the following as a form of transparancy and learning resource when it comes to infrastructure as code
- friByte Ansible workshop for a quick hands on with how Ansible works
- Ansible docs
First create a sudo password file and vault key file to provide the required credentials to Ansible
nano ./ansible/.ansible_sudo_passwordThe vault key is a secret encryption key that can be accessed from Vaultwarden
nano ./ansible/.ansible_vault_keyThen setup Ansible by installing the required dependencies using the following script
./setup_ansible.shMake sure you have access to the friByte tailnet and are logged in to reach the nodes via ssh
To run Ansible configurations
./run_config.shTo run Ansible host system updates
./run_update.shTo update the encrypted Ansbile group variables
./edit_group_variables.sh