feat(k8s): M11 StatefulSet/DaemonSet 详情页 — WorkloadViewPage 重写 + YAML 路由冲突修复
后端: - routes.go: 为 statefulsets/daemonsets 注册专门 YAML 子路由(Gin radix tree 冲突) - kubernetes.go: GetResourceYAMLNS/UpdateResourceYAMLNS 添加 URL path fallback 前端: - WorkloadViewPage.tsx 重写: 修复 kind 提取 bug(useLocation) + 更新策略/选择器/PVC模板/InitContainers - NamespaceResourcePage.tsx: handleDetail 添加 STS/DS 点击导航 验证: DS YAML API 200 ✅ | DS Detail 200 ✅ | Dep YAML 200 ✅ | SPA路由 200 ✅ | TS零错误 ✅
This commit is contained in:
1 parent
87b7755094
commit
d1c557bb6c
14 files changed
+1103
-178
No files matched your search
+32
-1
@@ -211,11 +211,42 @@
|
||||
|
||||
---
|
||||
|
||||
### M11: StatefulSet/DaemonSet 详情页 [done]
|
||||
**目标**: 节点名称可点击进入详情页,展示完整的系统信息、资源分配率、污点、条件、Pod 列表
|
||||
|
||||
**改动**:
|
||||
- 后端:
|
||||
- `routes.go`: 为 statefulsets/daemonsets 注册专门的 YAML 子路由(避免 Gin radix tree 与通配 `/:resource/:name/yaml` 冲突)
|
||||
- `kubernetes.go`: `GetResourceYAMLNS` / `UpdateResourceYAMLNS` 添加 URL path fallback 提取 resource 类型(当 `c.Param("resource")` 为空时从 URL path 解析)
|
||||
- 前端:
|
||||
- `WorkloadViewPage.tsx` 重写 (~480行):
|
||||
- **Bug 修复**: kind 从 `useLocation().pathname` 提取(原 `params.kind` 永远 undefined — 静态路径段不是 :param)
|
||||
- **增强**: 更新策略卡片(RollingUpdate partition/maxUnavailable/maxSurge + podManagementPolicy + revisionHistoryLimit)
|
||||
- **增强**: 选择器与标签卡片(selector.matchLabels + labels + annotations)
|
||||
- **增强**: VolumeClaimTemplates 表格(StatefulSet 专有 — PVC 模板 name/accessModes/storageClass/size)
|
||||
- **增强**: Init Containers 展示
|
||||
- **增强**: ContainerInfo 子组件(提取重复容器渲染逻辑)
|
||||
- **增强**: DaemonSet 状态卡片增加"已更新"字段
|
||||
- `NamespaceResourcePage.tsx`: `handleDetail` 添加 statefulsets/daemonsets 点击导航(view 模式)
|
||||
- App.tsx 路由已就绪(`:mode/StatefulSet/:name` + `:mode/DaemonSet/:name`)
|
||||
- api.ts 方法已就绪(getStatefulSetDetail/getDaemonSetDetail/scaleStatefulSet/restartStatefulSet/restartDaemonSet)
|
||||
|
||||
**验收标准**:
|
||||
- [x] DS YAML API 返回 200 + apiVersion + kind=DaemonSet(路由冲突修复)
|
||||
- [x] DS Detail API 返回 name/desired/current/ready/containers
|
||||
- [x] Deployment YAML API 仍然正常(generic 路由未受影响)
|
||||
- [x] SPA 路由 view/yaml 两种模式均返回 200
|
||||
- [x] TypeScript 零编译错误 + Vite 构建成功
|
||||
- [x] NamespaceResourcePage 点击 STS/DS 行可跳转详情页
|
||||
- [x] WorkloadViewPage 支持 view/yaml 双模式切换
|
||||
- [x] DaemonSet 详情页正确显示 kind=DaemonSet(非 StatefulSet)
|
||||
|
||||
---
|
||||
|
||||
### 后续(P3+)
|
||||
|
||||
| 模块 | 描述 |
|
||||
|------|------|
|
||||
| M11 | StatefulSet/DaemonSet 详情页(对标 Deployment) |
|
||||
| M12 | 事件聚合 + 告警联动 |
|
||||
| M13 | 多集群资源对比看板 |
|
||||
|
||||
|
||||
Reference in new issue
Block a user