feat(teacher-bff): admin 命名空间 + 5 个 gRPC client + health probes + merge-resolvers + nextstep 文档

This commit is contained in:
SpecialX
2026-07-14 16:00:46 +08:00
parent 7b790f1276
commit 895a060491
50 changed files with 9739 additions and 334 deletions

View File

@@ -23,13 +23,23 @@ const envSchema = z.object({
// Redis(/readyz 探针 + 后续 DataLoader 缓存)
REDIS_URL: z.string().default("redis://localhost:6379"),
// 下游 gRPC targets(按阶段启用,未启用者可留空字符串)
IAM_GRPC_TARGET: z.string().default("localhost:50052"),
CORE_EDU_GRPC_TARGET: z.string().default(""),
CONTENT_GRPC_TARGET: z.string().default(""),
DATA_ANA_GRPC_TARGET: z.string().default(""),
MSG_GRPC_TARGET: z.string().default(""),
AI_GRPC_TARGET: z.string().default(""),
// 下游 gRPC targets(v2 默认值对齐 Docker 服务名 + 端口分配)
// 端口分配见 docs/architecture/port-allocation.md §5:
// iam 50052 / core-edu 50053 / content 50054 / data-ana 50055 / msg 50056 / ai 50058
// Docker 部署:服务名解析通过 docker network;本地开发:覆盖为 localhost:<port>
// 选择策略:TEACHER_BFF_DEV_MODE=true → mock;false → gRPC(targets 默认已配置)
IAM_GRPC_TARGET: z.string().default("iam:50052"),
CORE_EDU_GRPC_TARGET: z.string().default("core-edu:50053"),
CONTENT_GRPC_TARGET: z.string().default("content:50054"),
DATA_ANA_GRPC_TARGET: z.string().default("data-ana:50055"),
MSG_GRPC_TARGET: z.string().default("msg:50056"),
AI_GRPC_TARGET: z.string().default("ai:50058"),
// 下游 REST 服务 URL(admin 域 REST 调用 + ARB-008 公告降级 REST only)
// iam REST:users/roles/permissions/audit 端点
// msg REST:/announcements 公告端点(ARB-008 裁决)
IAM_SERVICE_URL: z.string().default("http://iam:3002"),
MSG_SERVICE_URL: z.string().default("http://msg:3007"),
// 可观测性(OTEL_EXPORTER_OTLP_ENDPOINT 缺省则不启用 tracer)
OTEL_EXPORTER_OTLP_ENDPOINT: z.string().url().optional(),