From 3efade8643917e76f5f44036645caf6efae9f070 Mon Sep 17 00:00:00 2001 From: LeeW Date: Thu, 30 Jan 2025 16:59:30 +0100 Subject: [PATCH] automates listing of keyfiles --- __update_sops.sh | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100755 __update_sops.sh diff --git a/__update_sops.sh b/__update_sops.sh new file mode 100755 index 0000000..ec89b65 --- /dev/null +++ b/__update_sops.sh @@ -0,0 +1,28 @@ +#/usr/bin/env bash + +set -euo pipefail + +function fn_extract_fpr_uid_str(){ + gpgkeyfile=$1;shift; + type=$1;shift; + + # caveat: restrict to netgo.de email, use-case: + # uid ... <...@mehrwerk.net> + # uid ... netgo.de> + + # fingerprint + fpr="$(gpg --show-keys --list-options show-only-fpr-mbox "${gpgkeyfile}" | grep '@netgo.de' | awk "{print \$1}")" + # user id + uid="$(gpg --show-keys --with-colons "${gpgkeyfile}" | awk -F':' '$1=="uid" {print $10}' | grep '@netgo.de')" + echo "# ${fpr} | ${type} | ${uid}" +} + +echo "# Fingerprint | User Type | User ID" +for gpgkeyfile in *automation*gpg.pub; do + u_type="autom" + echo "$(fn_extract_fpr_uid_str "${gpgkeyfile}" "${u_type}")" +done +for gpgkeyfile in $(ls *gpg.pub | grep -v automation); do + u_type="human" + echo "$(fn_extract_fpr_uid_str "${gpgkeyfile}" "${u_type}")" +done