From 4c8400eab0378fb156f1d690ef9db4c05f92d32e Mon Sep 17 00:00:00 2001
From: nd <git@notandy.de>
Date: Tue, 24 Nov 2020 00:14:33 +0100
Subject: [PATCH] add service to load zfs key

---
 files/zfs-load-key.service | 13 +++++++++++++
 tasks/main.yml             | 14 ++++++++++++++
 2 files changed, 27 insertions(+)
 create mode 100644 files/zfs-load-key.service

diff --git a/files/zfs-load-key.service b/files/zfs-load-key.service
new file mode 100644
index 0000000..28e4863
--- /dev/null
+++ b/files/zfs-load-key.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Load encryption keys
+DefaultDependencies=no
+After=zfs-import.target
+Before=zfs-mount.service
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/usr/sbin/zfs load-key -a
+
+[Install]
+WantedBy=zfs-mount.service
diff --git a/tasks/main.yml b/tasks/main.yml
index 273d18e..69c57ca 100644
--- a/tasks/main.yml
+++ b/tasks/main.yml
@@ -6,6 +6,20 @@
       - zfs-dkms
       - zfsutils-linux
 
+- name: copy zfs unlock systemd service
+  copy:
+    src: zfs-load-key.service
+    dest: /etc/systemd/system/zfs-load-key.service
+    owner: root
+    group: root
+    mode: 0644
+
+- name: enable systemd unlock service
+  ansible.builtin.systemd:
+    name: zfs-load-key.service
+    enabled: True
+    daemon_reload: True
+
 - name: create volumes
   loop: "{{ zfs.volumes|dict2items }}"
   include_tasks: volume.yml
-- 
GitLab