docs: add PROJECT.md and STATE.md for console
- Define console as central management system - Document current gateway integration status - Track pending tasks for broadcast mechanism
This commit is contained in:
parent
807dcfd422
commit
e497b7e1cc
83
.planning/PROJECT.md
Normal file
83
.planning/PROJECT.md
Normal file
@ -0,0 +1,83 @@
|
||||
# Fengling Console
|
||||
|
||||
## 这是什么
|
||||
|
||||
Fengling 微服务生态系统的中央管理控制台。负责用户管理、租户管理、OAuth 客户端管理,以及**网关配置管理**。是所有运维操作的中枢后台。
|
||||
|
||||
## 核心价值
|
||||
|
||||
统一的管理入口,负责所有运维相关的配置和操作,让其他服务专注于业务逻辑。
|
||||
|
||||
## 需求
|
||||
|
||||
### 已验证(现有功能)
|
||||
|
||||
- ✓ 用户管理(CRUD、角色分配)— 已有
|
||||
- ✓ 租户管理 — 已有
|
||||
- ✓ OAuth 客户端管理 — 已有
|
||||
- ✓ 网关服务/路由/实例管理 — 已有(GatewayController)
|
||||
- ✓ 租户申请审批流程 — 已有
|
||||
|
||||
### 进行中
|
||||
|
||||
- [ ] 实现配置变更广播机制(通知所有网关实例)
|
||||
- [ ] 实现 K8s 服务健康检查功能
|
||||
- [ ] 集成 Redis pub/sub 用于多实例通信
|
||||
|
||||
### 范围外
|
||||
|
||||
- [业务逻辑] — 由各微服务负责
|
||||
- [API 认证] — 由 auth-service 负责
|
||||
- [服务发现] — 由 service-discovery 负责
|
||||
|
||||
## 背景
|
||||
|
||||
**与 Gateway 的关系:**
|
||||
```
|
||||
fengling-console (管理平面)
|
||||
│
|
||||
├── 用户/租户/配置管理
|
||||
│
|
||||
└── 网关配置管理
|
||||
│
|
||||
├── GatewayDbContext (直接操作数据库)
|
||||
├── GatewayController (API)
|
||||
└── ReloadGatewayAsync() (待实现广播)
|
||||
│
|
||||
▼
|
||||
fengling-gateway (数据平面)
|
||||
│
|
||||
└── 监听配置变更,重新加载
|
||||
```
|
||||
|
||||
**当前问题(来自 CONCERNS.md):**
|
||||
- OAuth 密钥硬编码
|
||||
- CORS 允许所有(开发环境)
|
||||
- 缺少测试覆盖
|
||||
- Redis 已引用但未使用
|
||||
- ReloadGatewayAsync() 为空实现
|
||||
|
||||
**Console 已有能力:**
|
||||
- GatewayDbContext - 管理网关路由、集群、实例数据
|
||||
- GatewayController - 提供 /api/console/gateway/* API
|
||||
- GatewayService - 业务逻辑
|
||||
- Redis 引用 - 可用于 pub/sub 广播
|
||||
|
||||
## 约束
|
||||
|
||||
- **多实例**:Console 必须支持多实例部署
|
||||
- **配置广播**:配置变更需要通知所有网关实例
|
||||
- **K8s 健康**:Console 需要实现 K8s 服务健康检查
|
||||
- **技术栈**:.NET 10.0, ASP.NET Core, PostgreSQL, Redis
|
||||
|
||||
## 关键决策
|
||||
|
||||
| 决策 | 理由 | 结果 |
|
||||
|------|------|------|
|
||||
| Console 作为运维中枢 | 集中管理,降低复杂度 | ✓ 良好 |
|
||||
| Gateway 配置从 Console 变更 | 单一事实来源 | ✓ 良好 |
|
||||
| Redis pub/sub 广播 | 成熟方案,易于实现 | ✓ 良好 |
|
||||
|
||||
---
|
||||
|
||||
*最后更新:2026-03-02 初始化后*
|
||||
58
.planning/STATE.md
Normal file
58
.planning/STATE.md
Normal file
@ -0,0 +1,58 @@
|
||||
# 状态:Fengling Console
|
||||
|
||||
**最后更新:** 2026-03-02
|
||||
|
||||
---
|
||||
|
||||
## 项目引用
|
||||
|
||||
参考:.planning/PROJECT.md(更新于 2026-03-02)
|
||||
|
||||
**核心价值:** 统一的管理入口,负责所有运维相关的配置和操作,让其他服务专注于业务逻辑。
|
||||
|
||||
**当前重点:** 待规划
|
||||
|
||||
---
|
||||
|
||||
## 项目状态
|
||||
|
||||
| 项目 | 状态 |
|
||||
|------|------|
|
||||
| PROJECT.md | ✓ 已初始化 |
|
||||
| CODEBASE | ✓ 已有(ARCHITECTURE.md, CONCERNS.md, STACK.md 等) |
|
||||
| Roadmap | 未创建 |
|
||||
|
||||
---
|
||||
|
||||
## 累积上下文
|
||||
|
||||
### 初始化
|
||||
|
||||
- **2026-03-02:** 创建 PROJECT.md,定义 Console 在生态系统中的角色
|
||||
- 现有代码库(已有 ARCHITECTURE.md、INTEGRATIONS.md 等)
|
||||
|
||||
### 与 Gateway 的集成
|
||||
|
||||
| 组件 | 位置 | 现状 |
|
||||
|------|------|------|
|
||||
| GatewayDbContext | src/Data/ | 已实现,管理网关配置数据 |
|
||||
| GatewayController | src/Controllers/ | 已实现,提供 API |
|
||||
| GatewayService | src/Services/ | 已实现,业务逻辑 |
|
||||
| ReloadGatewayAsync | src/Services/GatewayService.cs:340 | 空实现,需实现广播 |
|
||||
|
||||
### 待完成任务
|
||||
|
||||
- 实现 ReloadGatewayAsync() 广播机制
|
||||
- 集成 Redis pub/sub
|
||||
- 实现 K8s 服务健康检查
|
||||
|
||||
---
|
||||
|
||||
## 备注
|
||||
|
||||
- Console 是运维中枢,网关配置的单一管理入口
|
||||
- Gateway 监听配置变更并重载
|
||||
|
||||
---
|
||||
|
||||
*最后更新:2026-03-02 初始化后*
|
||||
Loading…
Reference in New Issue
Block a user