diff --git a/bridgehead b/bridgehead index 0634d06..7585594 100755 --- a/bridgehead +++ b/bridgehead @@ -46,6 +46,7 @@ source /etc/bridgehead/site.conf case "$ACTION" in start) checkRequirements + fetchVarsFromVault /etc/bridgehead/site.conf /etc/bridgehead/$PROJECT.env exec docker-compose -f ./$PROJECT/docker-compose.yml --env-file /etc/bridgehead/$PROJECT.env up ;; stop) diff --git a/lib/functions.sh b/lib/functions.sh index 03def34..5ffd5c7 100755 --- a/lib/functions.sh +++ b/lib/functions.sh @@ -23,3 +23,21 @@ checkRequirements() { return 0 fi } + +fetchVarsFromVault() { + VARS_TO_FETCH="" + + for line in $(cat $@); do + if [[ $line =~ .*=\.* ]]; then + VARS_TO_FETCH+="$(echo -n $line | sed 's/=.*//') " + fi + done + + if [ -z "$VARS_TO_FETCH" ]; then + return 0 + fi + + eval $(docker run --rm -ti -e BW_MASTERPASS -e BW_CLIENTID -e BW_CLIENTSECRET bwcli $VARS_TO_FETCH | sed 's/\r//g') + + return 0 +}