# Salt's Ansible Repository Useful for management across all of 9iron, thefuck, and desu. ## TODO This branch is kinda-sorta a port of master, so it still needs to reach some form of feature parity with it. Namely: * Pleroma(? How about we move to outer heaven?) * Matrix(? Do I still want to keep this around?) * Basic git cloning for websites * My inane desktop setups * Backups * Duplicity? * Just Linode backups? Would also have to do nightly DB dumps * More homebrew bullshit? * Monitoring (Doesn't necessarily have to be grafana) * Forge server deployment? Terraria? What do I do about all these gameservers? ## Initialization * Clone the repo, `cd` in * `ansible-galaxy install -r roles/requirements.yml` ## Deployment Adding a new server will require the following be fulfilled: * The server is accessible from the Ansible host; * 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 added to `inventory/hosts.yml` in an appropriate place; * DNS records for the machine are set; and * The server is running Ubuntu 18.04 or greater (20.04 recommended) From there, running the playbook `site.yml` should get the machine up to snuff. To automate the host-local steps, use the script file `contrib/bootstrap.sh`.