- maximumPoolSize=10, minimumIdle=0, idleTimeout=2m, maxLifetime=30m, connectionTimeout=10s, keepalive=0 적용
- 환경변수 미설정 시 안전한 기본값으로 동작하도록 `${DB_POOL_*}` 기본값 제공
- 유휴 시 커넥션 상주 최소화로 다운스케일 유도 및 비용/성능 균형 개선
130 lines
3.3 KiB
YAML
130 lines
3.3 KiB
YAML
server:
|
|
shutdown: graceful
|
|
env: ${SERVER_ENV}
|
|
forward-headers-strategy: framework
|
|
|
|
logging:
|
|
level:
|
|
com:
|
|
amazonaws:
|
|
util:
|
|
EC2MetadataUtils: error
|
|
|
|
weraser:
|
|
apiUrl: ${WERASER_API_URL}
|
|
apiKey: ${WERASER_API_KEY}
|
|
|
|
payverse:
|
|
host: ${PAYVERSE_HOST}
|
|
inboundIp: ${PAYVERSE_INBOUND_IP}
|
|
mid: ${PAYVERSE_MID}
|
|
clientKey: ${PAYVERSE_CLIENT_KEY}
|
|
secretKey: ${PAYVERSE_SECRET_KEY}
|
|
usdMid: ${PAYVERSE_USD_MID}
|
|
usdClientKey: ${PAYVERSE_USD_CLIENT_KEY}
|
|
usdSecretKey: ${PAYVERSE_USD_SECRET_KEY}
|
|
|
|
bootpay:
|
|
applicationId: ${BOOTPAY_APPLICATION_ID}
|
|
privateKey: ${BOOTPAY_PRIVATE_KEY}
|
|
hectoApplicationId: ${BOOTPAY_APPLICATION_HECTO_ID}
|
|
hectoPrivateKey: ${BOOTPAY_PRIVATE_HECTO_KEY}
|
|
|
|
apple:
|
|
iapVerifyUrl: https://buy.itunes.apple.com/verifyReceipt
|
|
iapVerifySandboxUrl: https://sandbox.itunes.apple.com/verifyReceipt
|
|
bundleId: ${APPLE_BUNDLE_ID}
|
|
|
|
line:
|
|
channelId: ${LINE_CHANNEL_ID}
|
|
|
|
agora:
|
|
appId: ${AGORA_APP_ID}
|
|
appCertificate: ${AGORA_APP_CERTIFICATE}
|
|
|
|
firebase:
|
|
secretKeyPath: ${GOOGLE_APPLICATION_CREDENTIALS}
|
|
|
|
google:
|
|
webClientId: ${GOOGLE_WEB_CLIENT_ID}
|
|
|
|
cloud:
|
|
naver:
|
|
papagoClientId: ${NCLOUD_PAPAGO_CLIENT_ID}
|
|
papagoClientSecret: ${NCLOUD_PAPAGO_CLIENT_SECRET}
|
|
aws:
|
|
credentials:
|
|
accessKey: ${APP_AWS_ACCESS_KEY}
|
|
secretKey: ${APP_AWS_SECRET_KEY}
|
|
s3:
|
|
contentBucket: ${S3_CONTENT_BUCKET}
|
|
bucket: ${S3_BUCKET}
|
|
contentCloudFront:
|
|
host: ${CONTENT_CLOUD_FRONT_HOST}
|
|
privateKeyFilePath: ${CONTENT_CLOUD_FRONT_PRIVATE_KEY_FILE_PATH}
|
|
keyPairId: ${CONTENT_CLOUD_FRONT_KEY_PAIR_ID}
|
|
cloudFront:
|
|
host: ${CLOUD_FRONT_HOST}
|
|
sqs:
|
|
generateCouponUrl: ${AMAZON_SQS_GENERATE_CAN_COUPON_QUEUE_URL}
|
|
region:
|
|
static: ap-northeast-2
|
|
stack:
|
|
auto: false
|
|
|
|
jwt:
|
|
header: Authorization
|
|
token-validity-in-seconds: ${JWT_TOKEN_VALIDITY_TIME}
|
|
secret: ${JWT_SECRET}
|
|
|
|
spring:
|
|
redis:
|
|
host: ${REDIS_HOST}
|
|
port: ${REDIS_PORT}
|
|
|
|
datasource:
|
|
driver-class-name: com.mysql.cj.jdbc.Driver
|
|
url: ${DB_URL}
|
|
username: ${DB_USERNAME}
|
|
password: ${DB_PASSWORD}
|
|
hikari:
|
|
pool-name: SodaliveHikari
|
|
maximum-pool-size: ${DB_POOL_MAX:10}
|
|
minimum-idle: ${DB_POOL_MIN:0}
|
|
idle-timeout: ${DB_POOL_IDLE_TIMEOUT_MS:120000}
|
|
max-lifetime: ${DB_POOL_MAX_LIFETIME_MS:1800000}
|
|
connection-timeout: ${DB_POOL_CONNECTION_TIMEOUT_MS:10000}
|
|
keepalive-time: ${DB_POOL_KEEPALIVE_TIME_MS:0}
|
|
|
|
jpa:
|
|
hibernate:
|
|
ddl-auto: validate
|
|
database: mysql
|
|
properties:
|
|
hibernate:
|
|
dialect: org.hibernate.dialect.MySQL8Dialect
|
|
|
|
servlet:
|
|
multipart:
|
|
max-file-size: 1024MB
|
|
max-request-size: 1024MB
|
|
cache:
|
|
type: redis
|
|
---
|
|
spring:
|
|
config:
|
|
activate:
|
|
on-profile: local
|
|
|
|
devtools:
|
|
restart:
|
|
enabled: true
|
|
livereload:
|
|
enabled: true
|
|
|
|
jpa:
|
|
properties:
|
|
hibernate:
|
|
show_sql: true
|
|
format_sql: true
|