Phase 0: wbx-spring-core 라이브러리 전환 - java-library 플러그인, WbxAutoConfiguration, Admin 조건부 활성화 - 루트 settings.gradle + build.gradle (멀티모듈) Phase 1: wtm-api 모듈 생성 - 23개 JPA Entity, 14개 Controller, 79개 API 엔드포인트 - Flyway V100~V107 MySQL 마이그레이션 - TimesheetRuleEngine, TimesheetApprovalHandler, P6WbsParser Phase 2: wtm-frontend (Vue 3 + PrimeVue 4) - 10개 도메인 모듈, 17개 View, 5개 서브컴포넌트 - 반응형 레이아웃 (AppLayout, AppSidebar, AppTopbar) - BaseCrudTable, BaseFormDialog, BasePageHeader 표준 컴포넌트 - JWT 인터셉터, 역할 기반 메뉴 필터링 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
53 줄
1.1 KiB
YAML
53 줄
1.1 KiB
YAML
# ===== WBX Spring Framework — 프로덕션 프로필 =====
|
|
# 사용법: java -jar app.jar --spring.profiles.active=prod,mysql
|
|
# java -jar app.jar --spring.profiles.active=prod,postgresql
|
|
|
|
server:
|
|
port: 8080
|
|
forward-headers-strategy: native
|
|
servlet:
|
|
context-path: ${SERVER_CONTEXT_PATH:/}
|
|
|
|
spring:
|
|
jpa:
|
|
hibernate:
|
|
ddl-auto: validate # 프로덕션: Flyway 사용, DDL 검증만
|
|
open-in-view: false
|
|
properties:
|
|
hibernate:
|
|
default_batch_fetch_size: 100
|
|
|
|
flyway:
|
|
enabled: true
|
|
|
|
wbx:
|
|
spring:
|
|
jwt:
|
|
secret: ${JWT_SECRET}
|
|
expiration: 28800
|
|
cors:
|
|
allowed-origins: ${CORS_ORIGINS:https://app.company.com}
|
|
notification:
|
|
sse-enabled: true
|
|
heartbeat-seconds: 30
|
|
|
|
management:
|
|
endpoints:
|
|
web:
|
|
exposure:
|
|
include: health,info,metrics,prometheus
|
|
endpoint:
|
|
health:
|
|
show-details: when-authorized
|
|
|
|
springdoc:
|
|
swagger-ui:
|
|
enabled: false # 프로덕션 Swagger 비활성화
|
|
|
|
logging:
|
|
level:
|
|
root: WARN
|
|
kr.co.accura.wbx.spring: INFO
|
|
file:
|
|
name: ${LOG_PATH:/opt/wbx-app/logs/app.log}
|