테넌트 서브도메인 존재 검증 Guard 추가
Build & Deploy to K8s / build-and-deploy (push) Failing after 3m6s

- 백엔드 TenantController: GET /api/tenant/check?subdomain=xxx
  (메타 DB 강제 라우팅 + CompanyResolver 로 존재 여부 반환)
- frontend/lib/tenant/subdomain.ts: 호스트 파싱 + 예약어(solution/www/admin 등) 제외
- TenantGuard 클라이언트 컴포넌트: layout.tsx 에서 wrap,
  sessionStorage 로 같은 서브도메인 재체크 방지
- /tenant-not-found 페이지: v5 solid+glow 스타일

등록되지 않은 서브도메인 접속 시 즉시 /tenant-not-found 로 리다이렉트.
This commit is contained in:
2026-04-24 19:27:52 +09:00
parent 76f43cea9b
commit 5812925929
6 changed files with 255 additions and 1 deletions
@@ -0,0 +1,37 @@
#!/bin/bash
set -e
echo "==== [1] Terminating all vexplor sessions ===="
docker exec -i invyone-db psql -U postgres -c "SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname LIKE '%vexplor%' AND pid <> pg_backend_pid();" 2>&1 | tail -3
sleep 2
echo ""
echo "==== [2] Dropping 6 test databases ===="
for db in newtest5_vexplor newtest6_vexplor test002_vexplor test07_vexplor test08_vexplor wace_vexplor; do
echo " - Dropping $db"
docker exec -i invyone-db psql -U postgres -c "DROP DATABASE IF EXISTS \"$db\";" 2>&1
done
echo ""
echo "==== [3] Deleting 8 test company records ===="
docker exec -i invyone-db psql -U postgres -d vexplor -c "DELETE FROM COMPANY_MNG WHERE COMPANY_CODE IN ('NEWTEST03','NEWTEST05','NEWTEST06','TEST07','TEST08','TEST002','WACE11','COMPANY_10');" 2>&1
echo ""
echo "==== [4] RENAME vexplor -> invyone ===="
docker exec -i invyone-db psql -U postgres -c "ALTER DATABASE vexplor RENAME TO invyone;" 2>&1
echo ""
echo "==== [5] Final DB list ===="
docker exec -i invyone-db psql -U postgres -l | grep -v template | grep -v postgres
echo ""
echo "==== [6] Company count in invyone ===="
docker exec -i invyone-db psql -U postgres -d invyone -tAc "SELECT COUNT(*) || ' companies in COMPANY_MNG' FROM COMPANY_MNG;"
echo ""
echo "==== [7] Scale backend back to 1 ===="
KUBECONFIG=/home/chpark/.kube/config kubectl scale deployment backend-spring --replicas=1 -n invyone
echo ""
echo "==== DONE ===="