Files
invyone/docs/DOMAIN_MAPPING.md
johngreen 81637b64a0
Build & Deploy to K8s / build-and-deploy (push) Successful in 4m4s
chore(scripts): obsolete .bat 정리 + invyone 전용 start/reload 추가
옛 PLM 시절 Windows 스크립트가 현재 invyone 셋업 (compose: docker/dev/docker-compose.invyone.yml, 포트 9772/8083)과 안 맞아 정리.

삭제:
- 루트: start-windows-simple.bat / start-all-separated.bat / stop-all-separated.bat / test-backend-build.bat / run-windows.bat
- 루트: docker-compose.backend.win.yml / docker-compose.frontend.win.yml (옛 PLM 컨테이너명/포트, hardcoded credentials, 위 .bat 외엔 참조 없음)
- scripts/dev/: start-all-parallel.{bat,ps1} / stop-all.{bat,ps1} (모두 위 .yml 참조)
- ※ Mac 스택 (docker-compose.{backend,frontend}.mac.yml + scripts/dev/*.sh) 은 별도 시스템이라 건드리지 않음

신규:
- start.bat: scripts/start/invyone-start-docker-all.bat 으로 위임 (단일 진실의 원천)
- reload.bat: 프론트 컨테이너 재시작 + 백엔드 'sh ./gradlew classes' 로 재컴파일 (Spring DevTools 가 자동 리로드). Docker Desktop bind mount 가 호스트 변경을 컨테이너 inotify 로 안 넘겨서 자동 핫리로드가 안 되는 환경용.

업데이트:
- docs/DOMAIN_MAPPING.md: 개발 환경 표를 현재 포트/compose 로 갱신 + 테넌트 서브도메인 행 추가.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-01 20:58:31 +09:00

2.5 KiB

도메인 매핑 (운영/개발 환경)

⚠️ AI 에이전트와 신규 개발자가 헷갈리지 않도록 영구 기록. 변경 시 반드시 본 문서 + .cursor/rules/api-client-usage.mdc + .cursor/rules/project-conventions.mdc 를 함께 갱신.

운영 환경

역할 도메인 비고
Frontend (정식) solution.invyone.com 사용자 진입 URL
Frontend (alias) v1.invyone.com 같은 frontend, 백업/구버전 alias
Backend Spring API api.invyone.com https://api.invyone.com/api/...
Backend Node API node-api.invyone.com (legacy / 일부 endpoint)

DNS 검증 (확인 일자: 2026-04-28)

  • solution.invyone.com → 200
  • v1.invyone.com → 200
  • api.invyone.com → 200
  • node-api.invyone.com → 200

폐기된 도메인 (사용 금지)

도메인 상태
v1.invion.com DNS 미존재. 이전 코드/문서에 박혀 있어 2026-04-28 일괄 정리
api.invion.com 동일
node-api.invion.com 동일
solution.invion.com 동일

"invion" → "invyone" 일괄 치환 완료. 신규 코드/문서는 절대 invion.com 사용 금지.

개발 환경

역할 주소 비고
Frontend dev http://localhost:9772 docker/dev/docker-compose.invyone.yml
Backend Spring http://localhost:8083 docker/dev/docker-compose.invyone.yml
테넌트 서브도메인 http://<sub>.localhost:9772 예: http://test01.localhost:9772

인증 정보

로컬 (.cursor/rules/web-verify-login.mdc)

  • 아이디: wace / 비밀번호: qlalfqjsgh11로컬 전용

운영 (solution.invyone.com)

  • 운영 비밀번호는 코드/문서에 평문 저장 금지.
  • 사용자에게 직접 문의해서 입력 받을 것.
  • AI 에이전트는 로컬 비밀번호로 운영 로그인 시도 X.

API 호출 흐름

브라우저 (solution.invyone.com)
   ↓ apiClient (lib/api/client.ts)
   ↓ baseURL = https://${currentHost}/api  (1순위, *.invyone.com 자동 매칭)
운영 Traefik (k8s/traefik-dynamic.yaml)
   ↓ Host(`solution.invyone.com`) && PathPrefix(`/api`) → backend
Spring Boot (api.invyone.com 직접 OR Traefik 내부)

apiClient 우선순위:

  1. *.invyone.com 호스트 → https://${currentHost}/api (서브도메인 테넌트 대응)
  2. v1.invyone.com / solution.invyone.com 직접 매칭 → https://api.invyone.com/api
  3. NEXT_PUBLIC_API_URL 환경변수
  4. http://localhost:8081/api (로컬 기본)