server: port: 8080 spring: application: name: delivery-platform-api # 架构约定:生产/联调使用 PostgreSQL 15;本地可 docker compose 见 services/docker-compose.yml datasource: url: ${SPRING_DATASOURCE_URL:jdbc:postgresql://localhost:5432/craftlabs_platform} username: ${SPRING_DATASOURCE_USERNAME:craftlabs} password: ${SPRING_DATASOURCE_PASSWORD:craftlabs} driver-class-name: org.postgresql.Driver flyway: enabled: true # 与同库共存的 license-webhook-ingress 默认 flyway_schema_history 隔离 table: flyway_platform_api mybatis-plus: configuration: map-underscore-to-camel-case: true management: endpoints: web: exposure: include: health,info # JWT:生产必须通过环境变量覆盖(至少 32 字符) platform: jwt: secret: ${PLATFORM_JWT_SECRET:dev-only-unsafe-change-in-production-32chars!!} expiry-seconds: ${PLATFORM_JWT_EXPIRY_SECONDS:43200} internal: token: ${PLATFORM_INTERNAL_TOKEN:${CRAFTLABS_PLATFORM_INTERNAL_TOKEN:}} # I8:平台代调 Webhook 出库重放(OPS JWT → 平台 → Webhook 内部 API) craftlabs: webhook: base-url: ${LICENSE_WEBHOOK_BASE_URL:} ops-token: ${LICENSE_WEBHOOK_OPS_TOKEN:} springdoc: swagger-ui: path: /swagger-ui.html paths-to-exclude: - /internal/**