Weft documentation¶
Weft is an open, Go-native cloud platform — microVM-first, multi-hypervisor, multi-tenant, multi-AZ. One binary plays both server and client. Runs on a laptop, scales to a 3-DC cluster.
This site collects the operator and developer documentation. The landing page at openweft.github.io covers the project overview ; everything below assumes you want to run, integrate with, or contribute to Weft.
What weft is¶
- A single Go binary,
weft, that runs as a long-lived control daemon (weft agent) on every host and as a CLI client from anywhere else. Pure-Go,CGO_ENABLED=0on every platform including darwin — the cgo Apple-VZ code lives in the driver plugin, not inweft. - A scheduler that places workloads as microVMs (firecracker-style
boot times, real hardware isolation) on top of pluggable hypervisor
drivers loaded as external
go-pluginsubprocesses. Four backends today :weft-driver-vz(Apple Virtualization on macOS),weft-driver-qemu(QEMU/KVM on Linux, QEMU/TCG for dev),weft-driver-vmd(OpenBSDvmd), andweft-driver-dcs(Huawei FusionCompute).weft microvmis the default execution path ;weft instance(classic VM) is the escape hatch for Windows / BSD guests, network appliances, and custom kernels. - An L4/L7 data plane built around Caddy embedded in
weft-agent(one supervised subprocess per host, L7 via Caddy, L4 via thecaddy-l4plugin, ACME auto-HTTPS built-in), a WireGuard mesh overlay (cryptographic isolation per tenant ; no VXLAN, no L2 broadcast), and a storage layer with Longhorn as the replicated block default (weft-blockis the Weft-native data plane fork) plus CubeFS for POSIX RWX shares and S3 buckets. - An etcd-backed control plane with HCL-driven cluster bring-up
(
weft up --applyagainst acluster.hcl), declarative dynamic config (agent_configblocks pushed over NATS), and a typed gRPC contract (weft-protov0.10.0) every component speaks.weft agentembedsgo.etcd.io/etcd/server/v3/embedfor single-host / dev ; production talks to a 3-DC external etcd cluster.
Who this is for¶
- Operators running weft in production. Start with Getting started and the Operator handbook.
- Developers integrating weft as a platform. Start with the Terraform provider, the API reference, and the CLI reference.
- Contributors improving weft itself. Start with the Architecture overview and Contributing.
High-level shape¶
+-------------------+
| cluster.hcl |
| (weft up) |
+---------+---------+
|
SSH install + bootstrap
v
+------------+ +------------+ +------------+
| host-a/DC1 | | host-b/DC2 | | host-c/DC3 |
| weft- | | weft- | | weft- |
| agent |<-->| agent |<-->| agent |
| + etcd | | + etcd | | + etcd |
| + Caddy | | + Caddy | | + Caddy |
| + driver | | + driver | | + driver |
+------+-----+ +------+-----+ +------+-----+
| | |
+------- WireGuard overlay ---------+
|
tenant microVMs
(weft-microvm-agent in-guest)
Where to start¶
- Single-host bring-up — laptop or one VM.
- 3-DC bring-up — production shape.
- microVM quickstart — first VM.
- Operator handbook — day-2 operations.
- Reference — provider, runners, CLI, API.
Canonical runbooks¶
Long-form runbooks live in the weft repo under
docs/operations/ ;
this site cross-links to them from the operator handbook
rather than duplicating.
Project status¶
Weft is in early development. The codebase is on GitHub under
github.com/openweft. Issues and discussions
live on the weft repository.