142efb070f
容器策略从"每次 docker run 一次性容器"改为"长期容器 + docker exec": - 统一产物目录 tools/bin/:build.sh 和 tool_manager 编译后复制产物到 此目录,registry 解析路径优先用 tools/bin/<tool>。 - 长期容器 ias-sandbox:daemon 启动时 ensure(已运行则复用), tools/bin 只读挂载到 /tools,无网络/只读根/cap-drop ALL/资源限制。 - docker exec 调用:工具执行改为 docker exec -i ias-sandbox timeout -k 5 <secs> /tools/<name>,省去容器创建开销。 timeout -k 5 确保超时 SIGTERM→SIGKILL,无孤儿进程。 - 新增 src/tools/sandbox.rs:ensure_container + build_exec_cmd。 - executor 删除 build_docker_cmd/sandbox_enabled,docker 分支改用 sandbox::build_exec_cmd。 - env 按 spec 白名单 -e 注入(容器启动时仅有 PATH)。 验证:本地执行 hostname=debian,docker exec hostname=容器ID, 证明确实走长期容器 exec;25 测试通过。
36 lines
411 B
Plaintext
36 lines
411 B
Plaintext
# Rust 构建产物
|
|
/target
|
|
tools/*/target/
|
|
tools/bin/
|
|
dist/
|
|
|
|
# 运行时数据(状态文件、缓存、聊天记录本地副本等)
|
|
.data/
|
|
.pi
|
|
# tool_manager 审计日志
|
|
tools/.tool_audit.log
|
|
|
|
# 环境配置(含密钥,不入库)
|
|
.env
|
|
.env.local
|
|
.env.*.local
|
|
|
|
# 密钥文件
|
|
*.pem
|
|
*.key
|
|
qweather/
|
|
|
|
# IDE
|
|
.vscode/
|
|
.idea/
|
|
*.swp
|
|
*.swo
|
|
|
|
# 操作系统
|
|
.DS_Store
|
|
Thumbs.db
|
|
|
|
read.md
|
|
.codegraph/
|
|
.reasonix/
|