282 lines
7.8 KiB
YAML
282 lines
7.8 KiB
YAML
apiVersion: networking.k8s.io/v1
|
|
kind: Ingress
|
|
metadata:
|
|
name: hiorder-main-ingress
|
|
namespace: ns-hiorder
|
|
annotations:
|
|
# 기본 Ingress 설정
|
|
nginx.ingress.kubernetes.io/ssl-redirect: "false"
|
|
nginx.ingress.kubernetes.io/force-ssl-redirect: "false"
|
|
|
|
# SSL 인증서 자동 발급 (cert-manager)
|
|
cert-manager.io/cluster-issuer: "letsencrypt-prod"
|
|
|
|
# 파일 업로드 설정 (리뷰 서비스용)
|
|
nginx.ingress.kubernetes.io/proxy-body-size: "50m"
|
|
nginx.ingress.kubernetes.io/client-max-body-size: "50m"
|
|
|
|
# 타임아웃 설정 (외부 API 호출 고려)
|
|
nginx.ingress.kubernetes.io/proxy-connect-timeout: "300"
|
|
nginx.ingress.kubernetes.io/proxy-send-timeout: "300"
|
|
nginx.ingress.kubernetes.io/proxy-read-timeout: "300"
|
|
|
|
# Rate Limiting (v1.12.1 호환)
|
|
nginx.ingress.kubernetes.io/rate-limit-requests-per-second: "100"
|
|
nginx.ingress.kubernetes.io/rate-limit-connections: "200"
|
|
nginx.ingress.kubernetes.io/rate-limit-window: "1m"
|
|
|
|
# CORS 설정 (snippet 없이)
|
|
nginx.ingress.kubernetes.io/enable-cors: "true"
|
|
nginx.ingress.kubernetes.io/cors-allow-origin: "*"
|
|
nginx.ingress.kubernetes.io/cors-allow-methods: "GET, POST, PUT, DELETE, OPTIONS"
|
|
nginx.ingress.kubernetes.io/cors-allow-headers: "DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization"
|
|
nginx.ingress.kubernetes.io/cors-max-age: "86400"
|
|
|
|
# 백엔드 프로토콜 설정
|
|
nginx.ingress.kubernetes.io/backend-protocol: "HTTP"
|
|
|
|
# 프록시 설정
|
|
nginx.ingress.kubernetes.io/proxy-buffering: "on"
|
|
nginx.ingress.kubernetes.io/proxy-buffer-size: "8k"
|
|
|
|
# 업스트림 해시 설정 (세션 어피니티)
|
|
nginx.ingress.kubernetes.io/upstream-hash-by: "$remote_addr"
|
|
|
|
spec:
|
|
ingressClassName: nginx
|
|
# tls:
|
|
# - secretName: hiorder-api-tls-secret
|
|
rules:
|
|
# - host: hiorder-api.20.249.191.180.nio.io
|
|
- http:
|
|
paths:
|
|
|
|
# ==============================================
|
|
# 📱 MEMBER SERVICE (회원 관리) - Port 8081
|
|
# ==============================================
|
|
# 인증 관련 API (최우선 순위)
|
|
- path: /api/auth
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: member-service
|
|
port:
|
|
number: 8081
|
|
|
|
# 회원 관리 API
|
|
- path: /api/members/
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: member-service
|
|
port:
|
|
number: 8081
|
|
|
|
# 구독 관리 API
|
|
- path: /api/subscriptions
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: member-service
|
|
port:
|
|
number: 8081
|
|
|
|
# ==============================================
|
|
# 🏪 STORE SERVICE (매장 운영) - Port 8082
|
|
# ==============================================
|
|
# 매장 관리 API
|
|
- path: /api/stores
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: store-service
|
|
port:
|
|
number: 8082
|
|
|
|
# 메뉴 관리 API
|
|
- path: /api/menus
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: store-service
|
|
port:
|
|
number: 8082
|
|
|
|
# 외부 플랫폼 연동 API
|
|
- path: /api/external
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: store-service
|
|
port:
|
|
number: 8082
|
|
|
|
# ==============================================
|
|
# 📝 REVIEW SERVICE (리뷰 관리) - Port 8083
|
|
# ==============================================
|
|
# 리뷰 관리 API
|
|
- path: /api/reviews
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: review-service
|
|
port:
|
|
number: 8083
|
|
|
|
# 파일 업로드 API (이미지 업로드)
|
|
- path: /api/files
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: review-service
|
|
port:
|
|
number: 8083
|
|
|
|
# ==============================================
|
|
# 🤖 ANALYTICS SERVICE (AI 분석) - Port 8084
|
|
# ==============================================
|
|
# AI 분석 API
|
|
- path: /api/analytics
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: analytics-service
|
|
port:
|
|
number: 8084
|
|
|
|
# 실행 계획 API
|
|
- path: /api/action-plans
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: analytics-service
|
|
port:
|
|
number: 8084
|
|
|
|
# ==============================================
|
|
# 🎯 RECOMMEND SERVICE (취향 추천) - Port 8085
|
|
# ==============================================
|
|
# 추천 API
|
|
- path: /api/recommend
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: recommend-service
|
|
port:
|
|
number: 8085
|
|
|
|
# ==============================================
|
|
# 📚 SWAGGER UI & API DOCS (개발자 도구)
|
|
# ==============================================
|
|
# 통합 API 문서 (member-service 기본)
|
|
- path: /docs
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: member-service
|
|
port:
|
|
number: 8081
|
|
|
|
# 각 서비스별 Swagger UI 직접 접근
|
|
- path: /docs/member
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: member-service
|
|
port:
|
|
number: 8081
|
|
|
|
- path: /docs/store
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: store-service
|
|
port:
|
|
number: 8082
|
|
|
|
- path: /docs/review
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: review-service
|
|
port:
|
|
number: 8083
|
|
|
|
- path: /docs/analytics
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: analytics-service
|
|
port:
|
|
number: 8084
|
|
|
|
- path: /docs/recommend
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: recommend-service
|
|
port:
|
|
number: 8085
|
|
|
|
# ==============================================
|
|
# 💊 HEALTH CHECKS & MONITORING
|
|
# ==============================================
|
|
# 통합 헬스체크
|
|
- path: /health
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: member-service
|
|
port:
|
|
number: 8081
|
|
|
|
# Spring Boot Actuator
|
|
- path: /actuator
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: member-service
|
|
port:
|
|
number: 8081
|
|
|
|
# 개별 서비스 헬스체크 (필요시)
|
|
- path: /health/member
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: member-service
|
|
port:
|
|
number: 8081
|
|
|
|
- path: /health/store
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: store-service
|
|
port:
|
|
number: 8082
|
|
|
|
- path: /health/review
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: review-service
|
|
port:
|
|
number: 8083
|
|
|
|
- path: /health/analytics
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: analytics-service
|
|
port:
|
|
number: 8084
|
|
|
|
- path: /health/recommend
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: recommend-service
|
|
port:
|
|
number: 8085
|
|
|