#!/usr/bin/env bash # Health check all ATC lab HTTP endpoints (from homepage siteMonitors). set -u FAIL=0 check() { local name="$1" url="$2" local code code=$(curl -sk -o /dev/null -w "%{http_code}" --connect-timeout 5 --max-time 10 "$url" 2>/dev/null || echo "000") if [[ "$code" =~ ^(200|301|302|401|403)$ ]]; then printf "OK %-28s %s (%s)\n" "$name" "$url" "$code" else printf "FAIL %-28s %s (%s)\n" "$name" "$url" "$code" FAIL=$((FAIL + 1)) fi } check "Homepage" "http://atc-docker01.dell-atc.lan/" check "RSS proxy" "http://atc-docker01.dell-atc.lan:8090/health" check "Superset" "http://atc-docker01.dell-atc.lan:8088/health" check "Kafka UI" "http://atc-kafka01.dell-atc.lan:9000/" check "Debezium" "http://atc-lake01.dell-atc.lan:8083/" check "Spark" "http://atc-lake01.dell-atc.lan:8080/" check "Trino" "http://atc-lake01.dell-atc.lan:8089/ui/" check "Airflow" "http://10.0.21.55:8080/health" check "Kibana" "http://atc-elastic01.dell-atc.lan:5601/" check "Grafana" "http://atc-grafana.dell-atc.lan:3000/api/health" check "Forgejo" "http://atc-mgt01.dell-atc.lan:3001/" check "ObjectScale" "https://10.0.20.111/" check "Proxmox" "https://10.0.10.65:8006/" echo "---" [[ $FAIL -eq 0 ]] && echo "All checks passed" && exit 0 echo "$FAIL check(s) failed" && exit 1