summaryrefslogtreecommitdiff
path: root/roles/storage/luks/device/tasks/main.yml
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2024-01-20 22:42:30 +0100
committerChristian Pointner <equinox@spreadspace.org>2024-01-20 22:42:30 +0100
commitba2ab1cb42db29c8287c65a3f1e0b646eeba0464 (patch)
tree73a496d6b03085de2aa8dfe22ca201ff0354ba07 /roles/storage/luks/device/tasks/main.yml
parentapps/storage: test with zfs volumes (diff)
add storage_device roles
Diffstat (limited to 'roles/storage/luks/device/tasks/main.yml')
-rw-r--r--roles/storage/luks/device/tasks/main.yml36
1 files changed, 36 insertions, 0 deletions
diff --git a/roles/storage/luks/device/tasks/main.yml b/roles/storage/luks/device/tasks/main.yml
new file mode 100644
index 00000000..7b84b8cc
--- /dev/null
+++ b/roles/storage/luks/device/tasks/main.yml
@@ -0,0 +1,36 @@
+---
+- name: Create temporary build directory
+ check_mode: False
+ tempfile:
+ state: directory
+ changed_when: False
+ register: luks_keyfile_dir
+
+- name: create luks device
+ block:
+ - name: write passphrase into temporary keyfile
+ check_mode: False
+ copy:
+ dest: "{{ luks_keyfile_dir.path }}/{{ luks_device.name }}"
+ content: "{{ luks_device.passphrase }}"
+ mode: 0400
+ changed_when: False
+
+ - name: create/open luks device
+ luks_device:
+ name: "{{ luks_device.name }}"
+ device: "{{ luks_device.device }}"
+ keyfile: "{{ luks_keyfile_dir.path }}/{{ luks_device.name }}"
+ state: opened
+
+ always:
+ - name: remove base-directory for keyfiles
+ check_mode: False
+ file:
+ path: "{{ luks_keyfile_dir.path }}"
+ state: absent
+ changed_when: False
+
+- name: export device path
+ set_fact:
+ storage_device_path: "/dev/mapper/{{ luks_device.name }}"