# Salt's Ansible Repository Useful for management across all of 9iron, thefuck, and desu. ## Initialization * Clone * `ansible-galaxy install -r requirements.yml` For quick bootstrapping of tools and libraries used in this repo, see [rehashedsalt/ansible-env](https://gitlab.com/rehashedsalt/docker-ansible-env). I use that exact image for CI/CD. ## Deployment ### Linux Machines Each Linux machine will require the following to be fulfilled for Ansible to access it: * The server has a user named `ansible` which: * Accepts the public key located in `contrib/desu.pub`; and * Has passwordless sudo capabilities as root * The server is running Ubuntu 20.04 or greater To automate these host-local steps, use the script file `contrib/bootstrap.sh`. ### Windows Machines lol don't ### All Machines Adding a new server will require these: * The server is accessible from the Ansible host; * The server has been added to NetBox OR in `inventory-hard` * DNS records for the machine are set; and From there, running the playbook `site.yml` should get the machine up to snuff. ## Zerotier A lot of my home-network side of things is connected together via ZeroTier; initial deployment/repairs may require specifying an `ansible_host` for the inventory item in question to connect to it locally. Subsequent plays will require connectivity to my home ZeroTier network. Cloud-managed devices require no such workarounds.