envd 深度阅读 · 第 1 讲:心智模型与启动编排
envd 深度阅读 · 第 1 讲:心智模型与启动编排 代码仓库:e2b-dev/infra 本文基于:commit b8ca332f4 · envd v0.5.13 阅读时间:25–30 分钟(跟着源码走) TL;DR envd 是跑在每个 Firecracker microVM 内部的守护进程,监听 49983 端口,对外提供 Process/Filesystem 两套 Connect RPC + 一组 REST API(/init、/files、/health)。 main.go 不到 250 行就把整个启动链串了起来,它的顺序不是随便写的 —— MMDS 轮询先起、logger 等 MMDS、cgroup 在 HTTP 服务前建好,都是为了避免后续路径拿不到依赖。 /init 是 envd 的灵魂。它一口气完成"鉴权 + 对时 + 装环境变量 + 注入 access token + 改 /etc/hosts + 装 CA 证书 + 挂 NFS",并且用 memguard + SecureToken 抽象把敏感数据锁在加密内存里。 鉴权是双通道:X-Access-Token 走常量时间比较(热路径),/init 额外用 MMDS 里的 token hash 做旁路授权 —— 这让 orchestrator 在 Resume 时可以远程轮换 token,又不泄漏 token 明文给任何参与者。 一、背景:envd 在 E2B 里的位置 E2B 给 LLM agent 提供"一个可以安全跑代码的云沙箱"。架构大致是三层: ...