# Helm Values for logistream Project
# 이 파일을 https://gitlab.kpslp.kr/root/helm-charts 의 kpslp/ 디렉토리에 업로드해야 합니다.
# 파일명: kpslp/values_logistream.yaml

replicaCount: 1

image:
  repository: registry.kpslp.kr/slp/logistream
  tag: latest  # Jenkins가 자동으로 업데이트
  pullPolicy: IfNotPresent

service:
  type: ClusterIP
  # 백엔드 포트 (Spring Boot)
  backendPort: 8081
  # 프론트엔드 포트 (메인 서비스)
  port: 3000

ingress:
  enabled: true
  className: nginx
  annotations:
    cert-manager.io/cluster-issuer: letsencrypt-prod
  hosts:
    - host: logistream.kpslp.kr  # 실제 도메인으로 변경 필요
      paths:
        - path: /
          pathType: Prefix
  tls:
    - secretName: logistream-tls
      hosts:
        - logistream.kpslp.kr  # 실제 도메인으로 변경 필요

resources:
  limits:
    cpu: 1000m
    memory: 1024Mi
  requests:
    cpu: 500m
    memory: 512Mi

# 환경 변수 (필요시 추가)
env:
  - name: SPRING_PROFILES_ACTIVE
    value: prod
  - name: DATABASE_HOST
    value: postgres-service.apps.svc.cluster.local  # Kubernetes 내부 서비스명
  - name: DATABASE_PORT
    value: "5432"
  - name: DATABASE_NAME
    value: logistream
  # 민감 정보는 Kubernetes Secret으로 관리 (별도 설정 필요)
  # - name: DATABASE_PASSWORD
  #   valueFrom:
  #     secretKeyRef:
  #       name: logistream-secrets
  #       key: db-password

# PostgreSQL 설정 (필요시)
postgresql:
  enabled: false  # 외부 DB 사용 시 false
  # enabled: true  # 내장 PostgreSQL 사용 시 true

# 헬스체크 설정
livenessProbe:
  httpGet:
    path: /api/health
    port: 3000
  initialDelaySeconds: 40
  periodSeconds: 30
  timeoutSeconds: 10
  failureThreshold: 3

readinessProbe:
  httpGet:
    path: /api/health
    port: 3000
  initialDelaySeconds: 20
  periodSeconds: 10
  timeoutSeconds: 5
  failureThreshold: 3

# PersistentVolume (파일 업로드 저장용)
persistence:
  enabled: true
  storageClass: nfs-client  # NCP 환경에 맞게 수정
  accessMode: ReadWriteOnce
  size: 10Gi
  mountPath: /app/uploads

# 추가 설정 (필요시)
nodeSelector: {}
tolerations: []
affinity: {}

