prediction 모노레포 이관을 위한 DB 기반 구축: - V008: 계층형 code_master (12그룹 72코드, 위반유형/이벤트/단속/허가/함정 등) - V009: gear_type_master 어구 유형 6종 (분류 룰 + 합법성 기준) - V010: zone_polygon_master PostGIS 해역 폴리곤 (8개 주요 해역) - V011: vessel_permit_master + patrol_ship_master + fleet_companies 시드 - V012: vessel_analysis_results(파티션) + prediction_events 허브 + 알림 + 통계 + KPI - V013: enforcement_records/plans + patrol_assignments + ai_model 메타 - Hibernate Spatial 의존성 추가 (PostGIS 지원) - 프론트엔드 더미 데이터 기반 시드 (이벤트 15건, 단속 6건, 계획 5건, 월별통계 7개월) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
71 lines
1.6 KiB
YAML
71 lines
1.6 KiB
YAML
spring:
|
|
application:
|
|
name: kcg-ai-backend
|
|
|
|
datasource:
|
|
url: jdbc:postgresql://211.208.115.83:5432/kcgaidb
|
|
username: kcg-app
|
|
password: Kcg2026ai
|
|
driver-class-name: org.postgresql.Driver
|
|
hikari:
|
|
maximum-pool-size: 10
|
|
minimum-idle: 2
|
|
connection-timeout: 30000
|
|
|
|
jpa:
|
|
hibernate:
|
|
ddl-auto: validate
|
|
properties:
|
|
hibernate:
|
|
default_schema: kcg
|
|
format_sql: true
|
|
dialect: org.hibernate.spatial.dialect.postgis.PostgisPG10Dialect
|
|
jdbc:
|
|
time_zone: Asia/Seoul
|
|
open-in-view: false
|
|
|
|
flyway:
|
|
enabled: true
|
|
schemas: kcg
|
|
default-schema: kcg
|
|
locations: classpath:db/migration
|
|
baseline-on-migrate: true
|
|
|
|
cache:
|
|
type: caffeine
|
|
cache-names: permissions,users
|
|
caffeine:
|
|
spec: maximumSize=1000,expireAfterWrite=10m
|
|
|
|
server:
|
|
port: 8080
|
|
forward-headers-strategy: framework
|
|
|
|
management:
|
|
endpoints:
|
|
web:
|
|
exposure:
|
|
include: health,info,flyway
|
|
endpoint:
|
|
health:
|
|
show-details: when-authorized
|
|
|
|
logging:
|
|
level:
|
|
root: INFO
|
|
gc.mda.kcg: DEBUG
|
|
org.flywaydb: INFO
|
|
|
|
# === 애플리케이션 커스텀 설정 ===
|
|
app:
|
|
prediction:
|
|
base-url: ${PREDICTION_BASE_URL:http://localhost:8001}
|
|
iran-backend:
|
|
# 운영 환경: https://kcg.gc-si.dev (Spring Boot + Prediction 통합)
|
|
base-url: ${IRAN_BACKEND_BASE_URL:https://kcg.gc-si.dev}
|
|
cors:
|
|
allowed-origins: ${CORS_ALLOWED_ORIGINS:http://localhost:5173,http://localhost:5174}
|
|
jwt:
|
|
secret: ${JWT_SECRET:change-me-in-production-this-must-be-at-least-256-bits-long-secret-key}
|
|
expiration-ms: ${JWT_EXPIRATION_MS:86400000}
|