infra/ansible/roles/inspircd/tasks/main.yml
Graham McIntire fb5803c866
add FreeBSD bootstrap, irc servers, hostname overrides, and cleanups
- 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
2026-06-19 17:19:29 -05:00

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