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>
2.7 KiB
2.7 KiB
Open Questions
ai-orchestration-replacement-prd - 2026-04-27
Architect 결정 필요 (Resolve in next BMAD step)
- DB 마이그레이션 도구 선택 — MyBatis 수동 SQL vs Flyway vs Liquibase. 영향: Epic B 전반
- OpenClaw 배포 방식 — npm global 컨테이너 vs Docker Hub 이미지 vs Dockerfile 작성. 영향: Epic E 시작 가능 여부
- OpenClaw config 동기화 방식 — 공유 볼륨 파일 vs HTTP API. 영향: Story C11, E4
- Spring AI / Spring AI MCP 도입 여부 — 직접 HTTP 클라이언트 유지 vs Spring AI 채택. 영향: Story C1 (LlmClient 추상화 깊이)
- 스케줄러 구현 — Spring
@Scheduledvs Quartz. 영향: Story C10, NFR(클러스터링) - invyone에 vexplor 커넥터 테이블 존재 여부 —
external_db_connections/external_rest_api_connections/crawl_configs/pipeline_device_connections. 영향: Story C3, C9 (커넥터 미존재 시 P2 디그레이드) - API 키 폐기 정책 — hard delete (vexplor) vs soft delete. 영향: 감사/규제 요구사항
- AES-256 암호화 키 관리 — 환경변수 vs Vault vs KMS. 영향: 보안 NFR
- LLM 스트리밍 응답 구현 — Spring MVC SSE vs WebFlux. 영향: 빌드 의존성
- Rate limit 구현 — 인메모리 vs Redis. 영향: 클러스터 배포 가능성
- 테스트 전략 — testcontainers PostgreSQL + WireMock LLM vs 별도 dev DB
- cron 타임존 — 서버 시간 vs UTC. 영향: 스케줄 표시/실행 일관성
사용자 확인 필요 (Block before proceeding)
- (Q1) helm-charts 리포지토리(
gitlab.kpslp.kr/root/helm-charts/values_invyone.yaml)에 ai-assistant 이미지 참조 잔재 존재 여부 — Epic A 완료 시점에 별도 PR 필요 여부 결정 - (Q2) CRITICAL — ai-assistant Sequelize가 사용한 DB schema 이름 / 호스트. invyone 본 DB와 동일 schema에서
users/api_keys테이블이 동작했다면 drop 시 본 시스템 영향 가능. A7 실행 전 필수 확인 - (Q3) 스케줄러 페이지 — vexplor에 미포함, invyone에서 신규 작성 필요한지 (F7 Story 활성화 여부)
Executor 단계에서 결정 가능
- 커밋 분할 전략 — Epic 단위 vs Story 단위
- ai-assistant 제거 시점 — B 시작 전 vs C 진행 중 (병행 가능)
- 페이지 점진 이식 vs 일괄 교체
산출물 검증 가정
- vexplor 측 PostgreSQL JSONB 사용이 invyone PG 16에서 동일 동작
- invyone JWT claim에
userType(SUPER_ADMIN/COMPANY_ADMIN),companyCode포함 확인 - OpenClaw 컨테이너 추가에 대한 운영팀 승인
- 외부 호출 트래픽이 분당 100 req 미만(rate limit 인메모리 가능)