aboutsummaryrefslogtreecommitdiffstats
path: root/tasks
diff options
context:
space:
mode:
authorJan Tuomi <jan@jantuomi.fi>2025-06-23 11:16:59 +0300
committerJan Tuomi <jan@jantuomi.fi>2025-06-23 14:45:50 +0300
commit054b2815758e93c699e9a6bb32853e2a4cdef2ff (patch)
tree5f97e1b91ce90e104ba726ba70ec682846883aec /tasks
parentb3c6ca37500b52821b2b66147b22190414c09993 (diff)
Add email, network, zfs tasks
Diffstat (limited to 'tasks')
-rw-r--r--tasks/email.yml54
-rw-r--r--tasks/network.yml39
-rw-r--r--tasks/zfs.yml18
3 files changed, 111 insertions, 0 deletions
diff --git a/tasks/email.yml b/tasks/email.yml
new file mode 100644
index 0000000..fe83778
--- /dev/null
+++ b/tasks/email.yml
@@ -0,0 +1,54 @@
+- name: Install dma
+ package:
+ name: dma
+ state: present
+
+- name: Create dma config directory
+ file:
+ path: /etc/dma
+ state: directory
+ owner: root
+ group: wheel
+ mode: "0755"
+
+- name: Configure dma.conf
+ template:
+ src: etc_dma_dma.conf.j2
+ dest: /etc/dma/dma.conf
+ owner: root
+ group: wheel
+ mode: "0644"
+ register: etc_dma_dma_conf
+
+- name: Configure auth.conf
+ template:
+ src: etc_dma_auth.conf.j2
+ dest: /etc/dma/auth.conf
+ owner: root
+ group: mail
+ mode: "0640"
+ register: etc_dma_auth_conf
+
+- name: Configure aliases
+ template:
+ src: etc_aliases.j2
+ dest: /etc/aliases
+ owner: root
+ group: wheel
+ mode: "0644"
+ register: etc_aliases_conf
+
+- name: Run newaliases
+ shell: newaliases
+
+- name: Test mail delivery
+ when: etc_dma_dma_conf.changed or etc_dma_auth_conf.changed or etc_aliases_conf.changed
+ block:
+ - name: Send email
+ shell: echo "DMA test message from Ansible" | mail -s "Test DMA" root
+ register: mail_result
+ changed_when: false
+
+ - name: Show mail result
+ debug:
+ var: mail_result
diff --git a/tasks/network.yml b/tasks/network.yml
new file mode 100644
index 0000000..da194b9
--- /dev/null
+++ b/tasks/network.yml
@@ -0,0 +1,39 @@
+- 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"
+
+- name: Restart networking if custom interfaces do not exist
+ shell: service netif restart
+ when: lan0_status.stdout.find('failed') != -1 or
+ wan0_status.stdout.find('failed') != -1
+
+- name: Update facts
+ setup:
+
+- name: Set up sshd
+ template:
+ src: etc_ssh_sshd_config.j2
+ dest: /etc/ssh/sshd_config
+ owner: root
+ group: wheel
+ mode: "0644"
+ register: etc_sshd_config
+
+- name: Restart sshd
+ shell: service sshd restart
+ when: etc_sshd_config.changed
diff --git a/tasks/zfs.yml b/tasks/zfs.yml
new file mode 100644
index 0000000..947ebb6
--- /dev/null
+++ b/tasks/zfs.yml
@@ -0,0 +1,18 @@
+- name: Ensure /usr/local/etc/rc.d/ exists
+ file:
+ path: /usr/local/etc/rc.d/
+ state: directory
+ owner: root
+ group: wheel
+ mode: "0755"
+
+- name: Add zpool_gpt_labels rc.d service
+ template:
+ src: usr_local_etc_rc.d_zpool_gpt_labels.j2
+ dest: /usr/local/etc/rc.d/zpool_gpt_labels
+ owner: root
+ group: wheel
+ mode: "0755"
+
+- name: Enable and start zpool_gpt_labels service
+ shell: service zpool_gpt_labels enable && service zpool_gpt_labels start