This commit is contained in:
2022-12-20 10:35:46 +00:00
parent 4280ba3429
commit 413a7133bd

View File

@@ -8,6 +8,7 @@ debug() {
}
# Task type variables
DEBUG=0
ROUTE=$ROUTE
HOST=$HOST
PREROUTING=$PREROUTING
@@ -26,6 +27,8 @@ set | grep SOURCE
set | grep TARGET
set | grep ROLES
SERVICE_FILES=$SERVICE_FILES
# turn on debug mode by extra option "debug"
if [[ "$(echo "$EXTRA_OPTIONS" | grep debug)" != "" ]] ; then
DEBUG=1
@@ -38,12 +41,14 @@ name_resolver() {
local DNS_IP
local DNS=$1
APP_IP=""
UP_COUNT=0;
SRV_COUNT=0;
echo "DNS: "$DNS;
for D in $(echo $DNS);
do
D=$(echo $D | cut -d "-" -f1)
UP=$(docker ps --format '{{.Names}}\t{{.Status}}' | grep Up | awk '{print $1}' | grep $D"-") ;
# filtering for ROLES variables if exists.
if [[ "$ROLES" != "null" && ! -z "$ROLES" ]]; then
@@ -56,8 +61,31 @@ name_resolver() {
fi
done
done
UP=$UPS
fi
UP=$UPS
fi
UP_COUNT=$((UP_COUNT+$(echo $UP | wc -w)));
for SRV_FILE in $(echo $SERVICE_FILES); do
CONTAINER_NAMES=$(jq -r .containers[].NAME $SRV_FILE);
for NAME in $(echo $CONTAINER_NAMES); do
NEWNAME=$(echo $NAME | cut -d "-" -f1);
if [ "$D" == "$NEWNAME" ]; then
if [[ "$ROLES" != "null" && ! -z "$ROLES" ]]; then
C_ROLES=$(jq -r --arg NAME "$NAME" '.containers[] | select(.NAME==$NAME)' $SRV_FILE | jq -r .ROLES);
for ROLE in $(echo $ROLES); do
# TODO, ha C_ROLES tobb erteket tartalmaz
if [ "$ROLE" == "$C_ROLES" ]; then
SRV_COUNT=$((SRV_COUNT+1));
fi
done
else
SRV_COUNT=$((SRV_COUNT+1));
fi;
fi;
done;
done
if [ ! -z "$UP" ] ; then
for D_IP in `echo $UP` ;
@@ -71,6 +99,18 @@ name_resolver() {
fi
done;
if [ $UP_COUNT -lt $SRV_COUNT ]; then
if [ "$2" == "" ]; then RETRIES=0;
else RETRIES=$2;
fi;
if [ $RETRIES -le $RETRIES_NUMBER ]; then
debug "Try to reread container names at $RETRIES";
sleep 1;
RETRIES=$((RETRIES+1));
name_resolver $DNS $RETRIES;
fi
fi;
}
if [[ -z "$TYPE" ]]; then