- bootstrap.yml: support pkg for FreeBSD sudo/python3 install - base role: FreeBSD package sets, sudoers paths, host key regen, admin group, usermod process-in-use tolerance - freebsd role: pkg update/upgrade tasks - general role: standalone hostname tasks (ungated from network.skip), hostname_override support - inspircd role: deploy configs for ca/us manero.org irc servers with vault-backed secrets - uisp role: download and run installer on fresh hosts, skip if already running - netbox role: stop services before usermod to avoid process-in-use failures - hosts: add irc_servers group, ca/us.manero.org (Tailscale), drop staging.towerops.net - all.yml: graham user gets static ed25519 key alongside github keys
55 lines
1.7 KiB
YAML
55 lines
1.7 KiB
YAML
---
|
|
- name: Assert required vault variables are set
|
|
ansible.builtin.assert:
|
|
that:
|
|
- vault_inspircd_ca_oper_graham_password is defined
|
|
- vault_inspircd_ca_oper_andys_password is defined
|
|
- vault_inspircd_ca_link_us_sendpass is defined
|
|
- vault_inspircd_ca_link_us_recvpass is defined
|
|
- vault_inspircd_us_oper_graham_password is defined
|
|
- vault_inspircd_us_oper_andys_password is defined
|
|
- vault_inspircd_us_link_ca_sendpass is defined
|
|
- vault_inspircd_us_link_ca_recvpass is defined
|
|
- vault_inspircd_us_link_services_sendpass is defined
|
|
- vault_inspircd_us_link_services_recvpass is defined
|
|
fail_msg: >-
|
|
Missing one or more inspircd vault variables. See roles/inspircd/README.md
|
|
for the full list.
|
|
|
|
- name: Install inspircd (Debian)
|
|
ansible.builtin.apt:
|
|
name: inspircd
|
|
state: present
|
|
when: ansible_facts['os_family'] == "Debian"
|
|
notify: restart inspircd
|
|
|
|
- name: Install inspircd (FreeBSD)
|
|
community.general.pkgng:
|
|
name: inspircd
|
|
state: present
|
|
when: ansible_facts['os_family'] == "FreeBSD"
|
|
notify: restart inspircd
|
|
|
|
- name: Ensure inspircd config directory exists
|
|
ansible.builtin.file:
|
|
path: "{{ inspircd_config_dir }}"
|
|
state: directory
|
|
owner: root
|
|
group: root
|
|
mode: '0755'
|
|
|
|
- name: Deploy inspircd config files
|
|
ansible.builtin.template:
|
|
src: "{{ inventory_hostname }}/{{ item }}"
|
|
dest: "{{ inspircd_config_dir }}/{{ item }}"
|
|
owner: root
|
|
group: root
|
|
mode: '0644'
|
|
loop: "{{ inspircd_config_files }}"
|
|
notify: restart inspircd
|
|
|
|
- name: Ensure inspircd is started and enabled
|
|
ansible.builtin.service:
|
|
name: inspircd
|
|
state: started
|
|
enabled: true
|