server: port: ${PATBOND_COMMUNITY_PORT:8084} spring: application: name: patbond-community datasource: # 与 patbond-user 共库(MVP 单库多 schema);本服务只读写 community schema # (作者公开资料按 D3-9 方案 B 走 user 的 /internal 批量接口,后续波次落地)。 # Flyway 迁移链(V1..V5,含 community 基线)由 patbond-user 启动时统一执行, # 本服务不携带 Flyway —— 单一 flyway_schema_history 归属不拆。 url: ${PATBOND_DB_URL:jdbc:postgresql://127.0.0.1:5432/patbond} username: ${PATBOND_DB_USER:patbond} password: ${PATBOND_DB_PASSWORD:patbond} # /api/v1/** 业务端点自骨架起即接 RS256 校验,与 patbond-user/pet 同一约定。 patbond: jwt: # RS256 公钥,用于本地校验 patbond-auth 签发的 access token。 # 值可以是 PEM 文件路径,也可以是内联 PEM 内容(以 -----BEGIN 开头)。 # 私钥只给 patbond-auth,绝不入库。 public-key: ${PATBOND_JWT_PUBLIC_KEY:} # 作者公开资料来源(D3-9 方案 B):patbond-user 的 /internal 批量接口, # ADR-002 静态直连。不可达时 Feed/详情照常返回,作者摘要降级为仅 userId。 user-service: url: ${PATBOND_USER_SERVICE_URL:http://127.0.0.1:8082} # /internal/** 服务间共享密钥,需与 patbond-user 配置同一值;生产环境必须 # 通过 PATBOND_INTERNAL_TOKEN 注入强随机值(如 `openssl rand -hex 32`)。 internal-token: ${PATBOND_INTERNAL_TOKEN:dev-only-internal-token} author-profile: # 作者公开资料的进程内缓存 TTL:昵称/头像变更最迟一分钟可见。 cache-ttl: ${PATBOND_AUTHOR_PROFILE_CACHE_TTL:60s} media: # 媒体读取侧(ADR-016 定型:私有桶 + 预签名 GET)。本服务只做本地 SigV4 # 签名计算生成图片访问 URL,从不直连对象存储;写入流程在 patbond-user。 # 环境变量与 patbond-user 共用同一组(一套部署一套旋钮)。 # public-endpoint 为空时服务照常启动,帖子响应中 media[].url 为 null。 public-endpoint: ${PATBOND_MINIO_PUBLIC_ENDPOINT:} access-key: ${PATBOND_MINIO_ACCESS_KEY:} secret-key: ${PATBOND_MINIO_SECRET_KEY:} download-ttl: ${PATBOND_MEDIA_DOWNLOAD_TTL:1h}