Files
vnctalk-hybridauth/startgcpdevapi.sh
T

62 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
USERNAME=$USER;
RSA_FILE=~/.ssh/id_rsa
if [ -n "$ID_RSA" ]; then
RSA_FILE=$ID_RSA
fi
echo "RSA_FILE = $RSA_FILE"
RSA_FILE=~/.ssh/id_rsa
if [ -n "$ID_RSA" ]; then
RSA_FILE=$ID_RSA
fi
echo "RSA_FILE = $RSA_FILE"
if [ -f ~/.vnc-gcp-user ]; then
echo "found username config..."
USERNAME=$(cat ~/.vnc-gcp-user | grep "^USERNAME" | awk -F "=" '{print $2}');
echo "using username $USERNAME for gcp ssh tunnels"
fi
if [ -S "/tmp/vncddb.sock" ]; then
echo "Socket for vncdirectory database already active - skipping"
else
echo "starting tunnel for vncdirectory db"
ssh -i $RSA_FILE "$USERNAME@10.0.201.44" -o "proxycommand ssh -W %h:%p $USERNAME@34.107.1.238" -f -N -M -S /tmp/vncddb.sock -L 54322:127.0.0.1:5432
sleep 3
fi
echo "starting..."
export NODE_ENV=development
export PORT=8000
node app/app.js 2>&1 | tee -a /tmp/vncha-api.log &
echo "waiting for api service to start..."
sleep 10
osslug=$(uname);
serverup="1";
while [ "$serverup" = 1 ]; do
serverup="0";
if [ "$osslug" = "Linux" ]; then
serverup=$(netstat -nlp 2>/dev/null | grep -c "9544");
fi
if [ "$osslug" = "Darwin" ]; then
serverup=$(netstat -an -ptcp 2>/dev/null | grep LISTEN | grep -c "9544");
fi
sleep 10
done
echo "api service no longer running - closing tunnels"
ssh -S /tmp/vncddb.sock -O exit "$USER@10.0.201.44"