aboutsummaryrefslogtreecommitdiffstats
path: root/roles/jail/tasks
diff options
context:
space:
mode:
authorJan Sydänviita <jan@sydanviita.fi>2026-08-18 15:59:39 +0300
committerJan Sydänviita <jan@sydanviita.fi>2026-08-18 15:59:39 +0300
commite63f07385f9c67395315fe029735fe32d9b16480 (patch)
treebed59ff1d6ea7d959e618088e48e8785b2c9eadd /roles/jail/tasks
parent076581c53354b51dafc4d5dc7760f0c5ff03344a (diff)
Add forge jail
Diffstat (limited to 'roles/jail/tasks')
-rw-r--r--roles/jail/tasks/jail_setup.yml15
1 files changed, 12 insertions, 3 deletions
diff --git a/roles/jail/tasks/jail_setup.yml b/roles/jail/tasks/jail_setup.yml
index aac91f7..4a77366 100644
--- a/roles/jail/tasks/jail_setup.yml
+++ b/roles/jail/tasks/jail_setup.yml
@@ -115,15 +115,23 @@
loop: "{{ dirs | default([]) }}"
delegate_to: "{{ jail_delegate_host }}"
-- name: "Create mount point sources for {{ jail_name }}"
- file:
+- name: "Verify mount point sources exist for {{ jail_name }}"
+ stat:
path: "{{ item.src }}"
- state: directory
loop: "{{ _nullfs }}"
loop_control:
label: "{{ item.src }}"
+ register: _nullfs_sources
delegate_to: "{{ jail_delegate_host }}"
+- name: "Assert mount point sources exist for {{ jail_name }}"
+ assert:
+ that: item.stat.exists
+ fail_msg: "nullfs source does not exist: {{ item.item.src }}"
+ loop: "{{ _nullfs_sources.results }}"
+ loop_control:
+ label: "{{ item.item.src }}"
+
- name: "Create mount point destinations for {{ jail_name }}"
file:
path: "/usr/local/jails/containers/{{ jail_name }}{{ item.dst }}"
@@ -134,6 +142,7 @@
loop: "{{ _nullfs }}"
loop_control:
label: "{{ item.dst }}"
+ when: jail_exists.rc != 0 or (jail_origin.stdout is defined and userland + '@base' not in jail_origin.stdout)
delegate_to: "{{ jail_delegate_host }}"
- name: "Deploy jail.conf.d/{{ jail_name }}.conf"