52386efb83
Build & Deploy to K8s / build-and-deploy (push) Has been cancelled
운영 도메인이 실제로는 v1.invyone.com / solution.invyone.com / api.invyone.com 인데 코드/문서 곳곳에 v1.invion.com / api.invion.com 등 미존재 도메인이 박혀 있어 정리. 변경 파일 (21): - frontend lib/api/client.ts, lib/utils/apiUrl.ts: hostname 체크 endsWith(\".invyone.com\") 일반화 - frontend lib/api/dashboard.ts, file.ts, flow.ts, FileViewerModal*2.tsx: 도메인 치환 - frontend invion-layout-v5.html: 시안 내 placeholder 도메인 정리 - backend-spring SecurityConfig.java: CORS 주석 예시 정리 - docker/deploy/docker-compose.yml, k8s/traefik-dynamic.yaml: traefik Host 라벨 정리 - scripts/prod/deploy.sh: 안내 메시지 정리 - .cursor/rules/api-client-usage.mdc, project-conventions.mdc: AI 가이드 정리 - docs/* 4개: 아키텍처/플로우 문서 도메인 정리 - notes/gbpark/* 3개: 과거 메모 정리 신규: - docs/DOMAIN_MAPPING.md: 운영/개발/폐기 도메인 영구 기록. AI 에이전트와 신규 개발자가 헷갈리지 않도록 단일 진실 출처. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
52 lines
1.1 KiB
YAML
52 lines
1.1 KiB
YAML
# Traefik 동적 설정 파일
|
|
# 기존 Traefik Docker 컨테이너의 dynamic config 디렉토리에 배치
|
|
# 예: /etc/traefik/dynamic/ 또는 Traefik volume mount 위치
|
|
|
|
http:
|
|
routers:
|
|
# Frontend (Next.js)
|
|
invyone-frontend:
|
|
rule: "Host(`v1.invyone.com`)"
|
|
entryPoints:
|
|
- web
|
|
- websecure
|
|
service: invyone-frontend
|
|
tls:
|
|
certResolver: le
|
|
|
|
# Backend Spring Boot API
|
|
invyone-api:
|
|
rule: "Host(`api.invyone.com`)"
|
|
entryPoints:
|
|
- web
|
|
- websecure
|
|
service: invyone-api
|
|
tls:
|
|
certResolver: le
|
|
|
|
# Backend Node.js API (필요시)
|
|
invyone-node-api:
|
|
rule: "Host(`node-api.invyone.com`)"
|
|
entryPoints:
|
|
- web
|
|
- websecure
|
|
service: invyone-node-api
|
|
tls:
|
|
certResolver: le
|
|
|
|
services:
|
|
invyone-frontend:
|
|
loadBalancer:
|
|
servers:
|
|
- url: "http://127.0.0.1:30000"
|
|
|
|
invyone-api:
|
|
loadBalancer:
|
|
servers:
|
|
- url: "http://127.0.0.1:30081"
|
|
|
|
invyone-node-api:
|
|
loadBalancer:
|
|
servers:
|
|
- url: "http://127.0.0.1:30080"
|