Skip to content

Deployment Guide

BcKmini edited this page Jul 28, 2026 · 1 revision

Deployment Guide

최초 배포 순서

kubectl apply -f k8s/00-namespace.yaml

# 아래 두 Secret은 git에 올리지 않는다 — 직접 생성
kubectl -n fowoco create secret generic postgres-secret \
  --from-literal=POSTGRES_DB=fowoco \
  --from-literal=POSTGRES_USER=fowoco \
  --from-literal=POSTGRES_PASSWORD='<비밀번호>'

kubectl -n fowoco create secret generic server-env \
  --from-literal=SPRING_PROFILES_ACTIVE=prod \
  --from-literal=DB_URL='jdbc:postgresql://postgres.fowoco.svc.cluster.local:5432/fowoco' \
  --from-literal=DB_RUNTIME_USERNAME=fowoco \
  --from-literal=DB_RUNTIME_PASSWORD='<postgres-secret과 동일한 비밀번호>' \
  --from-literal=DB_MIGRATION_USERNAME=fowoco \
  --from-literal=DB_MIGRATION_PASSWORD='<postgres-secret과 동일한 비밀번호>' \
  --from-literal=CORS_ALLOWED_ORIGINS='http://fowoco.<EC2 퍼블릭 IP>.nip.io' \
  --from-literal=JWT_ISSUER=fowoco-server \
  --from-literal=JWT_AUDIENCE=fowoco-client \
  --from-literal=JWT_SECRET_BASE64='<openssl rand -base64 32 로 생성>' \
  --from-literal=WORKFLOW_CATALOG_LOCATION='classpath:workflow/catalog-projection.local.json'

kubectl apply -f k8s/

server 필수 환경변수 (prod 프로파일 기준)

server/src/main/resources/application.yamlprod 프로파일 기준. 기본값이 없는 항목은 반드시 넣어야 기동됨.

변수 기본값 설명
DB_URL 없음(필수) jdbc:postgresql://postgres.fowoco.svc.cluster.local:5432/fowoco
DB_RUNTIME_USERNAME / DB_RUNTIME_PASSWORD 없음(필수) 런타임 쿼리용 DB 계정
DB_MIGRATION_USERNAME / DB_MIGRATION_PASSWORD 없음(필수) Flyway 마이그레이션용 DB 계정 (데모 규모에선 runtime과 동일 계정 재사용해도 무방)
CORS_ALLOWED_ORIGINS 없음(필수) client가 서빙되는 origin
JWT_ISSUER / JWT_AUDIENCE 없음(필수) 임의 문자열, client와 값만 맞으면 됨
JWT_SECRET_BASE64 없음(필수) openssl rand -base64 32로 생성
WORKFLOW_CATALOG_LOCATION 없음(필수, default 프로파일에만 기본값 있음) classpath:workflow/catalog-projection.local.json (jar 안에 이미 포함된 리소스)
REFRESH_TOKEN_COOKIE_SECURE true HTTPS 아니면 로그인 쿠키가 안 붙을 수 있음 — 데모가 http라면 false

ai 필수 환경변수

없음. 전부 기본값으로 동작 (ai/app/core/config.py 기준, LLM 관련 값은 비워두면 템플릿 기반 stub로 동작).

client 빌드 시 필요한 값

VITE_API_BASE_URL — 빌드 타임(Vite) 값. /api/v1 기본값으로 상대경로 사용 예정 → 배포 IP/도메인이 바뀌어도 이미지 재빌드 불필요 (Deployment Plan 참고, 아직 client에 미반영).

Clone this wiki locally