zfs: add option to use kernel keyring for encryption credentials

This commit is contained in:
Shawn8901 2024-07-01 21:10:03 +02:00
parent f90d0a338d
commit 9a1d8f09cf

View file

@ -233,7 +233,7 @@ let
tries=3
success=false
while [[ $success != true ]] && [[ $tries -gt 0 ]]; do
${systemd}/bin/systemd-ask-password --timeout=${toString cfgZfs.passwordTimeout} "Enter key for $ds:" | ${cfgZfs.package}/sbin/zfs load-key "$ds" \
${systemd}/bin/systemd-ask-password ${lib.optionalString cfgZfs.useKeyringForCredentials ("--keyname=zfs-$ds")} --timeout=${toString cfgZfs.passwordTimeout} "Enter key for $ds:" | ${cfgZfs.package}/sbin/zfs load-key "$ds" \
&& success=true \
|| tries=$((tries - 1))
done
@ -403,6 +403,8 @@ in
'';
};
useKeyringForCredentials = lib.mkEnableOption "Uses the kernel keyring for encryption credentials with keyname=zfs-<poolname>";
passwordTimeout = lib.mkOption {
type = lib.types.int;
default = 0;