Skip to main content
Version: v1

NATS Streams and Buckets

The first time wasmCloud and wadm start they will attempt to get or create the following KV buckets and streams. It's recommended to pre-create the buckets and streams in production environments to avoid giving these processes permissions to create or overwrite JetStream resources.

wasmCloud KV Buckets​

wasmCloud requires the following KV buckets per lattice:

CONFIGDATA_<lattice>​

Example: CONFIGDATA_default

Suggested configuration:

  • N replicas where N is number of NATS server cluster nodes
  • File backed and backed up

LATTICEDATA_<lattice>​

Example: LATTICEDATA_default

Suggested configuration:

  • N replicas where N is number of NATS server cluster nodes
  • File backed and backed up

wadm KV Buckets​

wadm requires the following KV buckets:

wadm_manifests​

Suggested configuration:

  • N replicas where N is number of NATS server cluster nodes
  • File backed and backed up

wadm_state​

Suggested configuration:

  • N replicas where N is number of NATS server cluster nodes
  • Optional: File backed and backed up. wadm_state can be fully recovered in a maximum of 60 seconds upon reconnecting to a cluster.

wadm Streams​

wadm requires the following streams:

wadm_commands​

  • Subjects: wadm.cmd.*
  • Retention: WorkQueue

wadm_events​

  • Subjects: wadm.evt.*.>
  • Retention: Limits

wadm_status​

  • Subjects: wadm.status.*.*
  • Retention: Limits
  • Maximum Per Subject: 10

wasmbus_events​

  • Subjects: wasmbus.evt.*.>
  • Retention: Limits

wadm_notify​

  • Subjects: wadm.notify.*
  • Retention: Interest

wadm_event_consumer​

  • Retention: WorkQueue
  • Transform stream
Source Information:

                   Stream Name: wasmbus_events
  Subject Filter and Transform: wasmbus.evt.*.> to wadm_event_consumer.evt.{{wildcard(1)}}.>
                           Lag: 0
                     Last Seen: 135ms

                   Stream Name: wadm_events
  Subject Filter and Transform: wadm.evt.*.> to wadm_event_consumer.evt.{{wildcard(1)}}.>
                           Lag: 0
                     Last Seen: 336ms

Production Configuration​

For production deployments, create these buckets with appropriate replication:

bash
# wasmCloud KV Buckets (replace 'default' with your lattice name)
nats --domain wasmcloud kv add --replicas 3 LATTICEDATA_default
nats --domain wasmcloud kv add --replicas 3 CONFIGDATA_default

# wadm KV Buckets
nats --domain wasmcloud kv add --replicas 3 wadm_manifests
nats --domain wasmcloud kv add --replicas 3 wadm_state

If the buckets already exist, you can increase the number of replicas:

bash
nats --domain wasmcloud stream edit --replicas 3 KV_LATTICEDATA_default
nats --domain wasmcloud stream edit --replicas 3 KV_CONFIGDATA_default
nats --domain wasmcloud stream edit --replicas 3 KV_wadm_manifests
nats --domain wasmcloud stream edit --replicas 3 KV_wadm_state