aboutsummaryrefslogtreecommitdiffstats
path: root/roles/jail/tasks
diff options
context:
space:
mode:
Diffstat (limited to 'roles/jail/tasks')
-rw-r--r--roles/jail/tasks/jail_setup.yml31
1 files changed, 31 insertions, 0 deletions
diff --git a/roles/jail/tasks/jail_setup.yml b/roles/jail/tasks/jail_setup.yml
index 9122b79..7920ee4 100644
--- a/roles/jail/tasks/jail_setup.yml
+++ b/roles/jail/tasks/jail_setup.yml
@@ -1,3 +1,34 @@
+- name: "Create ZFS volumes for {{ jail_name }}"
+ community.general.zfs:
+ name: "{{ item.name }}"
+ state: present
+ extra_zfs_properties:
+ mountpoint: "/usr/local/jails/containers/{{ jail_name }}{{ item.mountpoint }}"
+ loop: "{{ zfs | default([]) }}"
+ loop_control:
+ label: "{{ item.name }}"
+ delegate_to: "{{ jail_delegate_host }}"
+
+- name: "Create mount points for ZFS volumes in {{ jail_name }}"
+ file:
+ path: "/usr/local/jails/containers/{{ jail_name }}{{ item.mountpoint }}"
+ state: directory
+ owner: root
+ group: wheel
+ mode: "0755"
+ loop: "{{ zfs | default([]) }}"
+ loop_control:
+ label: "{{ item.mountpoint }}"
+ delegate_to: "{{ jail_delegate_host }}"
+
+- name: "Mount ZFS volumes for {{ jail_name }}"
+ shell: "zfs mount {{ item.name }} || true"
+ loop: "{{ zfs | default([]) }}"
+ loop_control:
+ label: "{{ item.name }}"
+ changed_when: false
+ delegate_to: "{{ jail_delegate_host }}"
+
# Host-side setup (runs on the jail host via SSH)
- name: "Check if {{ jail_name }} container exists"
shell: "zfs list -o name | grep -Fxq 'zroot/jails/containers/{{ jail_name }}'"