diff --git a/inventory/host_vars/yggdrasil/vars.yml b/inventory/host_vars/yggdrasil/vars.yml index d284100..6aa088f 100644 --- a/inventory/host_vars/yggdrasil/vars.yml +++ b/inventory/host_vars/yggdrasil/vars.yml @@ -147,6 +147,7 @@ music_user_nextcloud_videos_pswd: "{{ vault_music_user_nextcloud_videos_pswd }}" services_root_dataset: "{{ system_var_root_dataset }}" services_data_dataset: "{{ system_var_data_dataset }}" services_containers_dataset: "{{ system_var_containers_dataset }}" +services_external_dataset: "{{ system_external_data_dataset }}" services_host_services: lrproxy: diff --git a/playbooks/roles/services/datasets/user/tasks/main.yml b/playbooks/roles/services/datasets/user/tasks/main.yml index 6a177f1..39f4bd3 100644 --- a/playbooks/roles/services/datasets/user/tasks/main.yml +++ b/playbooks/roles/services/datasets/user/tasks/main.yml @@ -31,12 +31,26 @@ extra_zfs_properties: canmount: "off" + - name: "{{ services_service_name }} : create external dataset" + community.general.zfs: + name: "{{ services_external_dataset }}/{{ services_service_user_name }}" + state: "present" + extra_zfs_properties: + canmount: "off" + - name: "{{ services_service_name }} : create volume datasets" community.general.zfs: name: "{{ services_data_dataset }}/{{ services_service_user_name }}/{{ item.key }}" state: "present" extra_zfs_properties: "{{ item.value.extra_zfs_properties | default({}) }}" - loop: "{{ services_service_volumes | dict2items }}" + loop: "{{ services_service_volumes | dict2items | rejectattr('value.external', 'true') }}" + + - name: "{{ services_service_name }} : create external volume datasets" + community.general.zfs: + name: "{{ services_external_dataset }}/{{ services_service_user_name }}/{{ item.key }}" + state: "present" + extra_zfs_properties: "{{ item.value.extra_zfs_properties | default({}) }}" + loop: "{{ services_service_volumes | dict2items | selectattr('value.external', 'true') }}" when: