Skip to content

Commit 81ea8e1

Browse files
committed
refactor(vault-keyring): rename env vars and add disable-keyring support
- Rename VAULT_DUMMY_PASS -> VAULT_DISABLE_KEYRING, KEYRING_SERVICE -> VAULT_KEYRING_SERVICE, KEYRING_USERNAME -> VAULT_KEYRING_USERNAME - Add VAULT_DISABLE_KEYRING mode: prints VAULT_PASSWORD when set, falls back to dummy value when password is empty - Add [vault-keyring] prefix to log messages
1 parent cce69b6 commit 81ea8e1

1 file changed

Lines changed: 21 additions & 15 deletions

File tree

‎scripts/vault-keyring.sh‎

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,15 @@ set -o pipefail
2020

2121
: "${DEBUG:=""}"
2222

23-
: "${VAULT_DUMMY_PASS:=""}"
24-
: "${VAULT_PASSWORD:=""}"
23+
: "${VAULT_DISABLE_KEYRING:=""}"
24+
: "${VAULT_KEYRING_SERVICE:="linux-setup-playbook"}"
25+
: "${VAULT_KEYRING_USERNAME:="ansible-vault-password"}"
2526

26-
: "${KEYRING_SERVICE:="linux-setup-playbook"}"
27-
: "${KEYRING_USERNAME:="ansible-vault-password"}"
27+
: "${VAULT_PASSWORD:=""}"
2828

2929
function _msg()
3030
{
31-
echo "$*" >&2
31+
echo "[vault-keyring] $*" >&2
3232
}
3333

3434
function _run()
@@ -44,13 +44,13 @@ function use_keyring()
4444
if [[ ! -t 0 ]] ; then
4545
_msg "Saving password provided via stdin"
4646
password="$( < /dev/stdin )"
47-
echo "$password" | _run keyring set "$KEYRING_SERVICE" "$KEYRING_USERNAME"
47+
echo "$password" | _run keyring set "$VAULT_KEYRING_SERVICE" "$VAULT_KEYRING_USERNAME"
4848
exit $?
4949
fi
5050

5151
case "$1" in
5252
""|get)
53-
if ! _run keyring get "$KEYRING_SERVICE" "$KEYRING_USERNAME" ; then
53+
if ! _run keyring get "$VAULT_KEYRING_SERVICE" "$VAULT_KEYRING_USERNAME" ; then
5454
_msg "Error: Vault password was not found on keyring or could not be fetched from it"
5555
exit 1
5656
fi
@@ -64,10 +64,10 @@ function use_keyring()
6464
exit 2
6565
fi
6666

67-
echo "$password" | _run keyring set "$KEYRING_SERVICE" "$KEYRING_USERNAME"
67+
echo "$password" | _run keyring set "$VAULT_KEYRING_SERVICE" "$VAULT_KEYRING_USERNAME"
6868
;;
6969
del|delete)
70-
_run keyring del "$KEYRING_SERVICE" "$KEYRING_USERNAME"
70+
_run keyring del "$VAULT_KEYRING_SERVICE" "$VAULT_KEYRING_USERNAME"
7171
;;
7272
*)
7373
echo "Error: unknown option: $1" >&2
@@ -78,19 +78,25 @@ function use_keyring()
7878

7979
function main()
8080
{
81-
if [[ -n "$VAULT_DUMMY_PASS" ]] ; then
82-
_msg "[vault-keyring] VAULT_DUMMY_PASS variable is defined, printing dummy string to stdout"
83-
echo "dummy"
84-
exit 0
85-
fi
86-
8781
case "$1" in
8882
-D|--debug)
8983
DEBUG=1
9084
shift
9185
;;
9286
esac
9387

88+
if [[ -n "$VAULT_DISABLE_KEYRING" ]] ; then
89+
if [[ -n "$VAULT_PASSWORD" ]] ; then
90+
_msg "VAULT_DISABLE_KEYRING variable is defined, printing VAULT_PASSWORD to stdout"
91+
echo "$VAULT_PASSWORD"
92+
else
93+
_msg "Warning: VAULT_DISABLE_KEYRING is defined but VAULT_PASSWORD is empty, printing dummy value"
94+
echo "dummy-value"
95+
fi
96+
97+
exit 0
98+
fi
99+
94100
use_keyring "$@"
95101
}
96102

0 commit comments

Comments
 (0)