docs: 更新 .cocoon-plan.md — Docker 多阶段构建已完成
Some checks failed
CI / build (push) Failing after 1m47s

This commit is contained in:
xfy911 2026-06-16 18:26:44 +08:00
parent 2c5538bea1
commit 1306003a2b

View File

@ -55,7 +55,7 @@
- [x] **带宽限速 / 流量整形** — 按连接或全局限速,防止突发流量打满带宽 - [x] **带宽限速 / 流量整形** — 按连接或全局限速,防止突发流量打满带宽
- [ ] **YAML / TOML 配置格式** — 配置验证时更友好 - [ ] **YAML / TOML 配置格式** — 配置验证时更友好
- [x] **systemd 服务文件** — 一键安装成系统服务,支持 SIGHUP 热重载、安全加固、自动恢复 - [x] **systemd 服务文件** — 一键安装成系统服务,支持 SIGHUP 热重载、安全加固、自动恢复
- [ ] **Docker 多阶段构建** — 减小最终镜像 - [x] **Docker 多阶段构建** — 减小最终镜像
### Phase 6 — 硬核深潜(远期规划) ### Phase 6 — 硬核深潜(远期规划)
- [ ] **io_uring 接入** — 小文件走 io_uring 而非 sendfileHTTP/2 多路复用下理论上能再提一波 - [ ] **io_uring 接入** — 小文件走 io_uring 而非 sendfileHTTP/2 多路复用下理论上能再提一波
@ -263,6 +263,22 @@
- 提交已推送到 origin main 和 rua main`277bb70` - 提交已推送到 origin main 和 rua main`277bb70`
- 项目状态Phase 5 进行中systemd 服务文件已完成下阶段目标ACME 服务器端 HTTP-01 挑战响应路由 + 自动续期集成 - 项目状态Phase 5 进行中systemd 服务文件已完成下阶段目标ACME 服务器端 HTTP-01 挑战响应路由 + 自动续期集成
+ 2026-06-16 18:17: **Phase 5 — Docker 多阶段构建 + 遗留编译修复**
- 新增 Dockerfiledebian:bookworm-slim 多阶段构建
- builder 阶段安装完整构建依赖gcc, cmake, libssl-dev, libbrotli-dev 等),构建 coco 子模块和 cocoon
- runner 阶段:仅保留运行时依赖,创建非 root 用户cocoon:cocoon暴露 8080 端口
- 健康检查curl 探测 localhost:8080
- ENTRYPOINT 默认加载 /app/cocoon.json
- 新增 .dockerignore排除构建产物、Git、IDE 配置、测试目录
- 修复 Makefile4 个单元测试规则缺失 throttle.ctest_websocket / test_grpc / test_http3 / test_acme
- 修复 test_acme_config.cconfig_merge 调用缺少 has_throttle_conn_rate / has_throttle_global_rate
- 修复 test_config.c5 处 config_merge 调用同步补齐 throttle 参数
- 编译验证:零警告(仅外部 coco 库 GNU-stack linker 提示)
- 单元测试480 个全部通过 ✓1 个 Ignored为预期行为
- 集成测试109 项通过6 个失败为已知环境问题4 反向代理 + 2 插件日志)
- 提交已推送到 origin main 和 rua main`2c5538b`
- 项目状态Phase 5 进行中Docker 多阶段构建已完成下阶段目标YAML / TOML 配置格式
+ 2026-06-16 15:17: **Phase 5 — 带宽限速 / 流量整形Token Bucket 算法)** + 2026-06-16 15:17: **Phase 5 — 带宽限速 / 流量整形Token Bucket 算法)**
- 新增 `throttle.h` / `throttle.c`Token Bucket 双层限速实现 - 新增 `throttle.h` / `throttle.c`Token Bucket 双层限速实现
- `throttle_init()`: 初始化令牌桶,支持 ratebytes/sec和 burst突发容量 - `throttle_init()`: 初始化令牌桶,支持 ratebytes/sec和 burst突发容量