A series of Ansible scripts to manage my infrastructure.
Go to file
Salt 73560ce6f6 Gather facts on prod_web.yml
You know that might be why my Nagios configuration fails
2022-04-18 11:34:46 -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
inventories Modularize the heck out of our inventories 2022-03-19 13:05:18 -05:00
playbooks Gather facts on prod_web.yml 2022-04-18 11:34:46 -05:00
roles Stop disabling a oneshot service 2022-04-15 22:27:24 -05:00
.ansible-lint Add some more exceptions to the linter 2022-03-24 11:57:26 -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 Modify GitLab CI to use the no-auto variant of the prod inventory 2022-03-19 13:22:28 -05:00
.gitmodules Add checks for the R720's thermal monitors, also add those thermal monitors 2022-01-10 22:14:07 -06:00
ansible.cfg Modularize the heck out of our inventories 2022-03-19 13:05:18 -05:00
pull.yml Create dedicated ansible-pull playbook with basic maintenance tasks, use it 2021-09-22 07:43:28 -05:00
README.md Polish README 2022-04-18 11:30:34 -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 Add avahi to the management network 2022-02-13 13:03:41 -06:00
site.yml Add a note to site.yml about how cleanup rolls reboots 2022-04-18 11:24:38 -05:00

desu.ltd Ansible Management Repository

Contains core system configuration for all of desu.ltd and related environments

Initialization

  • Clone
  • ansible-galaxy install -r requirements.yml

For quick bootstrapping of tools and libraries used in this repo, see rehashedsalt/ansible-env. I use that exact image for CI/CD.

Machine Setup

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.

Other Machines

Unsupported at this time, though things that accept SSH might Just Work.

Machine Deployment

Deploying a new server will require that it be added to NetBox and that it is accessible from the Ansible host. From there, running the main playbook site.yml will get the machine up to snuff.

Zerotier

A lot of my home network is connected via Zerotier. Initial deployment can be done locally through a bastion machine or similar, but subsequent deploys should run over Zerotier. Once configuration is available, you should log into the machine and modify Netbox to document its Zerotier IP in Netbox, setting it to be the primary IP of the device. The interface name should be zt0.