Compare changes

Choose any two refs to compare.

-18
debian-update.yml
···
ansible.builtin.apt:
upgrade: dist
-
- name: Check if backports are enabled in sources.list
-
ansible.builtin.lineinfile:
-
path: /etc/apt/sources.list
-
regex: "backports"
-
state: absent
-
changed_when: false
-
check_mode: true
-
register: backports
-
-
- name: Perform a dist-upgrade from Debian backports
-
ansible.builtin.apt:
-
default_release: bookworm-backports
-
update_cache: true
-
upgrade: dist
-
when:
-
- ansible_distribution == 'Debian'
-
- backports.found == 1
-
- name: Check if reboot is required
ansible.builtin.stat:
path: /var/run/reboot-required
···
ansible.builtin.apt:
upgrade: dist
- name: Check if reboot is required
ansible.builtin.stat:
path: /var/run/reboot-required
-8
freebsd-update.yml
···
-
---
- hosts: freebsd_servers
gather_facts: true
become: true
-
tasks:
- name: Update all installed packages
community.general.pkgng:
name: "*"
state: latest
-
- name: Update the base system
ansible.builtin.shell: freebsd-update fetch install --not-running-from-cron
-
- name: Get currently running FreeBSD kernel version in memory
ansible.builtin.shell: freebsd-version -r
register: running_kv
-
- name: Get newly installed kernel version
ansible.builtin.shell: freebsd-version -k
register: installed_kv
-
- name: Check for kernel version mismatch
set_fact:
reboot_required: "{{ running_kv.stdout != installed_kv.stdout }}"
-
- name: Display reboot status
ansible.builtin.debug:
msg: "Reboot required: {{ reboot_required }}"
-
- name: Reboot the FreeBSD server if needed
ansible.builtin.reboot:
reboot_timeout: 3600
···
- hosts: freebsd_servers
gather_facts: true
become: true
tasks:
- name: Update all installed packages
community.general.pkgng:
name: "*"
state: latest
- name: Update the base system
ansible.builtin.shell: freebsd-update fetch install --not-running-from-cron
- name: Get currently running FreeBSD kernel version in memory
ansible.builtin.shell: freebsd-version -r
register: running_kv
- name: Get newly installed kernel version
ansible.builtin.shell: freebsd-version -k
register: installed_kv
- name: Check for kernel version mismatch
set_fact:
reboot_required: "{{ running_kv.stdout != installed_kv.stdout }}"
- name: Display reboot status
ansible.builtin.debug:
msg: "Reboot required: {{ reboot_required }}"
- name: Reboot the FreeBSD server if needed
ansible.builtin.reboot:
reboot_timeout: 3600
+12 -54
inventory.yml
···
-
alma_servers:
-
hosts:
-
hyperreal.coffee:
-
ansible_user: jas
-
ansible_host: hyperreal.headscale.moonshadow.dev
-
ansible_python_interpreter: /usr/bin/python3
-
borgmatic_hosts:
hosts:
desktop:
ansible_user: jas
-
ansible_host: localhost
-
ansible_python_interpreter: /usr/bin/python3
-
hyperreal.coffee:
-
ansible_user: jas
-
ansible_host: hyperreal.headscale.moonshadow.dev
ansible_python_interpreter: /usr/bin/python3
nas:
ansible_user: jas
-
ansible_host: nas.headscale.moonshadow.dev
-
ansible_python_interpreter: /usr/local/bin/python3
-
moonshadow:
-
ansible_user: jas
-
ansible_host: moonshadow.headscale.moonshadow.dev
-
ansible_python_interpreter: /usr/local/bin/python3
-
debian_servers:
hosts:
-
headscale:
ansible_user: jas
-
ansible_host: headscale.headscale.moonshadow.dev
-
ansible_python_interpreter: /usr/bin/python3
-
rpi400:
-
ansible_user: root
-
ansible_host: rpi400.headscale.moonshadow.dev
-
ansible_python_interpreter: /usr/bin/python3
-
tor:
-
ansible_user: root
-
ansible_host: 202.61.244.44
ansible_python_interpreter: /usr/bin/python3
-
freebsd_servers:
hosts:
nas:
-
ansible_user: jas
-
ansible_host: nas.headscale.moonshadow.dev
-
ansible_python_interpreter: /usr/local/bin/python3
-
moonshadow:
-
ansible_user: jas
-
ansible_host: moonshadow.headscale.moonshadow.dev
-
ansible_python_interpreter: /usr/local/bin/python3
-
-
prom_servers:
-
hosts:
-
desktop:
-
ansible_user: jas
-
ansible_host: localhost
-
ansible_python_interpreter: /usr/bin/python3
-
-
prom_clients:
-
children:
-
alma_servers:
-
debian_servers:
-
freebsd_servers:
-
-
zfs_hosts:
-
children:
-
freebsd_servers:
···
borgmatic_hosts:
hosts:
desktop:
ansible_user: jas
+
ansible_host: desktop.carp-wyvern.ts.net
ansible_python_interpreter: /usr/bin/python3
nas:
ansible_user: jas
+
ansible_host: nas.carp-wyvern.ts.net
+
ansible_python_interpreter: /usr/local/bin/python3.11
debian_servers:
hosts:
+
moonshadow:
ansible_user: jas
+
ansible_host: moonshadow.carp-wyvern.ts.net
ansible_python_interpreter: /usr/bin/python3
freebsd_servers:
hosts:
nas:
+
ansible_user: root
+
ansible_host: nas.carp-wyvern.ts.net
+
ansible_python_interpreter: /usr/local/bin/python3.11
+
tornode:
+
ansible_user: root
+
ansible_host: tornode
+
ansible_python_interpreter: /usr/local/bin/python3.11
+5 -15
remote-logging-setup.yml
···
-
---
-
- hosts: alma_servers,debian_servers,freebsd_servers
gather_facts: true
become: true
-
tasks:
- name: Ensure rsyslog is installed
ansible.builtin.package:
name: rsyslog
state: latest
when: ansible_system == "Linux"
-
- name: Ensure rsyslog is enabled
ansible.builtin.systemd_service:
name: rsyslog
enabled: true
state: started
when: ansible_service_mgr == "systemd"
-
- name: Remove any forwarding file if exists
ansible.builtin.file:
path: /etc/rsyslog.d/forward.conf
state: absent
when: ansible_system == "Linux"
-
-
- name: Get control node headnet IP address
-
ansible.builtin.shell: tailscale status | grep "desktop" | awk '{print $1}'
register: ctrl_headnet_ip_addr
changed_when: false
-
delegate_to: 127.0.0.1
failed_when: ctrl_headnet_ip_addr.rc != 0
-
- name: Configure log forwarding
ansible.builtin.blockinfile:
path: /etc/rsyslog.d/forward.conf
···
group: root
mode: 0644
block: |
-
# Forward to desktop.headscale.moonshadow.dev ({{ctrl_headnet_ip_addr.stdout}})
*.* action(type="omfwd" target="{{ctrl_headnet_ip_addr.stdout}}" port="514" protocol="tcp"
action.resumeRetryCount="100"
queue.type="linkedList" queue.size="10000")
when: ansible_system == "Linux"
-
- name: Restart rsyslog
ansible.builtin.systemd_service:
name: rsyslog
enabled: true
state: restarted
when: ansible_service_mgr == "systemd"
-
- name: Set syslog flags for remote logging on FreeBSD
ansible.builtin.shell: sysrc syslog_flags="-s -v -v"
register: set_syslog_flags
changed_when: '"syslog_flags: -> YES" in set_syslog_flags.stdout'
when: ansible_service_mgr == "bsdinit"
-
- name: Set log forwarding on FreeBSD
ansible.builtin.lineinfile:
path: /etc/syslog.conf
line: "*.* @{{ctrl_headnet_ip_addr.stdout}}"
owner: root
group: wheel
mode: 0644
when: ansible_system == "FreeBSD"
-
- name: Restart syslogd
ansible.builtin.service:
name: syslogd
···
+
- hosts: remote_logging_clients
gather_facts: true
become: true
tasks:
- name: Ensure rsyslog is installed
ansible.builtin.package:
name: rsyslog
state: latest
when: ansible_system == "Linux"
- name: Ensure rsyslog is enabled
ansible.builtin.systemd_service:
name: rsyslog
enabled: true
state: started
when: ansible_service_mgr == "systemd"
- name: Remove any forwarding file if exists
ansible.builtin.file:
path: /etc/rsyslog.d/forward.conf
state: absent
when: ansible_system == "Linux"
+
- name: Get remote logging server headnet IP address
+
ansible.builtin.shell: tailscale status | grep "aux" | awk '{print $1}'
register: ctrl_headnet_ip_addr
changed_when: false
failed_when: ctrl_headnet_ip_addr.rc != 0
- name: Configure log forwarding
ansible.builtin.blockinfile:
path: /etc/rsyslog.d/forward.conf
···
group: root
mode: 0644
block: |
+
# Forward to aux.carp-wyvern.ts.net ({{ctrl_headnet_ip_addr.stdout}})
*.* action(type="omfwd" target="{{ctrl_headnet_ip_addr.stdout}}" port="514" protocol="tcp"
action.resumeRetryCount="100"
queue.type="linkedList" queue.size="10000")
when: ansible_system == "Linux"
- name: Restart rsyslog
ansible.builtin.systemd_service:
name: rsyslog
enabled: true
state: restarted
when: ansible_service_mgr == "systemd"
- name: Set syslog flags for remote logging on FreeBSD
ansible.builtin.shell: sysrc syslog_flags="-s -v -v"
register: set_syslog_flags
changed_when: '"syslog_flags: -> YES" in set_syslog_flags.stdout'
when: ansible_service_mgr == "bsdinit"
- name: Set log forwarding on FreeBSD
ansible.builtin.lineinfile:
path: /etc/syslog.conf
+
regexp: '^\*\.\*'
line: "*.* @{{ctrl_headnet_ip_addr.stdout}}"
owner: root
group: wheel
mode: 0644
when: ansible_system == "FreeBSD"
- name: Restart syslogd
ansible.builtin.service:
name: syslogd
+1 -1
zfs-log-compress.yml
···
# Based on https://github.com/FreeBSDFoundation/blog/blob/main/zfs-log-compression-on-freebsd/zfs_log_compress.yml
---
- name: Remove log compression on FreeBSD host, add timestamps to rotated logs
-
hosts: zfs_hosts
gather_facts: true
become: true
tasks:
···
# Based on https://github.com/FreeBSDFoundation/blog/blob/main/zfs-log-compression-on-freebsd/zfs_log_compress.yml
---
- name: Remove log compression on FreeBSD host, add timestamps to rotated logs
+
hosts: freebsd_servers
gather_facts: true
become: true
tasks: