Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
Co-authored-by: Cursor <cursoragent@cursor.com>
109 lines
3.9 KiB
Bash
Executable File
109 lines
3.9 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Check all NPMplus VMs (container status) and all backend VMIDs they proxy to.
|
|
# Uses SSH to Proxmox hosts. Run from project root.
|
|
# Usage: ./scripts/health/check-npmplus-and-backend-vmids.sh
|
|
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
|
cd "$PROJECT_ROOT"
|
|
[ -f config/ip-addresses.conf ] && source config/ip-addresses.conf 2>/dev/null || true
|
|
|
|
PROXMOX_USER="${PROXMOX_USER:-root}"
|
|
R630_01="${PROXMOX_HOST_R630_01:-192.168.11.11}"
|
|
R630_02="${PROXMOX_HOST_R630_02:-192.168.11.12}"
|
|
ML110="${PROXMOX_HOST_ML110:-192.168.11.10}"
|
|
|
|
SSH_OPTS="-o ConnectTimeout=5 -o StrictHostKeyChecking=no"
|
|
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
CYAN='\033[0;36m'
|
|
NC='\033[0m'
|
|
|
|
# NPMplus VMID : Proxmox host
|
|
declare -A NPMPLUS_HOST
|
|
NPMPLUS_HOST[10233]="$R630_01" # Main (76.53.10.36 → .167)
|
|
NPMPLUS_HOST[10234]="$R630_02" # Secondary HA
|
|
NPMPLUS_HOST[10235]="$R630_01" # Alltra/HYBX (76.53.10.38 → .169)
|
|
NPMPLUS_HOST[10236]="$R630_01" # Fourth dev/Codespaces (76.53.10.40 → .170)
|
|
NPMPLUS_HOST[10237]="$R630_02" # Mifos
|
|
|
|
# Backend VMID : Proxmox host (for VMIDs that NPMplus proxies to)
|
|
declare -A BACKEND_HOST
|
|
BACKEND_HOST[5000]="$R630_02" # explorer
|
|
BACKEND_HOST[7810]="$R630_02" # mim4u
|
|
BACKEND_HOST[10130]="$R630_01" # dbis-frontend
|
|
BACKEND_HOST[2400]="$ML110" # thirdweb-rpc
|
|
BACKEND_HOST[2101]="$R630_01" # besu-rpc-core-1
|
|
BACKEND_HOST[2201]="$R630_02" # besu-rpc-public-1
|
|
BACKEND_HOST[10150]="$R630_01" # dbis-api
|
|
BACKEND_HOST[10151]="$R630_01" # dbis-api-2
|
|
BACKEND_HOST[5800]="$R630_02" # mifos (10237 backend)
|
|
BACKEND_HOST[5801]="$R630_02" # dapp (optional)
|
|
BACKEND_HOST[2102]="$ML110" # besu-rpc-core-2 (10235 backend)
|
|
|
|
check_vmid_on_host() {
|
|
local vmid="$1" host="$2" label="${3:-}"
|
|
local status
|
|
status=$(ssh $SSH_OPTS "${PROXMOX_USER}@${host}" "pct status $vmid 2>/dev/null" | awk '{print $2}' || echo "unknown")
|
|
if [[ "$status" == "running" ]]; then
|
|
echo -e " VMID $vmid $label: ${GREEN}running${NC} (host $host)"
|
|
return 0
|
|
else
|
|
echo -e " VMID $vmid $label: ${RED}$status${NC} (host $host)"
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
echo ""
|
|
echo -e "${CYAN}=== NPMplus VMs ===${NC}"
|
|
echo ""
|
|
npm_ok=0
|
|
npm_fail=0
|
|
for vmid in 10233 10234 10235 10236 10237; do
|
|
host="${NPMPLUS_HOST[$vmid]:-}"
|
|
[[ -z "$host" ]] && continue
|
|
case "$vmid" in
|
|
10233) label="(main)" ;;
|
|
10234) label="(secondary)" ;;
|
|
10235) label="(Alltra/HYBX)" ;;
|
|
10236) label="(Fourth dev)" ;;
|
|
10237) label="(Mifos)" ;;
|
|
*) label="" ;;
|
|
esac
|
|
if check_vmid_on_host "$vmid" "$host" "$label"; then npm_ok=$((npm_ok + 1)); else npm_fail=$((npm_fail + 1)); fi
|
|
done
|
|
|
|
echo ""
|
|
echo -e "${CYAN}=== Backend VMIDs (NPMplus proxy targets) ===${NC}"
|
|
echo ""
|
|
echo "Main NPMplus (10233) backends:"
|
|
backend_ok=0
|
|
backend_fail=0
|
|
for vmid in 5000 2201 2101 10130 10150 10151 7810 2400; do
|
|
host="${BACKEND_HOST[$vmid]:-}"
|
|
[[ -z "$host" ]] && continue
|
|
if check_vmid_on_host "$vmid" "$host" ""; then backend_ok=$((backend_ok + 1)); else backend_fail=$((backend_fail + 1)); fi
|
|
done
|
|
echo "Optional: 5801 (dapp)"
|
|
if check_vmid_on_host "5801" "${BACKEND_HOST[5801]}" ""; then backend_ok=$((backend_ok + 1)); else backend_fail=$((backend_fail + 1)); fi
|
|
|
|
echo ""
|
|
echo "NPMplus 10237 (Mifos) backend:"
|
|
if check_vmid_on_host "5800" "${BACKEND_HOST[5800]}" "(mifos)"; then backend_ok=$((backend_ok + 1)); else backend_fail=$((backend_fail + 1)); fi
|
|
|
|
echo ""
|
|
echo "NPMplus 10235 (Alltra/HYBX) backend:"
|
|
if check_vmid_on_host "2102" "${BACKEND_HOST[2102]}" "(rpc-core-2)"; then backend_ok=$((backend_ok + 1)); else backend_fail=$((backend_fail + 1)); fi
|
|
|
|
echo ""
|
|
echo -e "${CYAN}Summary${NC}"
|
|
echo -e " NPMplus VMs: ${GREEN}$npm_ok${NC} running, ${RED}$npm_fail${NC} not running (total 5)"
|
|
echo -e " Backend VMIDs: ${GREEN}$backend_ok${NC} running, ${RED}$backend_fail${NC} not running"
|
|
echo ""
|
|
|
|
exit $((npm_fail + backend_fail))
|