Maofeng 3f5bb344f7 docs: document gateway deployment workflow
- explain the separate control-plane and data-plane listeners
- document revision activation and raw binary invocation
- clarify restart restoration and actor-memory semantics
2026-07-29 16:32:21 +08:00
2026-07-27 05:19:30 +08:00

Wasmeld

Wasmeld 是面向 WebAssembly Component 的服务运行与管理平台。内部服务编译为 Component,在受限 Wasmtime Sandbox 中以常驻 Actor 运行,并通过稳定 WIT 契约 暴露能力。

结构

crates/wasmeld-runtime   Component Runtime 与 Sandbox
crates/wasmeld-console   管理 API 与持久化
crates/wasmeld-package   wasmeld CLI、组件包与 WIT 依赖管理
components/              示例 Component
console/                 TanStack Start 管理面
wit/                     Wasmeld WIT package 源码

启动

后端:

cargo +stable run -p wasmeld-console

后端会启动本地管理 API 127.0.0.1:8080 和公开数据面 0.0.0.0:8081。注册 Component 后,通过管理 API 激活一个版本:

curl -X POST http://127.0.0.1:8080/api/v1/deployments/echo/activate \
  -H 'Content-Type: application/json' \
  -d '{"revision":"0.1.0"}'

客户端只访问 Gateway,并以原始二进制请求调用活动版本:

curl http://127.0.0.1:8081/v1/services/echo/invoke \
  -H 'Content-Type: application/octet-stream' \
  --data-binary 'hello'

管理面:

cd console
npm run dev

构建组件:

cargo run -p wasmeld-package --bin wasmeld -- \
  pack components/echo/Cargo.toml --locked

发布 WIT Package

cargo run -p wasmeld-package --bin wasmeld -- \
  wit publish wit/service --registry http://127.0.0.1:8080

组件在 wasmeld.toml 中声明 Registry 和精确版本依赖,wasmeld wit fetch 会递归 解析依赖、生成 wit/deps,并将完整解析结果记录在 wit.lock。本地开发可使用 [replace] 临时覆盖 Registry 来源。

S
Description
No description provided
Readme 2.6 MiB
Languages
Rust 72.2%
TypeScript 18.3%
CSS 8.5%
JavaScript 1%