From 64c54f67f67344d43011f0d0f775384c3417a926 Mon Sep 17 00:00:00 2001 From: Wojciech Kozlowski Date: Sat, 7 Sep 2024 14:46:46 +0200 Subject: [PATCH] Create external directories --- inventory/host_vars/yggdrasil/vars.yml | 6 ++++++ playbooks/roles/services/include/vars/user.yml | 1 + .../setup/user/tasks/include/directories.yml | 16 ++++++++++++++++ .../user/tasks/include/directories/volumes.yml | 6 +++--- 4 files changed, 26 insertions(+), 3 deletions(-) diff --git a/inventory/host_vars/yggdrasil/vars.yml b/inventory/host_vars/yggdrasil/vars.yml index 6aa088f..d3b1706 100644 --- a/inventory/host_vars/yggdrasil/vars.yml +++ b/inventory/host_vars/yggdrasil/vars.yml @@ -63,6 +63,10 @@ system_external_dataset: "hpool/external" system_external_root_dataset: "{{ system_external_dataset }}/the-nine-worlds" system_external_data_dataset: "{{ system_external_root_dataset }}/data" +system_external_directory: "/media/hpool/external" +system_external_root_directory: "{{ system_external_directory }}/the-nine-worlds" +system_external_data_directory: "{{ system_external_root_directory }}/data" + # -------------------------------------------------------------------------------------------------- # vpn # -------------------------------------------------------------------------------------------------- @@ -149,6 +153,8 @@ services_data_dataset: "{{ system_var_data_dataset }}" services_containers_dataset: "{{ system_var_containers_dataset }}" services_external_dataset: "{{ system_external_data_dataset }}" +services_external_directory: "{{ system_external_data_directory }}" + services_host_services: lrproxy: inet_address: "{{ vpn_bridge_inet_prefix }}.2" diff --git a/playbooks/roles/services/include/vars/user.yml b/playbooks/roles/services/include/vars/user.yml index fb8da9d..7f19adf 100644 --- a/playbooks/roles/services/include/vars/user.yml +++ b/playbooks/roles/services/include/vars/user.yml @@ -2,5 +2,6 @@ services_service_user_name: "pod-{{ services_service_name }}" services_service_user_home: "{{ services_home_directory }}/{{ services_service_user_name }}" services_service_user_data: "{{ services_data_directory }}/{{ services_service_user_name }}" +services_service_user_external: "{{ services_external_directory }}/{{ services_service_user_name }}" services_service_user_containers: "\ {{ services_containers_directory }}/{{ services_service_user_name }}" diff --git a/playbooks/roles/services/setup/user/tasks/include/directories.yml b/playbooks/roles/services/setup/user/tasks/include/directories.yml index 7516b12..e558847 100644 --- a/playbooks/roles/services/setup/user/tasks/include/directories.yml +++ b/playbooks/roles/services/setup/user/tasks/include/directories.yml @@ -15,8 +15,24 @@ group: "{{ services_service_user_name }}" mode: 0755 +- name: "{{ services_service_name }} : directories : create external directory" + ansible.builtin.file: + path: "{{ services_service_user_external }}" + state: "directory" + owner: "{{ services_service_user_name }}" + group: "{{ services_service_user_name }}" + mode: 0755 + - name: "{{ services_service_name }} : directories : create volume directories" ansible.builtin.include_tasks: "directories/volumes.yml" + vars: + services_service_volume_root_directory: "\ + {% if services_service_volume.value.external is defined and \ + services_service_volume.value.external %}\ + {{ services_service_user_external }}\ + {% else %}\ + {{ services_service_user_data }}\ + {% endif %}" loop: "{{ services_service_volumes | dict2items }}" loop_control: loop_var: "services_service_volume" diff --git a/playbooks/roles/services/setup/user/tasks/include/directories/volumes.yml b/playbooks/roles/services/setup/user/tasks/include/directories/volumes.yml index 69c56c9..24e240b 100644 --- a/playbooks/roles/services/setup/user/tasks/include/directories/volumes.yml +++ b/playbooks/roles/services/setup/user/tasks/include/directories/volumes.yml @@ -2,7 +2,7 @@ - name: "\ {{ services_service_name }} : directories : create volume \"{{ services_service_volume.key }}\"" ansible.builtin.file: - path: "{{ services_service_user_data }}/{{ services_service_volume.key }}" + path: "{{ services_service_volume_root_directory }}/{{ services_service_volume.key }}" state: "directory" owner: "{{ services_service_user_name }}" group: "{{ services_service_user_name }}" @@ -12,13 +12,13 @@ {{ services_service_name }} : directories : check if \"{{ services_service_volume.key }}\" \ mount exists" ansible.builtin.stat: - path: "{{ services_service_user_data }}/{{ services_service_volume.key }}/_data" + path: "{{ services_service_volume_root_directory }}/{{ services_service_volume.key }}/_data" register: services_setup_user_volume_mount - name: "\ {{ services_service_name }} : directories : create \"{{ services_service_volume.key }}\" mount" ansible.builtin.file: - path: "{{ services_service_user_data }}/{{ services_service_volume.key }}/_data" + path: "{{ services_service_volume_root_directory }}/{{ services_service_volume.key }}/_data" state: "directory" owner: "{{ services_service_user_name }}" group: "{{ services_service_user_name }}"