Repository navigation
[Deploy] PostgreSQL·AI Runtime 기반 데모 배포 구성 #9
Copy link
Copy link
Closed
Labels
area:ai-integrationServer ↔ AI Runtime 내부 계약·Client·검증·trace 연동 영역; Prompt·모델·Provider 구현은 ai 저장소 소유Server ↔ AI Runtime 내부 계약·Client·검증·trace 연동 영역; Prompt·모델·Provider 구현은 ai 저장소 소유area:infraServer Dockerfile·DB 설정·CI hook·배포 가능성 영역; 통합 인프라 운영은 infra 저장소와 조율Server Dockerfile·DB 설정·CI hook·배포 가능성 영역; 통합 인프라 운영은 infra 저장소와 조율area:serverSpring Boot API·도메인·DB·tenant·Task Workflow 영역; Prompt·모델·Provider 구현 제외Spring Boot API·도메인·DB·tenant·Task Workflow 영역; Prompt·모델·Provider 구현 제외priority:P0MVP 진행을 막는 최우선 핵심 작업MVP 진행을 막는 최우선 핵심 작업security:privacy개인정보·접근권한·토큰·보안 영향이 있는 작업개인정보·접근권한·토큰·보안 영향이 있는 작업status:blocked선행 작업이나 외부 조건 때문에 현재 진행할 수 없는 작업선행 작업이나 외부 조건 때문에 현재 진행할 수 없는 작업type:integration외부 LLM·DB·스토리지 등 시스템 간 연동 작업외부 LLM·DB·스토리지 등 시스템 간 연동 작업
Description
한 줄 목표
시연자 PC의 LM Studio 없이 Client + Spring Boot Server + PostgreSQL 16 + AI Runtime이 재현 가능한 HTTPS 데모 환경에서 끝까지 동작하도록 배포 설정과 Smoke Test를 확정합니다.
현재 상태 (2026-08-19)
인프라 최초 적용은 완료됐습니다.
- Namespace·PostgreSQL 16·Server·AI·Client Deployment/Service
- Server
/app/data/filesPVC와fsGroup: 10001 - HTTPS Ingress와 Client·Server 공개 주소
-
postgres-secret,server-env,ai-env주입 구조 - Server GHCR 이미지 배포와 rollout 실패 감지
- Prometheus 수집 구성
- Swagger/OpenAPI·DB 문서 GitHub Pages 배포
따라서 기존의 “Infra #104 최초 적용 대기”는 더 이상 선행조건이 아닙니다.
현재 차단 원인
배포 환경의 Renewal 호출은 AI #69에서 다음 응답으로 중단됩니다.
guideFailureCode=LANGUAGE_ASSISTANT_NOT_CONFIGURED
guideReviewRequired=true
Server가 Renewal endpoint까지 호출하는 것은 확인됐지만, AI Pod의 Language Assistant 설정 또는 실제 Provider 초기화가 끝나지 않아 근로자 안내 초안과 다음 문서 단계로 진행하지 못합니다.
- AI 이슈: [Bug] renewal-run 응답 중 "guide_failure_code": "LANGUAGE_ASSISTANT_NOT_CONFIGURED" ai#69
- 후속 배포 E2E: [E2E] 제품 대표 복합 요청 시나리오·데모 런북 완성 #10
설정 소유권
| Secret | 담당 설정 |
|---|---|
postgres-secret |
PostgreSQL bootstrap·runtime·migration 계정 |
server-env |
DB·JWT·CORS·FileStorage·AI endpoint/credential·SMTP·SMS·Prometheus 인증 |
ai-env |
내부 API Token·Intent 모델·Hugging Face·CLOVA OCR·LLM·Knowledge 경로 |
실제 Secret 값은 Git·Issue·Wiki·Actions 로그에 기록하지 않습니다.
Server가 사용하는 주요 AI 설정
AI_RUNTIME_ENABLED
AI_RUNTIME_ENDPOINT
AI_RUNTIME_RENEWAL_ENDPOINT
AI_DOCUMENT_GENERATION_ENDPOINT
AI_DOCUMENT_CONVERSION_ENDPOINT
AI_RUNTIME_SERVICE_CREDENTIAL
AI_RUNTIME_OVERALL_TIMEOUT
AI_OCR_ENABLED
AI_OCR_ENDPOINT
AI_OCR_SERVICE_CREDENTIAL
AI_RUNTIME_SERVICE_CREDENTIAL과 AI 내부 Bearer Token은 같은 값이어야 합니다. LLM·Hugging Face·CLOVA Provider Key는 Server가 아니라 ai-env에 둡니다.
남은 배포 작업
- AI feat: 데모 사업장 및 근로자 시드 데이터 확장 #69 해결 후
guideFailureCode=null인 Renewal 응답 확인 - Server Pod → AI PLAN/ANALYZE·Renewal·OCR·문서 생성/변환 접근 확인
- 실제 Client 주소와 GitHub Pages Swagger CORS 확인
- 배포 환경 Golden Case E2E 완료
- Server·AI 재시작 뒤 미완료 Run·Outbox 복구 확인
- 직전 정상 이미지 rollback rehearsal
- Secret 값이 로그·오류 응답에 노출되지 않는지 확인
배포 Smoke 순서
- rollout·readiness·
/health - 로그인·
/auth/me·타 사업장 차단 POST /api/v1/ai-runs의 실제 PLAN → ANALYZE- Candidate 채택 → Case·Task → 승인
- Renewal → Language Assistant → Worker Link 안내
- Worker Link → 응답·파일 → OCR → State 병합
- 생성 문서 저장·미리보기·다운로드
- 완료·감사로그·재시작 복구
- rollback rehearsal
완료 조건
- 개발자 PC가 꺼져도 동일 HTTPS URL에서 대표 시나리오가 동작합니다.
- Demo Seed는 합성 데이터만 사용하고 운영
prod에서는 비활성화됩니다. - 실제 Provider를 켠 Product Smoke와 rollback rehearsal가 통과합니다.
- 배포 결과와 장애 복구 방법이 Runbook에 기록됩니다.
후속: #10 · 상위: #2 · 외부 차단: fowoco/ai#69
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area:ai-integrationServer ↔ AI Runtime 내부 계약·Client·검증·trace 연동 영역; Prompt·모델·Provider 구현은 ai 저장소 소유Server ↔ AI Runtime 내부 계약·Client·검증·trace 연동 영역; Prompt·모델·Provider 구현은 ai 저장소 소유area:infraServer Dockerfile·DB 설정·CI hook·배포 가능성 영역; 통합 인프라 운영은 infra 저장소와 조율Server Dockerfile·DB 설정·CI hook·배포 가능성 영역; 통합 인프라 운영은 infra 저장소와 조율area:serverSpring Boot API·도메인·DB·tenant·Task Workflow 영역; Prompt·모델·Provider 구현 제외Spring Boot API·도메인·DB·tenant·Task Workflow 영역; Prompt·모델·Provider 구현 제외priority:P0MVP 진행을 막는 최우선 핵심 작업MVP 진행을 막는 최우선 핵심 작업security:privacy개인정보·접근권한·토큰·보안 영향이 있는 작업개인정보·접근권한·토큰·보안 영향이 있는 작업status:blocked선행 작업이나 외부 조건 때문에 현재 진행할 수 없는 작업선행 작업이나 외부 조건 때문에 현재 진행할 수 없는 작업type:integration외부 LLM·DB·스토리지 등 시스템 간 연동 작업외부 LLM·DB·스토리지 등 시스템 간 연동 작업
Activity
[-][Deploy] PostgreSQL·외부 LLM 기반 데모 배포 구성[/-][+][Deploy] PostgreSQL·AI Runtime 기반 데모 배포 구성[/+]BcKmini commentedon Aug 10, 2026
오늘(2026-08-10) infra 쪽에서 남은 배포 작업 중 아래 처리함:
데모 로그인·health·ai /docs 라이브 확인 완료. 남은 건 SMTP 앱 비밀번호(비밀번호 재설정 메일 발송, 아직 실값 없어서 보류), HTTPS/TLS, SERVER_PUBLIC_URL.
krestar commentedon Aug 16, 2026
https://app.notion.com/p/localhost-run-3be0e15aa74e8068b676fce40e60941e
localhost.run 사용 시 문제점 및 대안입니다
tailscale 직접 테스트를 통해 모바일 환경에서의 워커 링크 작동 + 이미지 서버에 들어오는 것 확인
hywznn commentedon Aug 16, 2026
@BcKmini 배포 환경 Renewal 연결 확인 부탁드립니다.
로컬
.server-env에는 아래 설정이 준비되어 있습니다.AI_RUNTIME_ENABLED=trueAI_RUNTIME_RENEWAL_ENDPOINT=http://ai:8000/internal/v1/workflows/renewal/runAI_RUNTIME_SERVICE_CREDENTIAL설정 완료현재 배포본에서는 일반 PLAN·ANALYZE 호출은 성공하지만, Task의 Renewal 실행만
재계약·연장 분석을 일시적으로 실행할 수 없습니다.로 실패합니다.다음 사항을 확인 부탁드립니다.
server-envSecret에AI_RUNTIME_RENEWAL_ENDPOINT가 반영됐는지AI_RUNTIME_SERVICE_CREDENTIAL과 AI의FOWOCO_INTERNAL_API_TOKEN이 일치하는지ai:8000/internal/v1/workflows/renewal/run에 접근 가능한지Secret 실제 값은 댓글에 남기지 않고, 정상 반영 여부만 알려주시면 이어서 배포 E2E를 진행하겠습니다.
BcKmini commentedon Aug 19, 2026
요청하신 4가지 다 확인함:
server-envSecret에AI_RUNTIME_RENEWAL_ENDPOINT=http://ai:8000/internal/v1/workflows/renewal/run반영됨AI_RUNTIME_SERVICE_CREDENTIAL과 ai의FOWOCO_INTERNAL_API_TOKEN값 일치(해시 비교로 확인, 실제 값은 안 옮김)ai:8000으로 네트워크 접근 정상(401 응답 = 인증만 걸린 거고 연결 자체는 됨)그리고 실제로 배포본 API에
POST /api/v1/tasks/94000000-0000-0000-0000-000000000009/renewal-run직접 쏴서 끝까지 확인함 — 200 OK, task_version 1→2로 정상 갱신, PLAN/ANALYZE 왕복 정상 동작. 배포 설정 자체는 더 이상 막힌 게 없는 걸로 보임.다만 응답에
"guide_failure_code": "LANGUAGE_ASSISTANT_NOT_CONFIGURED"가 같이 옴 — 이건 별개로 ai#69에 등록된 이슈고,ai-env에FOWOCO_LLM_*가 아직 미설정이라 그럼(안내문구 생성만 실패, Renewal 분석 자체는 정상 완료). 배포 블로커는 풀린 걸로 보고 이쪽은 계속 진행하셔도 될 것 같습니다.