aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Tuomi <jan@jantuomi.fi>2025-06-23 17:27:50 +0300
committerJan Tuomi <jan@jantuomi.fi>2025-06-23 17:27:50 +0300
commit1ae6ea46e91f5fe5074d3ec2fefd87abaa6d695d (patch)
tree3c064c913b3884f94e0dbdbc3e439955e10e54e5
parent24c4a724de06a666c7460387a43f8800cfc1eb26 (diff)
Refactor, add jails.yml
-rw-r--r--playbook.yml3
-rw-r--r--tasks/email.yml1
-rw-r--r--tasks/jails.yml7
-rw-r--r--tasks/network.yml59
-rw-r--r--tasks/zfs.yml20
5 files changed, 64 insertions, 26 deletions
diff --git a/playbook.yml b/playbook.yml
index 45d45e1..fad7867 100644
--- a/playbook.yml
+++ b/playbook.yml
@@ -29,3 +29,6 @@
- name: Run ZFS tasks
import_tasks: tasks/zfs.yml
+
+ - name: Run jails tasks
+ import_tasks: tasks/jails.yml
diff --git a/tasks/email.yml b/tasks/email.yml
index fe83778..f36d6db 100644
--- a/tasks/email.yml
+++ b/tasks/email.yml
@@ -40,6 +40,7 @@
- name: Run newaliases
shell: newaliases
+ when: etc_aliases_conf.changed
- name: Test mail delivery
when: etc_dma_dma_conf.changed or etc_dma_auth_conf.changed or etc_aliases_conf.changed
diff --git a/tasks/jails.yml b/tasks/jails.yml
new file mode 100644
index 0000000..09f1d4c
--- /dev/null
+++ b/tasks/jails.yml
@@ -0,0 +1,7 @@
+- name: Ensure /usr/jails exists
+ file:
+ path: /usr/jails
+ state: directory
+ owner: root
+ group: wheel
+ mode: "0755"
diff --git a/tasks/network.yml b/tasks/network.yml
index 2a4ec23..cd9a148 100644
--- a/tasks/network.yml
+++ b/tasks/network.yml
@@ -1,26 +1,23 @@
-- name: Check existence of lan0
- shell: ifconfig lan0 || echo "failed"
- register: lan0_status
-
-- name: Check existence of wan0
- shell: ifconfig wan0 || echo "failed"
- register: wan0_status
-
- name: Set up network interfaces
- shell: |
- sysrc -x ifconfig_igc0
- sysrc -x ifconfig_igc0_ipv6
- sysrc ifconfig_igc0_name="lan0"
- sysrc ifconfig_igc1_name="wan0"
- sysrc ifconfig_lan0="DHCP"
- sysrc ifconfig_lan0_ipv6="inet6 accept_rtadv"
- sysrc ifconfig_wan0="DHCP"
- sysrc ifconfig_wan0_ipv6="inet6 accept_rtadv"
+ community.general.sysrc:
+ name: "{{ item.name }}"
+ value: "{{ item.value | default(omit) }}"
+ state: "{{ item.state | default(omit) }}"
+ loop:
+ - { name: "ifconfig_igc0", state: "absent" }
+ - { name: "ifconfig_igc1", state: "absent" }
+ - { name: "ifconfig_igc0_name", value: "lan0" }
+ - { name: "ifconfig_igc1_name", value: "wan0" }
+ - { name: "ifconfig_lan0", value: "DHCP" }
+ - { name: "ifconfig_wan0", value: "DHCP" }
+ - { name: "ifconfig_lan0_ipv6", value: "inet6 accept_rtadv" }
+ - { name: "ifconfig_wan0_ipv6", value: "inet6 accept_rtadv" }
+ - { name: "ifconfig_lan0_alias0", value: "inet 10.0.0.1/32" }
+ register: ifconfig_sysrc
-- name: Restart networking if custom interfaces do not exist
+- name: Restart networking if interface configuration changed
shell: service netif restart
- when: lan0_status.stdout.find('failed') != -1 or
- wan0_status.stdout.find('failed') != -1
+ when: ifconfig_sysrc.changed
- name: Update facts
setup:
@@ -35,11 +32,27 @@
register: etc_sshd_config
- name: Restart sshd
- shell: service sshd restart
+ service:
+ name: sshd
+ state: restarted
when: etc_sshd_config.changed
- name: Disable syslogd remote listening
- shell: sysrc syslogd_flags="-s" && service syslogd restart
+ community.general.sysrc:
+ name: syslogd_flags
+ value: "-s"
+ register: syslogd_flags
+
+- name: Enable syslogd
+ service:
+ name: syslogd
+ enabled: true
+
+- name: Restart syslogd
+ service:
+ name: syslogd
+ state: restarted
+ when: syslogd_flags.changed
- name: Configure pf
template:
@@ -49,6 +62,7 @@
group: wheel
mode: "0644"
backup: yes
+ register: pf_conf
- name: Enable and start pf
service:
@@ -58,3 +72,4 @@
- name: Reload pf rules
shell: pfctl -f /etc/pf.conf
+ when: pf_conf.changed
diff --git a/tasks/zfs.yml b/tasks/zfs.yml
index e053907..c869db7 100644
--- a/tasks/zfs.yml
+++ b/tasks/zfs.yml
@@ -13,12 +13,18 @@
owner: root
group: wheel
mode: "0755"
+ register: rc_zpool_gpt_labels
-- name: Enable and start zpool_gpt_labels
+- name: Enable zpool_gpt_labels
service:
name: zpool_gpt_labels
enabled: true
- state: started
+
+- name: Restart zpool_gpt_labels
+ service:
+ name: zpool_gpt_labels
+ state: restarted
+ when: rc_zpool_gpt_labels.changed
- name: Install smartd
package:
@@ -32,9 +38,15 @@
owner: root
group: wheel
mode: "0644"
+ register: smartd_conf
-- name: Enable and start smartd
+- name: Enable smartd
service:
name: smartd
enabled: true
- state: started
+
+- name: Restart smartd
+ service:
+ name: smartd
+ state: restarted
+ when: smartd_conf.changed