.templates | ||
contrib | ||
inventory | ||
roles | ||
.gitignore | ||
ansible.cfg | ||
README.md | ||
site.yml |
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
- Which are part of the way there, mostly just need some off-the-wall stuff
-
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
.