#!/bin/bash
# Show status of the E2E test network.

PROJECT_NAME="conductor-e2e-interactive"

echo "=== Containers ==="
docker compose -p "$PROJECT_NAME" ps 2>/dev/null || { echo "No E2E network running."; exit 0; }

echo ""
echo "=== DNS Check ==="
echo -n "  iamtheinternet.org NS: "
docker compose -p "$PROJECT_NAME" exec -T comcast-resolver dig @127.0.0.1 iamtheinternet.org NS +short +timeout=2 2>/dev/null || echo "(failed)"

echo -n "  www.iamtheinternet.org A: "
docker compose -p "$PROJECT_NAME" exec -T comcast-resolver dig @127.0.0.1 www.iamtheinternet.org A +short +timeout=2 2>/dev/null || echo "(not set)"

echo ""
echo "=== Connectivity (from management) ==="
for target in "fw-main:192.168.0.254" "fw-isp:192.168.0.1" "comcast-resolver:100.100.0.1" "root-dns:100.64.0.53" "namecheap-dns:100.64.0.55"; do
  name="${target%%:*}"
  ip="${target##*:}"
  echo -n "  $name ($ip): "
  docker compose -p "$PROJECT_NAME" exec -T management ping -c1 -W2 "$ip" >/dev/null 2>&1 && echo "OK" || echo "FAIL"
done

echo ""
echo "=== DDNS Simulator ==="
echo -n "  Status: "
docker compose -p "$PROJECT_NAME" exec -T namecheap-dns curl -s http://localhost:8080/status 2>/dev/null || echo "(not running)"
