cfg/bin/local-vault-auth
Knut Ahlers 3e70f15450
Only use shortened hostname
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2017-07-06 14:19:52 +02:00

43 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
set -e
set -o pipefail
function downloadVaultUserToken {
os=$(uname | awk '{print tolower($0)}')
curl -sSLfo ${HOME}/bin/vault-user-token \
https://github.com/Luzifer/vault-user-token/releases/download/${VAULT_USER_TOKEN_VERSION}/vault-user-token_${os}_amd64
chmod 0755 ${HOME}/bin/vault-user-token
}
source ${HOME}/.config/vault-user-token
if ! (vault token-lookup 1>/dev/null 2>&1); then
echo "Vault is not authenticated, trying to authenticate... "
[ -f ${HOME}/bin/vault-user-token ] || downloadVaultUserToken
( test "$(${HOME}/bin/vault-user-token --version)" == "vault-user-token ${VAULT_USER_TOKEN_VERSION}" ) || downloadVaultUserToken
${HOME}/bin/vault-user-token --full-hostname=false &
VUT=$!
echo "Waiting for token to become available"
while ! [ -f ${HOME}/.vault-token ]; do
# Give the program a moment to get a token
echo -n .
sleep 0.5
if ! ( kill -0 $VUT ); then
echo "vault-user-token exitted, giving up."
exit 1
fi
done
echo
if ! (vault token-lookup 1>/dev/null 2>&1); then
echo "Vault authentication failed finally"
exit 1
fi
fi