复现已有算法
This commit is contained in:
@@ -0,0 +1,96 @@
|
||||
---
|
||||
name: edge-config-lifecycle
|
||||
description: edge_collector 配置生命周期管理规范。用于新增、修改、打包、同步、动态生成或排除配置文件时,明确默认配置、运行态配置、用户保存配置、密钥配置、迁移保留、备份恢复和前端保存行为,防止覆盖现场配置。
|
||||
---
|
||||
|
||||
# edge_collector 配置生命周期
|
||||
|
||||
## 适用配置
|
||||
|
||||
- 边缘运行配置:`runtime/edge/config/`
|
||||
- 云端运行配置:`~/cloud_server/config/`
|
||||
- AI 配置:`ai_config.json`
|
||||
- 端口转发:`port_forward.json`
|
||||
- frpc/内网穿透配置。
|
||||
- 协议设备配置。
|
||||
- WiFi/4G 辅助配置。
|
||||
- 默认模板:`configurator/config/templates/`
|
||||
- 用户可见协议描述:`configurator/config/protocols/`
|
||||
|
||||
## 配置分类
|
||||
|
||||
### 默认配置
|
||||
|
||||
随代码发布,提供初始结构和默认值。
|
||||
|
||||
### 运行态配置
|
||||
|
||||
目标主机运行后由用户、前端或服务生成。打包和同步不能覆盖。
|
||||
|
||||
### 密钥配置
|
||||
|
||||
包含 key、secret、password、token。必须脱敏、禁止提交真实值。
|
||||
|
||||
### 模板配置
|
||||
|
||||
协议模板、默认点位、用户可选参数。可随版本更新,但要考虑兼容已有设备。
|
||||
|
||||
## 新增配置文件检查
|
||||
|
||||
新增配置时必须回答:
|
||||
|
||||
- 默认文件放在哪里。
|
||||
- 运行态文件放在哪里。
|
||||
- 如果文件不存在,谁负责动态生成。
|
||||
- 打包是否包含。
|
||||
- 同步是否排除。
|
||||
- 前端保存是否会覆盖其他字段。
|
||||
- 是否包含密钥。
|
||||
- 是否需要备份和迁移。
|
||||
|
||||
## 打包与同步
|
||||
|
||||
修改以下脚本时必须检查配置影响:
|
||||
|
||||
- `package.sh`
|
||||
- `scripts/migrate_edge.sh`
|
||||
- `deploy_cloud.sh`
|
||||
- `scripts/install_all.sh`
|
||||
|
||||
原则:
|
||||
|
||||
- 默认配置可以进入包。
|
||||
- 运行态配置不能被 `--delete` 同步清掉。
|
||||
- 远端已有密钥配置必须保留。
|
||||
- 删除配置文件前必须确认是否会自动再生成。
|
||||
|
||||
## 前端保存
|
||||
|
||||
- 保存配置时只更新相关字段。
|
||||
- 不要用空对象覆盖整个配置文件。
|
||||
- 保存失败要显示具体原因。
|
||||
- 权限不足要按已有权限体系处理。
|
||||
|
||||
## 验证
|
||||
|
||||
至少验证:
|
||||
|
||||
```bash
|
||||
jq empty <config.json>
|
||||
```
|
||||
|
||||
同步/部署后验证:
|
||||
|
||||
- 目标主机已有配置仍存在。
|
||||
- 新增默认配置可生成。
|
||||
- 服务重启后能读取配置。
|
||||
- 前端读取和保存正常。
|
||||
|
||||
## 风险信号
|
||||
|
||||
- `rsync --delete`
|
||||
- `cp -r config`
|
||||
- `cat > config.json`
|
||||
- 前端保存整个 JSON。
|
||||
- 后端启动时无条件重写配置。
|
||||
- 示例配置中出现真实 key。
|
||||
Reference in New Issue
Block a user