mirror of
https://github.com/fscotto/infra.git
synced 2026-05-30 23:49:56 +00:00
42 lines
1.0 KiB
Bash
Executable File
42 lines
1.0 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
set -eu
|
|
|
|
script_dir=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
|
|
repo_root=$(CDPATH= cd -- "$script_dir/.." && pwd)
|
|
vault_pass_gpg_file="$repo_root/secrets/.vault_pass.gpg"
|
|
vault_pass_file="$repo_root/secrets/.vault_pass"
|
|
|
|
if [ -r "$vault_pass_gpg_file" ]; then
|
|
if ! command -v gpg >/dev/null 2>&1; then
|
|
printf '%s\n' "Encrypted vault password file found at $vault_pass_gpg_file but gpg is not installed." >&2
|
|
exit 1
|
|
fi
|
|
|
|
if ! gpg --quiet --batch --decrypt "$vault_pass_gpg_file"; then
|
|
printf '%s\n' "Failed to decrypt vault password file at $vault_pass_gpg_file." >&2
|
|
exit 1
|
|
fi
|
|
|
|
exit 0
|
|
fi
|
|
|
|
if [ -r "$vault_pass_file" ]; then
|
|
IFS= read -r password < "$vault_pass_file" || password=''
|
|
printf '%s' "$password"
|
|
exit 0
|
|
fi
|
|
|
|
if [ -t 0 ]; then
|
|
printf 'Vault password: ' >&2
|
|
stty -echo
|
|
IFS= read -r password
|
|
stty echo
|
|
printf '\n' >&2
|
|
printf '%s' "$password"
|
|
exit 0
|
|
fi
|
|
|
|
printf '%s\n' "Vault password files not found at $vault_pass_gpg_file or $vault_pass_file and no interactive TTY is available." >&2
|
|
exit 1
|