跳到正文
浏览文档

参考

配置参考

配置守护进程、运行时、runner、管理器、网关、控制台与可观测性策略。

本页内容+

基线文档

config/prd.yml 是守护进程行为和宿主机侧管理策略的受检基线。Docker 网关读取其中的 manager 和可选 gateway 段,然后上传同一文档,让各容器内的 sandbox-daemon serve --config-yaml 读取运行时配置段。

config/prd.yml(节选)
daemon:
  server:
    socket_path: /eos/runtime/daemon/runtime.sock
    pid_path: /eos/runtime/daemon/runtime.pid
    max_worker_threads: 32

runtime:
  workspace:
    layer_stack_root: /eos/layer-stack
    scratch_root: /eos/workspace
    setup_timeout_s: 30
    exit_grace_s: 0.25
    rfc1918_egress: allow
  namespace_execution:
    scratch_root: /eos/namespace_execution
  layerstack:
    autosquash_policies:
      squash_at_n_layers: 100

runner:
  mount_mask:
    hidden_paths: [/eos]

manager:
  docker:
    privileged: false
    daemon_binary_path: dist/sandbox-daemon-linux-arm64
    daemon_config_yaml_path: config/prd.yml

manager 中的宿主机路径从网关工作目录解析。受检文件还会注入 Docker Desktop 代理变量,因为 Engine API 不会把 Docker CLI 代理配置复制到新容器中。

配置段归属

配置段所有者控制内容
daemon沙箱守护进程Unix socket、PID 文件和 worker 数量。
runtime运行时服务工作区路径、设置与退出时序、出口网络、namespace 暂存目录和自动压缩。
runnerNamespace runner挂载遮罩,包括对命令隐藏的路径。
observability遥测可选的保留与采样策略;缺失时使用类型化默认值。
manager宿主机管理器/提供器工作区选择器根目录、Docker 边界、构件、上传配置和容器环境。
gateway网关服务器绑定地址、PID 路径和连接上限;认证从不来自 YAML。
console控制台服务器绑定地址以及 RPC、健康检查、代理、解析和缓存超时。

manager.workspace_roots 为可选项。提供时,它必须是非空绝对目录列表,且 create_sandbox 必须选择其中一个。省略时,控制台选择器从网关用户的家目录开始,不会收窄已有 API 路径。

合并规则

测试可以在 prd.yml 之后加载一个本地 YAML override。对象递归合并,标量替换基线值,数组整体替换,省略的 key 继承。未知 key 和错误类型均为错误;null 只对类型化可选字段有效。

测试合并顺序
config/prd.yml
  -> crates/<crate>/tests/**/<name>.test.yml

操作名称、协议字段、schema 版本、文件布局名称和内核常量属于静态约定,应写在 Rust 中,而不是 YAML override 中。

优先级与环境变量

网关和控制台命令行参数覆盖环境变量,环境变量覆盖各自 YAML 段,YAML 段覆盖类型化默认值。仓库启动器还为文件路径和令牌加载增加一层发现逻辑。

变量用途
SANDBOX_GATEWAY_CONFIG_YAMLDocker 网关启动器使用的基线路径。
SANDBOX_GATEWAY_SOCKET没有显式参数时,启动器和客户端使用的网关端点。
SANDBOX_GATEWAY_TOKEN_FILE仓库包装器使用的私有令牌文件位置。
SANDBOX_GATEWAY_AUTH_TOKEN运行时凭据;绝不是 YAML 字段。
SANDBOX_CONSOLE_CONFIG_YAML未提供 --config-yaml 时使用的控制台 YAML 路径。
SANDBOX_CONSOLE_BIND未提供 --bind 时使用的控制台 listener。
SANDBOX_CONSOLE_ASSETS未提供 --assets-dir 时使用的已构建 SPA 目录。
EOS_GATEWAY_BACKEND未提供 --backend 时使用的网关提供器。

Docker 启动器始终选择 Docker 后端,并传入它选定的配置路径。受支持的启动流程见安装

默认值与校验

缺失的可选段使用类型化 Rust 默认值。网关监听 127.0.0.1:7878,写入 /tmp/eos-gateway.pid,并允许 256 个并发连接。控制台监听 127.0.0.1:7880;两者的默认值都只绑定 loopback。

服务启动前会校验 socket 地址、绝对路径、非空值、数值下限和配置段特定不变量。应把配置错误视为 schema 失败:修正被点名的字段,而不是添加无法识别的兼容 key。

18 个结果