diff --git a/entrypoint.sh b/entrypoint.sh index e1b69d3..e053ce6 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -7,11 +7,12 @@ debug() { fi; } -SOURCE=$SMARTHOST_PROXY_IP +SOURCE=$SMARTHOST_PROXY TARGET=$TARGET DOMAIN=$DOMAIN PORT=$PORT PUBLIC_PROXY_PATH=$PUBLIC_PROXY_PATH +SMARTHOST_PROXY_PATH=$SMARTHOST_PROXY_PATH # ADDITIONAL VARIABLES ROLES=$ROLES @@ -25,7 +26,6 @@ ROLES=$ROLES # finding IPv4 addresses from application names. name_resolver() { - local DNS_IP local DNS=$1 APP_IP="" @@ -68,16 +68,10 @@ name_resolver() { # GETTING APPLICATIONS IP ADDRESSES if [ ! -z "$SOURCE" ]; then - IDX=0 for i in $(echo $SOURCE) ; do - name_resolver $i; debug "source ip is $APP_IP"; - for IP in $(echo $APP_IP); do - IDX=$(expr 1 + $IDX) - eval SOURCE_IP_$IDX=$IP; - done; - + SOURCE_IP=$APP_IP; done fi @@ -96,11 +90,13 @@ done # CHECKING WHETHER IS IT NEEDED TO USE PUBLIC PROXY SERVICE if [ "$PUBLIC_PROXY_PATH" != "" ]; then - # check domain config file exits - - if [[ -f "$PUBLIC_PROXY_PATH/$DOMAIN" ]] || \ - [[ "$(jq -r .DOMAIN $PUBLIC_PROXY_PATH/$DOMAIN)" == "$DOMAIN" && "$(jq -r .LOCAL_IP $PUBLIC_PROXY_PATH/$DOMAIN)" == "$SOURCE" ]]; then + # check domain config file exits + PUBLIC_DOMAIN=$(jq -r .DOMAIN $PUBLIC_PROXY_PATH/$DOMAIN 2>/dev/null) + PUBLIC_IP=$(jq -r .LOCAL_IP $PUBLIC_PROXY_PATH/$DOMAIN 2>/dev/null) + + if [[ -f "$PUBLIC_PROXY_PATH/$DOMAIN" && "$PUBLIC_DOMAIN" == "$DOMAIN" && "$PUBLIC_IP" == "$SOURCE_IP" ]]; then + echo "Nothing to do." else #Create public proxy domain file @@ -110,7 +106,7 @@ if [ "$PUBLIC_PROXY_PATH" != "" ]; then "DOMAIN": "'$DOMAIN'", "ALIASES_HTTP": [ ], "ALIASES_HTTPS": [ ], - "LOCAL_IP": "'$SOURCE'", + "LOCAL_IP": "'$SOURCE_IP'", "HTTP_PORT": "80", "HTTPS_PORT": "443", "ERROR_PAGE": "", @@ -124,10 +120,11 @@ fi # CHECKING WHETHER IS IT NEEDED TO USE SMARTHOST PROXY SERVICE if [ "$SMARTHOST_PROXY_PATH" != "" ]; then # check domain config file exits + SMARTHOST_DOMAIN=$(jq -r .DOMAIN $SMARTHOST_PROXY_PATH/$DOMAIN 2>/dev/null) + SMARTHOST_IP=$(jq -r .LOCAL_IP $SMARTHOST_PROXY_PATH/$DOMAIN 2>/dev/null) + SMARTHOST_PORT=$(jq -r .HTTP_PORT $SMARTHOST_PROXY_PATH/$DOMAIN 2>/dev/null) - if [[ -f "$SMARTHOST_PROXY_PATH/$DOMAIN" ]] || \ - [[ "$(jq -r .DOMAIN $SMARTHOST_PROXY_PATH/$DOMAIN)" == "$DOMAIN" && "$(jq -r .LOCAL_IP $SMARTHOST_PROXY_PATH/$DOMAIN)" == "$TARGET" \ - && "$(jq -r .HTTP_PORT $SMARTHOST_PROXY_PATH/$DOMAIN)" == "$PORT"]]; then + if [[ -f "$SMARTHOST_PROXY_PATH/$DOMAIN" && "$SMARTHOST_DOMAIN" == "$DOMAIN" && "$SMARTHOST_IP" == "$TARGET_IP_1" && "$SMARTHOST_PORT" == "$PORT" ]]; then echo "Nothing to do." else @@ -138,7 +135,7 @@ if [ "$SMARTHOST_PROXY_PATH" != "" ]; then "DOMAIN": "'$DOMAIN'", "ALIASES_HTTP": [ ], "ALIASES_HTTPS": [ ], - "LOCAL_IP": "'$TARGET'", + "LOCAL_IP": "'$TARGET_IP_1'", "HTTP_PORT": "'$PORT'", "HTTPS_PORT": "443", "ERROR_PAGE": "",