24 lines
567 B
Bash
Executable File
24 lines
567 B
Bash
Executable File
#!/usr/bin/env -S nix shell nixpkgs#sops -c bash
|
|
|
|
set -o errexit
|
|
set -o nounset
|
|
set -o pipefail
|
|
|
|
if [[ "$#" -ne 1 ]]; then
|
|
echo "Usage: $0 <sops-master-key>"
|
|
exit 1
|
|
fi
|
|
|
|
export SOPS_AGE_KEY_FILE="$1"
|
|
|
|
find . -type f -name 'sops.yaml' | while IFS= read -r sops_file; do
|
|
dir=$(dirname "$sops_file")
|
|
echo "$dir"
|
|
find "$dir" -maxdepth 1 -type f -regextype posix-extended \
|
|
-regex '.+\.(yaml|yml|json|env|ini|bin)' \
|
|
! -name 'sops.yaml' | while IFS= read -r file; do
|
|
echo "$file"
|
|
sops --config "$sops_file" updatekeys "$file" -y
|
|
done
|
|
done
|