34 lines
1.3 KiB
Bash
Executable File
34 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Read-only LAN smoke: Tier-1 Phoenix API hub (:8080) — health + GraphQL + proxied api-docs.
|
|
# Usage: bash scripts/verify/smoke-phoenix-api-hub-lan.sh
|
|
# Env: IP_SANKOFA_PHOENIX_API, SANKOFA_API_HUB_PORT (default 8080) from load-project-env / ip-addresses.
|
|
set -euo pipefail
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
|
# shellcheck source=/dev/null
|
|
source "${PROJECT_ROOT}/scripts/lib/load-project-env.sh"
|
|
|
|
HUB_IP="${IP_SANKOFA_PHOENIX_API:-192.168.11.50}"
|
|
# Tier-1 nginx hub listens on :8080 by default (not SANKOFA_PHOENIX_API_HUB_PORT, which often tracks Apollo :4000).
|
|
HUB_PORT="${SANKOFA_API_HUB_LISTEN_PORT:-8080}"
|
|
BASE="http://${HUB_IP}:${HUB_PORT}"
|
|
|
|
echo "=== smoke-phoenix-api-hub-lan ==="
|
|
echo "Base: ${BASE}"
|
|
echo ""
|
|
|
|
curl -fsS -m 8 "${BASE}/health" | head -c 200
|
|
echo ""
|
|
echo "--- GraphQL POST /graphql"
|
|
curl -fsS -m 12 "${BASE}/graphql" \
|
|
-H 'Content-Type: application/json' \
|
|
-d '{"query":"query { __typename }"}' | head -c 300
|
|
echo ""
|
|
echo "--- GET /api-docs (optional)"
|
|
_ad="/tmp/hub-api-docs-$$"
|
|
code="$(curl -sS -m 12 -o "$_ad" -w "%{http_code}" "${BASE}/api-docs" || echo 000)"
|
|
if [[ "$code" == "200" ]]; then head -c 120 "$_ad"; echo ""; else echo "HTTP ${code} (hub still OK if GraphQL passed)"; fi
|
|
rm -f "$_ad"
|
|
echo ""
|
|
echo "OK: hub smoke passed."
|