Skip to content

[Deploy] PostgreSQL·AI Runtime 기반 데모 배포 구성 #9

Description

@hywznn

한 줄 목표

시연자 PC의 LM Studio 없이 Client + Spring Boot Server + PostgreSQL 16 + AI Runtime을 재현 가능한 HTTPS 데모 환경에 배포합니다.

Server 준비 상태

  • Multi-stage Dockerfile과 non-root UID 10001
  • PostgreSQL 16 Demo Compose·prod profile·Flyway validation
  • liveness·readiness·공개 /health
  • AI Runtime·OCR endpoint, Bearer credential, timeout·응답 크기 제한
  • AiRun·OCR·Outbox 재시작 복구 기반
  • GHCR image build와 Kubernetes rollout 실패 감지
  • 배포 Secret·Smoke·Rollback Runbook
  • Swagger/OpenAPI·DB 문서 GitHub Pages 자동 배포

남은 배포 작업

  • Infra #104에서 Namespace·PostgreSQL·Server Deployment 최초 적용
  • postgres-secret, server-env Secret 주입
  • /app/data/files PVC와 fsGroup: 10001 연결
  • Ingress TLS와 HTTPS Client·Server URL 준비
  • CORS에 실제 Client와 https://fowoco.github.io 허용
  • Server 저장소 Actions Variable SERVER_PUBLIC_URL=https://... 등록
  • 실제 Server→AI PLAN/ANALYZE·OCR·Renewal Smoke
  • 직전 정상 image rollback rehearsal

현재 Infra 공개 주소는 HTTP이므로 GitHub Pages Swagger의 실제 호출 기능은 열지 않습니다. HTTPS가 준비된 뒤 SERVER_PUBLIC_URL을 등록하면 Try it outAuthorize가 자동 활성화됩니다.

필수 Secret 분리

대상 포함 값
postgres-secret DB bootstrap·runtime·migration 계정 값
server-env DB URL·JWT·CORS·AI/OCR 내부 연결·SMTP·FileStorage 설정
ai-env 내부 API Token·Intent 모델·Hugging Face·CLOVA OCR·LLM 설정

Secret 실제 값은 Git·Issue·Wiki·Actions 로그에 적지 않습니다.

배포 Smoke

  1. rollout·readiness·/health
  2. 로그인·/auth/me·타 사업장 차단
  3. POST /api/v1/ai-runs의 실제 PLAN → ANALYZE
  4. Candidate 채택 → Case·Task → 승인
  5. Worker Link → 응답·파일 → 완료
  6. OCR·Renewal·생성 문서 저장
  7. Server 재시작 후 미완료 Event 복구

완료 조건

  • LM Studio와 개발자 PC가 꺼져도 동일 URL에서 동작합니다.
  • Demo Seed는 합성 데이터만 사용하고 운영 prod에서는 비활성화됩니다.
  • HTTPS Product Smoke와 rollback rehearsal가 통과합니다.
  • 배포 결과와 장애 복구 방법이 Runbook에 기록됩니다.

선행: Infra #104 · 후속: #10 · 상위: #2

Metadata

Metadata

Labels

area:ai-integrationServer ↔ AI Runtime 내부 계약·Client·검증·trace 연동 영역; Prompt·모델·Provider 구현은 ai 저장소 소유area:infraServer Dockerfile·DB 설정·CI hook·배포 가능성 영역; 통합 인프라 운영은 infra 저장소와 조율priority:P0MVP 진행을 막는 최우선 핵심 작업security:privacy개인정보·접근권한·토큰·보안 영향이 있는 작업status:blocked선행 작업이나 외부 조건 때문에 현재 진행할 수 없는 작업type:integration외부 LLM·DB·스토리지 등 시스템 간 연동 작업

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions