Skip to main content
← Back

WebAssembly News: NATS Stays in the CNCF & the wasmCloud Q2 Roadmap

The May 7, 2025 wasmCloud community call is a quick, agenda-free update led by Brooks Townsend — and the WebAssembly news at the top is the one a lot of people were waiting on. The CNCF and Synadia have aligned to keep the NATS.io project under the CNCF, with its Apache 2.0 license intact and the trademark remaining with the CNCF. With that uncertainty resolved, Brooks walks wasmCloud's transport-agnostic push with wRPC and the Q2 2025 roadmap: custom interfaces, good first issues, NATS provider diagnostics, the XDG base-directory move, a host configuration file, outgoing HTTP client tracing, and an event publisher abstraction.

Key Takeaways

  • The CNCF and Synadia released a joint statement confirming the NATS.io project stays under the CNCF, keeps its Apache 2.0 license, and the trademark remains with the CNCF — and wasmCloud will always be Apache 2.0
  • wasmCloud is accelerating its transport-agnostic story with wRPC: QUIC, TCP, and Unix domain sockets, plus alternative control-plane options (an etcd state store and HTTP control interface) for environments like Kubernetes where NATS may not be the best fit
  • The Q2 2025 roadmap was reviewed on the open-source board — wRPC error handling is moving, and Eric's custom interfaces PR is up and awaiting a review
  • Several good first issues are ready for new and returning contributors, including a community member's accepted proposal that was assigned and moved into progress
  • Development-ready items include NATS provider diagnostics (get-inventory state), using environment variables for the Blobstore S3 provider, and dropping the wash directory in favor of the XDG Base Directory specification
  • The secrets-nats-kv CI workflow stopped triggering when the Nix flake changed; the quick fix is adding flake.nix/flake.lock to the changed-files trigger, with a longer-term RFC on managing CI pipelines invited
  • A host configuration file proposal is in triage to decide format and scope — letting you start a wasmCloud host from a single config file across bare metal, edge devices, and Kubernetes for reproducible environments
  • ossfellow's outgoing HTTP client tracing refactor adds end-to-end tracing (Rust tracing plus OpenTelemetry) and reuse across the built-in and external HTTP clients; the event publisher abstraction is open for contributors

Chapters

Meeting Notes

NATS Stays in the CNCF — Apache 2.0 and CNCF Trademark

The headline news this week: the CNCF and Synadia released a joint statement confirming that NATS.io will remain a CNCF project under the Apache 2.0 license, with the trademark held by the CNCF. Brooks reiterated that wasmCloud will always be Apache 2.0, and expressed relief that the back-and-forth over the future of NATS is settled. wasmCloud has been a power user of NATS for a long time and maintains a strong relationship with Synadia, so the resolution lets the project move forward as before — continuing to be the best WebAssembly project it can be.

Transport-Agnostic wasmCloud and wRPC

Even with NATS staying put, Brooks noted that wasmCloud is "accelerating" its transport-agnostic work. On wRPC, that means supporting QUIC, TCP, and Unix domain sockets. On the control interface, it means having options for places where NATS isn't always the best fit — for example, running in Kubernetes where it might be nice to back the state store with etcd and run control over HTTP. The goal is to explore the best transport for the scenario wasmCloud needs at a given time.

Reviewing the Q2 2025 Roadmap

Brooks walked the Q2 2025 roadmap board. Most items were already filed as issues, so not much net-new came out of the road-mapping session. Highlights:

  • wRPC error handling / custom interfaces — Eric has a PR up and is waiting on a review; this should be one of the first roadmap items to close out.
  • Good first issues — several are ready for new and returning contributors. One community contributor left a proposal on an issue, was assigned it, and the ticket moved into progress — exactly the intended workflow for that column.
  • Development-ready — NATS provider diagnostics (get-inventory state), using environment variables for the Blobstore S3 provider, and dropping the wash directory by adopting the XDG Base Directory specification.
  • In triage — the RFC for a pluggable wash, workload identity (which depends on NATS auth callout and a pending change on the SPIFFE/SPIRE side), and a deep design exploration of end-to-end HTTP error handling and tracing (moved to "ready for work").

The secrets-nats-kv CI Fix and the Host Configuration File

Brooks and Lachlan Heywood dug into a CI issue: the secrets-nats-kv workflow stopped triggering after CI was changed to only run when specific paths change. Because secrets-nats-kv isn't a provider, the Nix flake change didn't include it. The quick fix is to add flake.nix and flake.lock to the changed-files trigger; the ticket moved to "ready for work" and "good first issue." The longer-term question — how to keep this from recurring for newly added components — is open for an RFC.

The host configuration file proposal is in triage mostly to settle format (YAML, TOML, JSON) and scope. The first step is exposing all existing flags and environment variables in a single config file, with room to grow — for example, starting a host with a specific set of providers or a WADM application. The aim is a reproducible environment so you can run a wasmCloud host the same way on bare metal, an edge device, or in Kubernetes. Brooks will check in with Joonas, who wanted to lead the initial proposal.

HTTP Client Tracing and the Event Publisher

A Q1 carryover, outgoing HTTP client tracing, came up via ossfellow's chat comment. HTTP is a rabbit hole of hops and function calls, so ossfellow added tracing all the way to the actual client — turn on debugging and you can see a request pass through each layer, both for internal and external clients, exported to both Rust tracing logs and OpenTelemetry. That makes it possible to tell whether an outgoing request hung at the runtime, at the provider, or never got a response from the remote site. ossfellow also refactored the HTTP client for reuse, so the built-in and external clients share a single implementation.

Finally, the event publisher abstraction: a simple trait for publishing events with any implementation rather than assuming a NATS topic. ossfellow asked about the "turn events into email" idea — Brooks confirmed he isn't actively working on it and welcomed anyone to pick it up, noting that the existing list of events lives in the host's events.rs source and is also documented on the site. Contributions to the docs to fix any deltas are always welcome.

WebAssembly News and Updates

The biggest piece of WebAssembly news this week sits outside wasmCloud's own repo: the CNCF and Synadia's joint statement keeping NATS.io in the CNCF under Apache 2.0. For a project built on NATS, that's a foundational stability signal — and it reinforces wasmCloud's own commitment to open source and Apache 2.0. The other through-line is architectural: wasmCloud is doubling down on a transport-agnostic design via wRPC, so the lattice can speak QUIC, TCP, or Unix domain sockets and the control plane can adapt to environments like Kubernetes. To follow along, watch the wasmCloud blog and the CNCF announcements.

What is wasmCloud?

wasmCloud is a CNCF project that lets you build applications using WebAssembly components and deploy them anywhere — cloud, edge, or Kubernetes clusters. It uses the WebAssembly component model to let you write business logic in any supported language (Rust, Go, Python, TypeScript, C#, and more) while the platform handles capabilities like HTTP, messaging, and key-value storage through a pluggable provider architecture. wasmCloud's reference host is built on Wasmtime, and its transport layer is increasingly transport-agnostic — using NATS today, with wRPC enabling QUIC, TCP, and Unix domain sockets. With built-in OpenTelemetry observability and Kubernetes integration, wasmCloud bridges WebAssembly's portable, sandboxed execution model and production cloud-native infrastructure.

Topic Deep Dive: Transport-Agnostic wasmCloud

The architectural thread running through this call is transport agnosticism. wasmCloud has historically leaned on NATS for its lattice and control plane — and with NATS confirmed to stay in the CNCF, that bet is safe. But the team is deliberately decoupling wasmCloud from any single transport. With wRPC, components and providers can communicate over QUIC, TCP, or Unix domain sockets instead of assuming NATS is always present. The same flexibility extends to the control interface: in a Kubernetes cluster, for instance, it can make sense to back the state store with etcd and run control over HTTP, where the cluster already provides those primitives. This matters for the Kubernetes story specifically — the closer wasmCloud's control plane maps onto a cluster's native machinery, the more naturally it fits into a WebAssembly-on-Kubernetes deployment. The principle is "best transport for the scenario," and it shows up across the roadmap: in wRPC error handling, custom interfaces, and the deep design exploration of end-to-end HTTP error handling and tracing.

Who Should Watch This

This call is especially useful for teams running on NATS who wanted clarity on the project's future after the licensing discussion (start at 2:55), platform engineers weighing how wasmCloud's transport-agnostic control plane fits Kubernetes and edge environments (the wRPC and host-config discussion at 4:40 and 14:13), and new contributors looking for an on-ramp — there are several good first issues ready to claim (the roadmap walkthrough starting at 5:42).

Up Next

Expect follow-up on the host configuration file scope (Brooks is syncing with Joonas), the quick secrets-nats-kv CI fix, and continued progress on wRPC error handling, custom interfaces, and the event publisher. The Q2 2025 items are tracked on the open-source roadmap board — and the good first issues there are open for anyone who wants to jump in.

Get Involved

wasmCloud is a CNCF project and contributions are welcome. Join the community:

Full Transcript

Read the complete transcript with speaker labels and timestamps:

Read the full transcript →