diff --git a/ci/create-link-ci.sh b/ci/create-link-ci.sh index 5f97d66..733874d 100755 --- a/ci/create-link-ci.sh +++ b/ci/create-link-ci.sh @@ -12,6 +12,8 @@ docker compose up -d --build eval $(ssh-agent -s) ssh-add ./gateway-sim-key +DASHED_FQDN="${1//./-}" + testLinkFile="" # Define the variable in a scope outside the cleanup function @@ -21,7 +23,7 @@ function cleanup { if [[ -n "$testLinkFile" ]]; then # Check if the variable is non-empty echo "******* Cleanup function: cleaning up $testLinkFile..." docker compose -f "$testLinkFile" down --timeout 0 || true - docker rm -f app-example-com || true + docker rm -f $DASHED_FQDN || true # stop and remove gateway and sshd containers docker compose down --timeout 0 || true @@ -42,20 +44,20 @@ if [ "$normal_test_proceed" = true ]; then docker run --network gateway -e SSH_AGENT_PID=$SSH_AGENT_PID -e SSH_AUTH_SOCK=$SSH_AUTH_SOCK -v $SSH_AUTH_SOCK:$SSH_AUTH_SOCK --rm fractalnetworks/gateway-cli:latest $1 $2 $3 >> $testLinkFile cat network.yaml >> $testLinkFile # set the gateway endpoint to the gateway link container - sed -i 's/^\(\s*GATEWAY_ENDPOINT:\).*/\1 app-example-com:18521/' $testLinkFile + sed -i "s/^\(\s*GATEWAY_ENDPOINT:\).*/\1 $1:18521/" $testLinkFile docker compose -f $testLinkFile up -d --wait docker compose -f $testLinkFile exec link ping 10.0.0.1 -c 1 # assert http response code was 200 # asserts basic auth is working with user: admin, password: admin - if ! docker compose exec gateway curl -k -H "Authorization: Basic YWRtaW46YWRtaW4=" --resolve app.example.com:80:127.0.0.1 http://app.example.com -I |grep "HTTP/1.1 308"; then + if ! docker compose exec gateway curl -k -H "Authorization: Basic YWRtaW46YWRtaW4=" --resolve $1:80:127.0.0.1 http://app.example.com -I |grep "HTTP/1.1 308"; then FAILED="true" echo -e "\033[0;31m Default Link curl FAILED\033[0m" # red for failure else echo -e "\033[0;32m Default Link curl SUCCESS\033[0m" # green for success fi - if ! docker compose exec gateway curl -k -H "Authorization: Basic YWRtaW46YWRtaW4=" --resolve app.example.com:443:127.0.0.1 https://app.example.com -I |grep "HTTP/2 200"; then + if ! docker compose exec gateway curl -k -H "Authorization: Basic YWRtaW46YWRtaW4=" --resolve $1:443:127.0.0.1 https://app.example.com -I |grep "HTTP/2 200"; then FAILED="true" echo -e "\033[0;31m Default Link curl FAILED\033[0m" # red for failure else @@ -63,7 +65,7 @@ if [ "$normal_test_proceed" = true ]; then fi # remove test link so the next test can recreate it - docker rm -f app-example-com + docker rm -f $DASHED_FQDN rm $testLinkFile else echo "******************* Skipping normal link test... \n(normal_test_greenlight was false)" @@ -84,7 +86,7 @@ if [ "$caddy_greenlight" = true ]; then # Go inside $testLinkFile and change... (requires the commented options to be there! Can change later) # 1. gateway endpoint to the gateway link container - sed -i 's/^\(\s*GATEWAY_ENDPOINT:\).*/\1 app-example-com:18521/' $testLinkFile + sed -i "s/^\(\s*GATEWAY_ENDPOINT:\).*/\1 $1:18521/" $testLinkFile # 2. CADDY_TLS_PROXY to ------------------------------------- true sed -i 's/^\(\s*\)#\s*CADDY_TLS_PROXY: true/\1CADDY_TLS_PROXY: true/' $testLinkFile @@ -103,7 +105,7 @@ if [ "$caddy_greenlight" = true ]; then # assert http response code was 200 # asserts basic auth is working with user: admin, password: admin - if ! docker compose exec gateway curl -v -k -H "Authorization: Basic YWRtaW46YWRtaW4=" --resolve app.example.com:443:127.0.0.1 https://app.example.com -I 2>&1 |grep "HTTP/2 200"; then + if ! docker compose exec gateway curl -v -k -H "Authorization: Basic YWRtaW46YWRtaW4=" --resolve $1:443:127.0.0.1 https://app.example.com -I 2>&1 |grep "HTTP/2 200"; then FAILED="true" echo -e "\033[0;31m Caddy TLS Link curl FAILED\033[0m" # red for failure else