- Add check for kratos port

- Add new version of port forward script
This commit is contained in:
Mart van Santen 2021-12-08 07:56:58 +01:00
parent 776b2e6ced
commit 660a2b5a8c
2 changed files with 66 additions and 0 deletions

View file

@ -1,5 +1,26 @@
GREEN='\033[0;32m'
RED='\033[1;31m'
NC='\033[0m' # No Color
# Check if kratos port is open
if nc -z localhost 8000;
then
echo -e "${GREEN}Great! It looks like the Kratos Admin port is available${NC}"
else
echo -e "${RED}**********************************************************${NC}"
echo -e "${RED}WARNING! It looks like the Kratos Admin port NOT available${NC}"
echo -e "${RED}please run in a seperate terminal: ${NC}"
echo -e "${RED}./set-ssh-tunnel.sh init.stackspin.net ${NC}"
echo -e "${RED} ${NC}"
echo -e "${RED}We will continue to start the app after 5 seconds. ${NC}"
echo -e "${RED}**********************************************************${NC}"
sleep 5
fi
export FLASK_APP=app.py export FLASK_APP=app.py
export FLASK_ENV=development export FLASK_ENV=development
export SECRET_KEY="e38hq!@0n64g@qe6)5csk41t=ljo2vllog(%k7njnm4b@kh42c" export SECRET_KEY="e38hq!@0n64g@qe6)5csk41t=ljo2vllog(%k7njnm4b@kh42c"
export KRATOS_URL="http://127.0.0.1:8000" export KRATOS_URL="http://127.0.0.1:8000"
flask run flask run

45
set-ssh-tunnel.sh Executable file
View file

@ -0,0 +1,45 @@
#!/bin/bash
host=$1
namespace=$2
if [ "x$host" == "x" ]
then
echo "Please give host of kubernetes master as argument. Optionally a
namespace can be provided. This defaults to 'stackspin'"
echo " "
echo $0 hostname [namespace]
exit 1
fi
if [ "x$namespace" == "x" ]
then
namespace="stackspin"
fi
admin=`ssh $host -lroot kubectl get service -n $namespace |grep single-sign-on-kratos-admin | awk '{print $3'}`
public=`ssh $host -lroot kubectl get service -n $namespace |grep single-sign-on-kratos-public | awk '{print $3}'`
hydra=`ssh $host -lroot kubectl get service -n $namespace |grep single-sign-on-hydra-admin | awk '{print $3}'`
psql=`ssh $host -lroot kubectl get service -n $namespace |grep single-sign-on-postgres|grep -v headless | awk '{print $3}'`
if [ "x$admin" == 'x' ] || [ "x$public" == 'x' ] || [ "x$hydra" == 'x' ] || [ "x$psql" == 'x' ]
then
echo "It seems we where not able find at least one of the remote services"
echo " please make sure that kubectl use the right namespace by default."
echo " normally this is 'stackspin'. If you use a different namespace"
echo " please provide this as second argument"
exit 1
fi
echo "
kratos admin port will be at localhost: 8000
kratos public port will be at localhost: 8080
hydra admin port will be at localhost: 4445
psql port will be at localhost: 5432
"
ssh -L 8000:$admin:80 -L 8080:$public:80 -L 4445:$hydra:4445 -L 5432:$psql:5432 root@$host