···
2
+
- hosts: debianservers,freebsdservers
6
+
etc_dir: "{% if ansible_system == 'FreeBSD' %}/usr/local/etc{% else %}/etc{% endif %}"
7
+
group: "{% if ansible_system == 'FreeBSD' %}wheel{% else %}root{% endif %}"
- name: Ensure rsyslog is installed
14
+
when: ansible_system == "Linux"
16
+
- name: Ensure rsyslog is installed
17
+
community.general.pkgng:
20
+
when: ansible_system == "FreeBSD"
- name: Ensure rsyslog is enabled
ansible.builtin.systemd_service:
27
+
when: ansible_service_mgr == "systemd"
29
+
- name: Ensure rsyslog is enabled in /etc/rc.conf (FreeBSD)
30
+
ansible.builtin.shell: sysrc rsyslogd_enable="YES"
31
+
register: rsyslogd_enable
32
+
when: ansible_system == "FreeBSD"
33
+
changed_when: '"YES -> YES" not in rsyslogd_enable.stdout'
35
+
- name: Ensure syslogd is disabled in /etc/rc.conf (FreeBSD)
36
+
ansible.builtin.shell: sysrc syslogd_enable="NO"
37
+
register: syslogd_enable
38
+
when: ansible_system == "FreeBSD"
39
+
changed_when: '"YES -> NO" in syslogd_enable.stdout'
- name: Remove any forwarding file if exists
20
-
path: /etc/rsyslog.d/forward.conf
43
+
path: "{{ etc_dir }}/rsyslog.d/forward.conf"
- name: Get control node headnet IP address
ansible.builtin.shell: tailscale status | head -1 | awk '{print $1}'
register: ctrl_headnet_ip_addr
51
+
failed_when: ctrl_headnet_ip_addr.rc != 0
- name: Configure log forwarding
ansible.builtin.blockinfile:
30
-
path: /etc/rsyslog.d/forward.conf
55
+
path: "{{ etc_dir }}/rsyslog.d/forward.conf"
58
+
group: "{{ group }}"
# Forward to desktop.headscale.moonshadow.dev ({{ctrl_headnet_ip_addr.stdout}})
···
71
+
when: ansible_service_mgr == "systemd"
73
+
- name: Restart rsyslog
74
+
ansible.builtin.shell: service rsyslogd restart
75
+
when: ansible_service_mgr == "bsdinit"