docs: 归档任务 #106 待验收证据
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
<!-- gitea-wiki-mirror:start -->
|
||||
generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件)
|
||||
wiki_page: Task-106-Sense-本机-Supervisor-实例
|
||||
wiki_url: https://git.ilapage.cn/ila/yovision/wiki/Task-106-Sense-%E6%9C%AC%E6%9C%BA-Supervisor-%E5%AE%9E%E4%BE%8B.-
|
||||
wiki_revision: 3d83e907d1c8bfddf472ff0517721796a85ceda3
|
||||
synchronized_at: 2026-08-27T08:10:00Z
|
||||
<!-- gitea-wiki-mirror:end -->
|
||||
|
||||
# 106 Sense-本机-Supervisor-实例
|
||||
|
||||
- 类型:运维配置
|
||||
- 所属 Epic:#7
|
||||
- 所属 MVP / 版本:#8 / Sense 首个独立纵切
|
||||
- 状态:待验收
|
||||
- 日期:2026-08-27
|
||||
- Gitea 工单:https://git.ilapage.cn/ila/yovision/issues/106
|
||||
- Wiki 页面:Task-106-Sense-本机-Supervisor-实例
|
||||
- Wiki revision:见本地镜像头
|
||||
|
||||
## 背景与目标
|
||||
|
||||
本机 Sense 原由独立终端启动,不受 `D:\supervisor` 管理。目标是在不复制现场秘密、不修改 Sense 业务代码的前提下,让 Supervisor 托管现有 Windows 交付包,并提供自动启动、异常重启、进程组停止和独立日志。
|
||||
|
||||
当前 Brain、Bell 只有规则文件,没有可运行交付物,因此本任务只创建 `yovision-sense`,不创建空实例。
|
||||
|
||||
## 最终方案
|
||||
|
||||
- 在仓库外新增 `D:\supervisor\programs\yovision.conf`,实例名为 `yovision-sense`。
|
||||
- 工作目录使用 `D:\OPC\yovision\Sense\dist\sense-windows-amd64`。
|
||||
- Supervisor 直接调用包内 `scripts/runtime/start-sense.ps1`,配置仍由 `config/sense.env` 读取。
|
||||
- 配置启用 autostart、autorestart、启动重试、进程组停止和 50 MB × 5 的日志轮转。
|
||||
- 日志写入 `D:\supervisor\logs\yovision-sense.log`;Supervisor 配置不含 environment、数据库连接、令牌、密码或摄像头凭据。
|
||||
- 使用包内停止脚本核对并停止原 Sense PID 28440,释放 18080 后执行 Supervisor reload。
|
||||
|
||||
原计划按最坏情况说明 reload 会重启全部实例;实际命令返回 `Added Groups: yovision-sense`。dsh/goauto PID 未变化,原先处于 Backoff 的三个 Chorus 实例在 reload 后恢复 Running,因此没有观察到既有 Running 实例被重启。
|
||||
|
||||
## 修改文件
|
||||
|
||||
- `D:\supervisor\programs\yovision.conf`:新增本机 Supervisor 实例配置;该文件位于仓库外。
|
||||
- `Local-Development-and-Verification` Wiki:记录实例位置、常用命令、秘密边界和验证方式。
|
||||
- `docs/04-local-development-and-verification.md`:上述 Wiki 的只读镜像。
|
||||
- `wiki-docs.json`、`docs/task/106-Sense-本机-Supervisor-实例.md`:任务归档登记与镜像。
|
||||
|
||||
## 验收结果
|
||||
|
||||
| 验收标准 | 结果 |
|
||||
|---|---|
|
||||
| `yovision-sense` 稳定为 Running | 通过 |
|
||||
| Sense 监听 18080,健康检查与首页返回 200 | 通过 |
|
||||
| Sense 管理的 MediaMTX 随单实例重启更新 PID | 通过 |
|
||||
| Supervisor 配置不包含现场秘密 | 通过 |
|
||||
| dsh/goauto 保持运行,Chorus 从既有 Backoff 恢复 | 通过 |
|
||||
| Wiki、归档、提交、PR 和证据 | 进行中,等待用户验收 |
|
||||
|
||||
## 测试
|
||||
|
||||
- `supervisord.exe ctl /c supervisord.conf reload`:返回新增 `yovision-sense` 配置组。
|
||||
- `supervisord.exe ctl /c supervisord.conf status`:七个实例均为 Running;`yovision-sense` Supervisor PID 28000。
|
||||
- `GET /health`、`GET /healthz`、`GET /`:均返回 200。
|
||||
- 受控执行 `restart yovision-sense`:Sense PID 从 38408 更新为 43916,MediaMTX PID 从 27880 更新为 27212,重启后健康检查与首页仍为 200。
|
||||
- 外部配置 SHA-256:`7C5BDDD574384ED6038F0C2DAA8CE364FB1EA996B256831595ABF4E22EDA4769`。
|
||||
- 配置敏感字段扫描:未发现 password、token、secret、`SENSE_DATABASE_URL` 或 `environment=`。
|
||||
- **未验证部分**:未通过重启 Windows 验证开机后的整体 Supervisor 自启动;未故意崩溃 Sense 验证异常自动重启,已用 Supervisor 受控重启验证停止与拉起链路。
|
||||
|
||||
## 遗留问题
|
||||
|
||||
Supervisor 管理端口当前监听 `0.0.0.0:9009` 且未配置认证,这是任务开始前已存在的安全风险,本任务按确认范围未修改,建议另建安全工单处理。
|
||||
|
||||
## 相关提交
|
||||
|
||||
- `0646f5effd53536ae3f608c5e5dffe7fe950cb8f` 记录 Sense Supervisor 托管方式。
|
||||
@@ -155,6 +155,10 @@
|
||||
{
|
||||
"page": "Task-104-Sense-30天登录有效期",
|
||||
"path": "docs/task/104-Sense-30天登录有效期.md"
|
||||
},
|
||||
{
|
||||
"page": "Task-106-Sense-本机-Supervisor-实例",
|
||||
"path": "docs/task/106-Sense-本机-Supervisor-实例.md"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user