nix: update inputs.julm-nix
[sourcephile-nix.git] / hosts / losurdo / encrypt.sh
index 2b9e448418c2414df7f79635c154640a82c6a1c5..7ff518c30fb8d4550b200cb25a15efa6ed6917e8 100755 (executable)
@@ -1,20 +1,15 @@
 #!/usr/bin/env bash
 set -eux
 set -o pipefail
-dir=${0%/*}
-gpg=$1
+#dir=${0%/*}
+gpg=$(realpath -e "$1")
 base=${gpg%.gpg}
+name=${NAME:-${base##*/}}
 
 umask 177
-SECRET=$(mktemp /dev/shm/credential.secret.XXXXXXX)
+SECRET=$(mktemp /dev/shm/secret.XXXXXXX)
 trap 'chmod 600 $SECRET; shred --remove=unlink $SECRET' EXIT
-gpg --yes --output "$SECRET" --decrypt "$dir/credential.secret.gpg"
-
-gpg --decrypt "$gpg" |
-sudo unshare --mount sh -xc "
-  mount --bind '$SECRET' /var/lib/systemd/credential.secret &&
-  chmod 400 /var/lib/systemd/credential.secret &&
-  mount --bind '$dir'/machine-id /etc/machine-id &&
-  systemd-creds encrypt --with-key=host --name '${base##*/}' - - |
-  install -m 400 -o '$USER' -g users /dev/stdin '$base.cred'
-"
+gpg --batch --decrypt "$gpg" |
+ssh -o StrictHostKeyChecking=yes -o ControlMaster=auto -o ControlPersist=16s root@losurdo.sp -- systemd-creds encrypt --name "$name" --with-key=auto - - |
+install -D -m 640 /dev/stdin "$SECRET"
+cp "$SECRET" "$base".cred