mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-10-02 14:56:38 +08:00
重构 Nginx 管理器和同步服务,添加运行时确保功能,更新相关测试用例和文档
This commit is contained in:
+6
-4
@@ -133,9 +133,11 @@ go build -o atsflare-agent ./cmd/agent
|
||||
2. Agent 拉取当前激活版本
|
||||
3. Agent 写入 `route_config_path`
|
||||
4. Agent 使用 `nginx_path` 指向的独立 Nginx,或自动准备 Docker Nginx 容器
|
||||
5. Agent 执行 `nginx -t`
|
||||
6. Agent 执行 `nginx -s reload`
|
||||
7. Agent 上报成功结果
|
||||
5. Agent 启动时先校验本地路由文件 checksum 与控制面激活版本是否一致
|
||||
6. Docker 模式下会重建容器,避免复用故障容器
|
||||
7. Agent 执行 `nginx -t`
|
||||
8. Agent 执行 `nginx -s reload`
|
||||
9. Agent 上报成功结果
|
||||
|
||||
### 4.4 验证管理端状态
|
||||
|
||||
@@ -188,7 +190,7 @@ npm run build
|
||||
- Agent 运行器当前任一心跳或同步失败会直接退出,需要结合进程管理器拉起
|
||||
- 尚未提供 systemd unit 文件
|
||||
- 尚未提供 Docker Compose 或一键部署脚本
|
||||
- Docker 模式当前默认直接启动单容器 Nginx,挂载与端口策略仍是 MVP 水平
|
||||
- Docker 模式当前默认直接重建单容器 Nginx,挂载与端口策略仍是 MVP 水平
|
||||
- 前端页面已可用,但交互和校验仍是 MVP 水平
|
||||
- 目前联调说明以手工步骤为主,未内置完整自动化端到端脚本
|
||||
|
||||
|
||||
@@ -67,6 +67,8 @@ Agent 使用 Go 单体程序:
|
||||
* 未配置 `nginx_path` 时,默认通过 Docker 运行独立 Nginx 容器
|
||||
* 管理本机 Nginx 路由配置文件和 reload
|
||||
* Agent 生成资源默认统一落在 `./data`,也允许通过单个基路径配置覆盖
|
||||
* Agent 启动时会校验本地路由文件哈希与控制面激活版本是否一致
|
||||
* Docker 模式启动时会重建独立 Nginx 容器,避免复用故障容器
|
||||
|
||||
### Nginx 管理边界
|
||||
|
||||
|
||||
@@ -266,6 +266,8 @@ Agent 必须满足以下行为:
|
||||
* 上报最终应用结果
|
||||
* 优先使用 `nginx_path`
|
||||
* 未配置 `nginx_path` 时自动准备并使用 Docker Nginx 容器
|
||||
* 启动时先校验本地路由文件 checksum 与控制面激活版本是否一致
|
||||
* Docker 模式启动时应重建容器,而不是继续复用异常停止的旧容器
|
||||
|
||||
### 7.3 容错规范
|
||||
|
||||
@@ -275,6 +277,7 @@ Agent 必须满足以下行为:
|
||||
* 下载失败时,不修改本地配置
|
||||
* 配置校验或 reload 失败时,自动尝试回滚
|
||||
* 本地状态文件损坏时,允许重新初始化,但不能删除正在生效的 Nginx 配置
|
||||
* Docker 容器异常停止时,启动阶段应自动重建容器并重新校验配置
|
||||
|
||||
### 7.4 外部命令规范
|
||||
|
||||
|
||||
Reference in New Issue
Block a user