server: port: ${FILE_PORT:9206} spring: profiles: active: ${SPRING_PROFILES_ACTIVE:dev} application: name: file-service config: import: - optional:nacos:baiyue-common.yml?group=BAIYUE&refreshEnabled=true - optional:nacos:${spring.application.name}.yml?group=BAIYUE&refreshEnabled=true cloud: nacos: server-addr: ${NACOS_SERVER_ADDR:127.0.0.1:8848} username: ${NACOS_USERNAME:nacos} password: ${NACOS_PASSWORD:nacos} discovery: enabled: ${NACOS_DISCOVERY_ENABLED:true} register-enabled: ${NACOS_REGISTER_ENABLED:true} group: ${NACOS_GROUP:BAIYUE} namespace: ${NACOS_NAMESPACE:public} config.namespace: ${NACOS_NAMESPACE:public} openfeign: client: config: iamExportProviderClient: connect-timeout: 3000 read-timeout: 15000 orderExportProviderClient: connect-timeout: 3000 read-timeout: 15000 warehouseExportProviderClient: connect-timeout: 3000 read-timeout: 15000 firstlegExportProviderClient: connect-timeout: 3000 read-timeout: 15000 servlet: multipart: max-file-size: 10MB max-request-size: 11MB rocketmq: name-server: ${ROCKETMQ_NAME_SERVER:127.0.0.1:9876} producer: group: ${MQ_TOPIC_PREFIX:test-}baiyue-file-export-publisher-v1 send-message-timeout: 3000 baiyue: security: jwt-secret: ${JWT_SECRET:change-me-to-at-least-32-bytes-long-before-start} internal-service-token: ${INTERNAL_SERVICE_TOKEN:change-me-to-an-internal-token-at-least-32-bytes-long} clients: iam: url: ${IAM_SERVICE_URL:} integration: url: ${INTEGRATION_SERVICE_URL:} file: storage-root: ${FILE_STORAGE_ROOT:${user.home}/baiyue-firstleg/uploads} price-book: max-size-bytes: ${FILE_PRICE_BOOK_MAX_SIZE_BYTES:10485760} export: retention-days: ${FILE_EXPORT_RETENTION_DAYS:7} legacy-worker-enabled: false instance-id: ${HOSTNAME:file-local} task: lease-seconds: ${FILE_EXPORT_TASK_LEASE_SECONDS:300} heartbeat-seconds: ${FILE_EXPORT_TASK_HEARTBEAT_SECONDS:60} max-duration-minutes: ${FILE_EXPORT_MAX_DURATION_MINUTES:30} max-file-size-mb: ${FILE_EXPORT_MAX_FILE_SIZE_MB:50} publisher: enabled: ${FILE_EXPORT_PUBLISHER_ENABLED:false} poll-interval-ms: ${FILE_EXPORT_PUBLISHER_POLL_MS:5000} batch-size: 50 lease-seconds: 60 consumer: enabled: ${FILE_EXPORT_CONSUMER_ENABLED:false} concurrency: ${FILE_EXPORT_CONSUMER_CONCURRENCY:4} consume-timeout-minutes: ${FILE_EXPORT_CONSUME_TIMEOUT_MINUTES:90} max-reconsume-times: 2 reconciler: enabled: ${FILE_EXPORT_RECONCILER_ENABLED:false} poll-interval-ms: ${FILE_EXPORT_RECONCILER_POLL_MS:30000} redispatch-grace-seconds: 60 sent-stale-seconds: 600 rocketmq: topic: ${MQ_TOPIC_PREFIX:test-}baiyue-file-export-command-v1 consumer-group: ${MQ_TOPIC_PREFIX:test-}baiyue-file-export-worker-v1 dlq-topic: "%DLQ%${MQ_TOPIC_PREFIX:test-}baiyue-file-export-worker-v1" dlq-consumer-group: ${MQ_TOPIC_PREFIX:test-}baiyue-file-export-dlq-handler-v1 definitions: CUSTOMER_LIST: provider-service: iam-service provider-path: /internal/exports/v1/CUSTOMER_LIST/batches required-permission: platform:customer:export app-scope: PLATFORM enabled: true max-rows: 200000 max-attempts: 3 batch-size: 500 management.endpoints.web.exposure.include: health,info,prometheus logging: file: name: "${LOGGING_FILE_NAME:${LOG_PATH:./logs}/${spring.application.name}.log}" logback: rollingpolicy: file-name-pattern: "${LOGGING_ROLLING_FILE_NAME_PATTERN:${LOG_PATH:./logs}/${spring.application.name}.%d{yyyy-MM-dd}.%i.log.gz}" max-file-size: "${LOGGING_ROLLING_MAX_FILE_SIZE:100MB}" max-history: "${LOGGING_ROLLING_MAX_HISTORY:7}" total-size-cap: "${LOGGING_ROLLING_TOTAL_SIZE_CAP:5GB}" clean-history-on-start: "${LOGGING_ROLLING_CLEAN_HISTORY_ON_START:false}"