XuqmGroup-Server/tenant-service/src/main/resources/application.yml
XuqmGroup e5f0e7faea feat: private deployment server-side capabilities (P2)
- PrivateDeploymentProperties: DEPLOYMENT_MODE/ENABLE_*/TENANT_BOOTSTRAP_ENABLED config binding
- PrivateTenantBootstrapInitializer: auto-create main tenant and app from env vars when PRIVATE mode, idempotent
- AuthService: block registration with XUQM_PRIVATE_2001 when TENANT_REGISTER_ENABLED=false
- EmailService: block REGISTER email verification in private mode
- SdkConfigController: intersect DB feature flags with ENABLE_* deployment flags for runtime degradation
- PrivateDeploymentController: GET /api/private/deployment/status public endpoint
- SecurityConfig: permit /api/private/deployment/status without auth
- application.yml: add deployment.* and tenant.bootstrap.* config sections with env var bindings

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-18 20:49:46 +08:00

120 行
3.2 KiB
YAML

server:
port: 9001
spring:
application:
name: tenant-service
datasource:
url: jdbc:mysql://39.107.53.187:3306/xuqm_tenant?useUnicode=true&characterEncoding=utf8&useSSL=true&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true
username: xuqm
password: Xuqm@2026
driver-class-name: com.mysql.cj.jdbc.Driver
hikari:
minimum-idle: 5
maximum-pool-size: 20
connection-timeout: 30000
idle-timeout: 300000
max-lifetime: 900000
jpa:
hibernate:
ddl-auto: update
show-sql: false
properties:
hibernate:
dialect: org.hibernate.dialect.MySQLDialect
format_sql: true
data:
redis:
host: redisdev.xuqinmin.com
port: 6379
password: xuqinmin1022
database: 1
timeout: 10s
lettuce:
pool:
min-idle: 0
max-idle: 8
max-active: 8
mail:
host: smtp.sina.com
port: 465
username: xuqinmin12@sina.com
password: b90335654901c9e9
properties:
mail:
smtp:
auth: true
ssl:
enable: true
starttls:
enable: false
jackson:
time-zone: UTC
serialization:
write-dates-as-timestamps: false
jwt:
secret: ${XUQM_JWT_SECRET:xuqm-tenant-service-secret-key-must-be-at-least-256-bits-long-for-hmac}
expiration: 3153600000000
license:
service:
base-url: ${LICENSE_SERVICE_BASE_URL:http://license-service:8085}
public-base-url: ${LICENSE_PUBLIC_BASE_URL:https://auth.dev.xuqinmin.com/}
internal-token: ${LICENSE_INTERNAL_TOKEN:xuqm-license-internal-token}
captcha:
expire-seconds: 300
email-verify:
expire-seconds: 600
sub-account-token-hours: 24
ops:
admin:
username: admin
password: Admin@123456
logging:
level:
com.xuqm: DEBUG
management:
endpoints:
web:
exposure:
include: health,info
sdk:
internal-token: ${SDK_INTERNAL_TOKEN:xuqm-internal-token}
bootstrap-app-key: ${SDK_BOOTSTRAP_APP_KEY:ak_demo_chat}
bootstrap-app-name: ${SDK_BOOTSTRAP_APP_NAME:Demo Chat}
bootstrap-app-package: ${SDK_BOOTSTRAP_APP_PACKAGE:com.xuqm.demo}
bootstrap-app-description: ${SDK_BOOTSTRAP_APP_DESCRIPTION:XuqmGroup demo app}
im-ws-url: ${SDK_IM_WS_URL:wss://im.dev.xuqinmin.com/ws/im}
file-service-url: ${SDK_FILE_SERVICE_URL:https://file.dev.xuqinmin.com}
im-api-url: ${SDK_IM_API_URL:https://im.dev.xuqinmin.com}
im-platform-events-recipient-user: ${SDK_IM_PLATFORM_EVENTS_RECIPIENT_USER:platform}
im-platform-events-admin-user: ${SDK_IM_PLATFORM_EVENTS_ADMIN_USER:admin}
im-platform-app-key: ${SDK_IM_PLATFORM_APP_KEY:ak_409e217e4aa14254ad73ad3c}
deployment:
mode: ${DEPLOYMENT_MODE:PUBLIC}
tenant-register-enabled: ${TENANT_REGISTER_ENABLED:true}
tenant-bootstrap-enabled: ${TENANT_BOOTSTRAP_ENABLED:false}
enable-im: ${ENABLE_IM:false}
enable-push: ${ENABLE_PUSH:false}
enable-update: ${ENABLE_UPDATE:false}
enable-license: ${ENABLE_LICENSE:false}
enable-file: ${ENABLE_FILE:true}
im-domain: ${IM_DOMAIN:}
push-domain: ${PUSH_DOMAIN:}
update-domain: ${UPDATE_DOMAIN:}
license-domain: ${LICENSE_DOMAIN:}
tenant:
bootstrap:
email: ${TENANT_BOOTSTRAP_EMAIL:admin@customer.com}
username: ${TENANT_BOOTSTRAP_USERNAME:admin}
password: ${TENANT_BOOTSTRAP_PASSWORD:ChangeMe@2026}