← back to Nationalrealestate

scripts/recon-kamatera-usre.sh

35 lines

#!/usr/bin/env bash
# TK-10488 — READ-ONLY recon of Kamatera's usre + CRCP + HomesOnSpec so we can deploy the
# contractor feature safely (no guessing at a live prod site). Reads nothing it shouldn't;
# writes nothing. Run on Mac2.
set -uo pipefail
KAM=root@45.61.58.125
ssh -o ConnectTimeout=15 "$KAM" 'bash -s' <<'REMOTE'
set -uo pipefail
echo "===== USRE ====="
U=""; for d in /root/public-projects/nationalrealestate /var/www/nationalrealestate /root/Projects/nationalrealestate; do [ -d "$d" ] && U="$d" && break; done
echo "USRE_DIR=$U"
pm2 jlist 2>/dev/null > /tmp/pm.json
node -e 'JSON.parse(require("fs").readFileSync("/tmp/pm.json")).forEach(p=>{if(/usre|national|commercialreal|homeson/i.test(p.name))console.log("PM2:",p.name,"| ",p.pm2_env.status,"| exec",p.pm2_env.pm_exec_path,"| cwd",p.pm2_env.pm_cwd)})' 2>/dev/null
if [ -n "$U" ]; then
  cd "$U"
  echo "-- git --"; git remote -v 2>/dev/null | head -1; git log --oneline -1 2>/dev/null; echo "dirty:"; git status -s 2>/dev/null | head -5
  echo "-- contractor route deployed? --"; ls -la src/server/contractors.ts 2>/dev/null || echo "  contractors.ts ABSENT (clean add)"
  echo "-- index.ts app/auth/mount region --"; grep -nE "express\(\)|app\.use|Contractors|mountContractors|\.listen\(|basicAuth|WWW-Authenticate" src/server/index.ts 2>/dev/null | head -25
  echo "-- how run (package.json start + is tsx) --"; grep -E '"start"|"dev"|tsx|node ' package.json 2>/dev/null | head -5
  echo "-- .env keys (names only) --"; [ -f .env ] && grep -oE '^[A-Z_]+=' .env | tr -d '=' | tr '\n' ' '; echo
fi
echo "-- nginx vhost for usrealestate --"; grep -rl usrealestate /etc/nginx/sites-enabled/ /etc/nginx/conf.d/ 2>/dev/null | head -1
echo "-- public behavior --"
curl -s -o /dev/null -w "  pub /api/contractors: %{http_code}\n" --max-time 8 "https://usrealestate.agentabrams.com/api/contractors?limit=1"
curl -s -o /dev/null -w "  pub /: %{http_code}\n" --max-time 8 "https://usrealestate.agentabrams.com/"

echo "===== CRCP ====="
C=""; for d in /root/public-projects/commercialrealestate /var/www/commercialrealestate; do [ -d "$d" ] && C="$d" && break; done
echo "CRCP_DIR=$C"; [ -n "$C" ] && { cd "$C"; echo "contractors surface present:"; ls public/contractors.html 2>/dev/null || echo "  absent"; echo "CONTRACTORS_API_BASE in .env:"; grep CONTRACTORS_API_BASE .env 2>/dev/null || echo "  not set"; }

echo "===== HOMESONSPEC ====="
H=""; for d in /root/public-projects/homesonspec /var/www/homesonspec /root/Projects/homesonspec; do [ -d "$d" ] && H="$d" && break; done
echo "HOS_DIR=$H"; [ -n "$H" ] && { cd "$H"; echo "CONTRACTORS_API_BASE in .env:"; grep -r CONTRACTORS_API_BASE .env apps/web/.env* 2>/dev/null || echo "  not set"; }
REMOTE