A series of Ansible scripts to manage my infrastructure.
Go to file
2021-09-19 21:47:57 -05:00
.templates Fix template 2020-10-17 00:27:46 -05:00
contrib Move requirements.yml to root 2021-08-01 21:39:36 -05:00
handlers Move handlers to global handlers 2020-12-20 05:02:17 -06:00
inventory Decom the K8s cluster, roll all its jobs into one singular machine 2021-09-13 13:50:22 -05:00
inventory-hard Add emergency disaster-recovery inventory 2021-09-01 19:29:02 -05:00
playbooks Convert role invocations to use the full namespace of the role 2021-09-18 16:10:54 -05:00
roles Add more MOTD items to purge 2021-09-19 21:32:38 -05:00
.ansible-lint Hopefully stop linting galaxy roles 2021-09-18 16:46:47 -05:00
.gitignore Install Galaxy roles to their own directory so I don't have to maintain a long gitignore 2021-09-18 16:13:20 -05:00
.gitlab-ci.yml Decom the K8s cluster, roll all its jobs into one singular machine 2021-09-13 13:50:22 -05:00
ansible.cfg Install Galaxy roles to their own directory so I don't have to maintain a long gitignore 2021-09-18 16:13:20 -05:00
README.md Polish up readme 2021-09-18 16:44:56 -05:00
reboot-home.yml Reconfigure reboot-home.yml 2021-09-14 19:06:46 -05:00
reboot-prod.yml Polish up those reboot playbooks 2021-08-25 12:20:47 -05:00
requirements.yml Remove another deprecated role 2021-09-18 16:11:48 -05:00
site.yml Fix not using device_roles_workstation.yml 2021-09-19 21:47:57 -05:00

Salt's Ansible Repository

Useful for management across all of 9iron, thefuck, and desu.

Initialization

  • Clone
  • ansible-galaxy install -r 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 has been added to NetBox OR in inventory-hard

  • DNS records for the machine are set; and

  • The server is running Ubuntu 20.04 or greater

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.

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.