summaryrefslogtreecommitdiff
path: root/roles/storage/luks/device/tasks/main.yml
diff options
context:
space:
mode:
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 }}"