35 lines
927 B
Bash
35 lines
927 B
Bash
|
#!/bin/bash
|
||
|
|
||
|
function isKeycloakHealthy {
|
||
|
echo Checking instance $1
|
||
|
CODE=`curl -s -o /dev/null -w "%{http_code}" $1/realms/master`
|
||
|
[ "$CODE" -eq "200" ]
|
||
|
}
|
||
|
|
||
|
function waitUntilSystemHealthy {
|
||
|
echo Waiting until all Keycloak instances are healthy...
|
||
|
if [ -z $1 ]; then ITERATIONS=60; else ITERATIONS=$1; fi
|
||
|
C=0
|
||
|
SYSTEM_HEALTHY=false
|
||
|
while ! $SYSTEM_HEALTHY; do
|
||
|
C=$((C+1))
|
||
|
if [ $C -gt $ITERATIONS ]; then
|
||
|
echo System healthcheck failed.
|
||
|
exit 1
|
||
|
fi
|
||
|
sleep 2
|
||
|
SYSTEM_HEALTHY=true
|
||
|
for URI in $KEYCLOAK_SERVER_URIS ; do
|
||
|
if ! isKeycloakHealthy $URI; then
|
||
|
echo Instance is not healthy.
|
||
|
SYSTEM_HEALTHY=false
|
||
|
fi
|
||
|
done
|
||
|
done
|
||
|
echo System is healthy.
|
||
|
}
|
||
|
|
||
|
if [ -z "$KEYCLOAK_SERVER_URIS" ]; then KEYCLOAK_SERVER_URIS=http://localhost:8080/auth; fi
|
||
|
|
||
|
waitUntilSystemHealthy
|