diff options
Diffstat (limited to 'roles/storage/luks/device')
-rw-r--r-- | roles/storage/luks/device/defaults/main.yml | 7 | ||||
-rw-r--r-- | roles/storage/luks/device/tasks/main.yml | 36 |
2 files changed, 43 insertions, 0 deletions
diff --git a/roles/storage/luks/device/defaults/main.yml b/roles/storage/luks/device/defaults/main.yml new file mode 100644 index 00000000..009d1485 --- /dev/null +++ b/roles/storage/luks/device/defaults/main.yml @@ -0,0 +1,7 @@ +--- +# luks_device: +# name: crypto-nvme0 +# passphrase: "keep-this-very-very-secret" +# device: /dev/nvme0n1p3 + +luks_device: "{{ storage_device }}" 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 }}" |