mirror of
https://github.com/Mic92/sops-nix.git
synced 2024-12-14 11:57:52 +00:00
29 lines
705 B
Bash
29 lines
705 B
Bash
_sopsAddKey() {
|
|
@gpg@ --quiet --import "$key"
|
|
local fpr
|
|
fpr=$(@gpg@ --with-fingerprint --with-colons --show-key "$key" \
|
|
| awk -F: '$1 == "fpr" { print $10;}')
|
|
if [[ $fpr != "" ]]; then
|
|
export SOPS_PGP_FP=''${SOPS_PGP_FP}''${SOPS_PGP_FP:+','}$fpr
|
|
fi
|
|
}
|
|
|
|
sopsPGPHook() {
|
|
local key dir
|
|
for key in $sopsPGPKeys; do
|
|
if [[ -f "$key" ]]; then
|
|
_sopsAddKey "$key"
|
|
else
|
|
echo "$key does not exists" >&2
|
|
fi
|
|
done
|
|
for dir in $sopsPGPKeyDirs; do
|
|
while IFS= read -r -d '' key; do
|
|
_sopsAddKey "$key"
|
|
done < <(find -L "$dir" -type f \( -name '*.gpg' -o -name '*.asc' \) -print0)
|
|
done
|
|
}
|
|
|
|
if [ -z "${shellHook-}" ]; then
|
|
shellHook=sopsPGPHook
|
|
fi
|