This repository has been archived on 2022-11-03. You can view files and clone it, but cannot push or open issues or pull requests.
DevOpsOpenHack/support/resources/service_check.sh

85 lines
2.0 KiB
Bash
Raw Permalink Normal View History

2022-11-03 20:41:13 +00:00
#!/bin/bash
# set -euo pipefail
IFS=$'\n\t'
usage() { echo "Usage: service_check.sh -d <dns host Url> -n <teamName> " 1>&2; exit 1; }
declare dnsUrl=""
declare teamName=""
# Initialize parameters specified from command line
while getopts ":d:n:" arg; do
case "${arg}" in
d)
dnsUrl=${OPTARG}
;;
n)
teamName=${OPTARG}
;;
esac
done
shift $((OPTIND-1))
#Prompt for parameters is some required parameters are missing
if [[ -z "$dnsUrl" ]]; then
echo "Public DNS address where the API will be hosted behind."
echo "Enter public DNS name."
read dnsUrl
[[ "${dnsUrl:?}" ]]
fi
if [[ -z "$teamName" ]]; then
echo "Enter a team name to be used in app provisioning:"
read teamName
fi
echo "Checking services for ([X] = PASSED):"
echo "Team Name:" $teamName
echo -e "DNS Url:" $dnsUrl"\n"
poi_URL=$dnsUrl"/api/healthcheck/poi"
user_URL=$dnsUrl"/api/healthcheck/user"
trips_URL=$dnsUrl"/api/healthcheck/trips"
user_java_URL=$dnsUrl"/api/healthcheck/user-java"
echo -e "Checking POI:\t"$poi_URL
echo -e "Checking USER:\t"$user_URL
echo -e "Checking TRIPS:\t"$trips_URL
echo -e "Checking USER JAVA:\t"$user_java_URL"\n"
status_code_poi=`curl -sL -w "%{http_code}\\n" "$poi_URL" -o /dev/null`
if [[ "$status_code_poi" == "200" ]]; then
echo "poi [X]"
else
echo "poi [ ]"
fi
status_code_user=`curl -sL -w "%{http_code}\\n" "$user_URL" -o /dev/null`
if [[ "$status_code_user" == "200" ]]; then
echo "user [X]"
else
echo "user [ ]"
fi
status_code_trips=`curl -sL -w "%{http_code}\\n" "$trips_URL" -o /dev/null`
if [[ "$status_code_trips" == "200" ]]; then
echo "trips [X]"
else
echo "trips [ ]"
fi
status_code_user_java=`curl -sL -w "%{http_code}\\n" "$user_java_URL" -o /dev/null`
if [[ "$status_code_user_java" == "200" ]]; then
echo "user-java [X]"
else
echo "user-java [ ]"
fi
if [[ "$status_code_poi" == "200" ]] && [[ "$status_code_user" == "200" ]] && [[ "$status_code_trips" == "200" ]] && [[ "$status_code_user_java" == "200" ]]; then
echo "All checks passed"
fi