summaryrefslogtreecommitdiff
path: root/roles/jail/tasks
diff options
context:
space:
mode:
Diffstat (limited to 'roles/jail/tasks')
-rw-r--r--roles/jail/tasks/main.yml34
1 files changed, 34 insertions, 0 deletions
diff --git a/roles/jail/tasks/main.yml b/roles/jail/tasks/main.yml
new file mode 100644
index 0000000..670a886
--- /dev/null
+++ b/roles/jail/tasks/main.yml
@@ -0,0 +1,34 @@
+- name: create dataset for jail
+ community.general.zfs:
+ name: "{{ jailset }}/{{ jail.name }}"
+ state: present
+ origin: "{{ jailset }}/base@{{ base_jail_patch_level }}"
+
+- name: make sure jail conf dir exists
+ file:
+ path: "{{ jailbase }}/conf"
+ state: directory
+ mode: '0755'
+
+- name: create jail conf {{ jail.name }}
+ ansible.builtin.template:
+ src: jail.conf.j2
+ dest: "{{ jailbase }}/conf/{{ jail.name }}.conf"
+
+- name: create additional datasets
+ community.general.zfs:
+ name: "{{ jailset }}/tank/{{ item }}"
+ state: present
+ extra_zfs_properties:
+ jailed: on
+ loop: "{{ jail.additional_data_sets | default([]) }}"
+
+- name: start jail
+ shell:
+ cmd: jls -j {{ jail.name }} || jail -f {{ jailbase }}/conf/{{ jail.name }}.conf -c {{ jail.name }}
+
+- name: Make sure packages are up to date in {{ jail.name }}
+ community.general.pkgng:
+ name: "*"
+ state: latest
+ jail: "{{ jail.name }}"