Skip to main content
Version: 1.x

Provisioning a Lattice

Planned changes to scheduling

The wasmCloud Q3 2025 Roadmap sets out plans for an overhaul to scheduling in the next major release of wasmCloud. The new scheduling API will not use NATS to communicate between components by default, but will still support distributed communication via NATS. For more information, see the Roadmap and Issue #4640: “Intentional distributed networking.”

All wasmCloud hosts are segmented into distinct namespaces called lattices.

When running locally with wash up, the lattice name defaults to default. In production, it's common to run multiple lattices on the same NATS cluster, where each lattice gets its own name.

From a provisioning perspective, a lattice is little more than:

  • a name(space)
  • NATS subject hierarchies based off the namespace: (wasmbus.ctl.{lattice-id}.>, wasmbus.rpc.{lattice-id}.>, wasmbus.evt.{lattice-id}.>, etc.)
  • lattice metadata, which is stored in JetStream as a LATTICEDATA_{lattice-id} Key Value bucket
  • one or more running hosts

The following guides explain how to create and manage each of these components.