From e364e8dc933ab72d9c817ff5b3274a5a2217c5ff Mon Sep 17 00:00:00 2001 From: gyurix Date: Wed, 25 Jan 2023 08:58:35 +0000 Subject: [PATCH] Added selector based domain rules creating --- entrypoint.sh | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/entrypoint.sh b/entrypoint.sh index 6fd682c..22a5c92 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -24,6 +24,10 @@ ROLES=$ROLES fi; SERVICE_FILES=$SERVICE_FILES +HOST_FILE=$HOST_FILE +if [ "$HOST_FILE" == "" ]; then + HOST_FILE="/etc/dns/hosts.local"; +fi RETRIES_NUMBER=$RETRIES_NUMBER if [ -z "$RETRIES_NUMBER" ]; then @@ -43,6 +47,18 @@ name_resolver() { for D in $(echo $DNS); do + + if [ -z "$STRICK_CHECK" ]; then + # find $D as SELECTOR in hosts file + EXISTS=$(grep -w $D $HOST_FILE); + #EXISTS=$(grep -w "$D-" $HOST_FILE); # TODO? + if [ -n "$EXISTS" ]; then # selector exists in hosts file + APP_IP=$(echo $EXISTS | sed s/$D//g); # remove all selectors + debug "APP_IP: "$APP_IP; + else + debug "no matching APPLICATION NAME found in $HOST_FILE" + fi + else 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. @@ -92,10 +108,10 @@ name_resolver() { else debug "no matching running process found" fi - + fi done; - if [ $UP_COUNT -lt $SRV_COUNT ]; then + if [[ ! -z "$STRICK_CHECK" && $UP_COUNT -lt $SRV_COUNT ]]; then if [ "$2" == "" ]; then RETRIES=0; else RETRIES=$2; fi;