API 总览
disaster-server 是对外 API 入口。它通过 Hertz 提供 HTTP 服务,支持认证、REST API、Watch API、OpenAPI 和统计接口。
基础路由
GET /healthzGET /readyzPOST /loginPOST /refresh_token
业务接口默认挂在 /apis 下。部分系统接口也提供 /api 别名。
路由前缀规则
很多资源使用 CRD GroupVersion 动态构造路径,例如:
/apis/disasterinstances.testudo.softcdata.com/v1/instances/apis/disastergroups.testudo.softcdata.com/v1/groups/apis/disasterdrills.testudo.softcdata.com/v1/drills/apis/cluster.testudo.softcdata.com/v1/clusters/apis/storage.testudo.softcdata.com/v1/storages/apis/backuprestorestatistics.testudo.softcdata.com/v1/backups
响应语义
Server 应返回稳定的响应 envelope、机器可读错误码和人类可读 message。对于状态类接口,应尽量返回 reason 和 message,即使为空,也方便前端统一处理。
Watch API
Watch API 用于控制台实时订阅状态变化,路径通常包含 /watch/...。它会把 Kubernetes watch 转换为前端可消费的事件流。
OpenAPI
项目内置 Swagger / OpenAPI 文档。Server 配置 swagger.enabled=true 时,会注册:
GET /swagger/GET /openapi.yamlGET /openapi.json
OpenAPI 契约源文件位于 disaster-server/openspec/specs/disaster-server-openapi.yaml。详细启用、导出和维护规则见 Swagger / OpenAPI 文档。