Files
junhong_cmp_fiber/openspec/specs/system-operations/spec.md

44 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 系统运行与配置当前行为
## Purpose
描述健康检查、受控系统配置和全局操作密码的当前行为。
## Requirements
### Requirement: 健康检查响应语义
系统 SHALL 让公开 `/health` 固定返回统一成功响应及 `healthy`,让公开 `/ready` 固定返回统一成功响应及 `ready`;当前可达入口不检查 PostgreSQL 或 Redis。
#### Scenario: 依赖状态不参与健康响应
- **GIVEN** 应用能够处理 HTTP 请求
- **WHEN** 调用 `/health``/ready`
- **THEN** 系统分别返回 `healthy``ready`,响应不包含 PostgreSQL 或 Redis 的探测结果
### Requirement: 受控系统配置更新
系统 SHALL 只允许超级管理员更新已注册且非只读的配置 Key系统先在事务外完成权限、注册、只读和值校验再在同一事务内持久化配置并写成功审计可审计失败通过独立失败接缝记录敏感值查询时以已配置占位符返回。
#### Scenario: 更新只读或未注册配置
- **GIVEN** 配置 Key 未注册、只读或值不符合注册规则
- **WHEN** 超级管理员请求更新
- **THEN** 系统拒绝更新并保留原数据库事实;可审计失败按当前接缝记录
## 可达操作索引
本节只用于入口导航,不是行为 Requirement业务义务以上述 Requirements 为准。
### 系统配置
`GET /api/admin/system-configs`(查询受控系统配置);`PUT /api/admin/system-configs/{key}`(更新受控系统配置)。
### 超级管理员
`POST /api/admin/super-admin/operation-password`(设置/修改全局操作密码);`GET /api/admin/super-admin/operation-password/status`(查询操作密码是否已设置)。
### 系统
`GET /health`(健康检查);`GET /ready`(就绪检查)。