Skip to main content

2024-06-05 Community Meeting

Brooks Townsend

Agenda

  • DEMO: capability providers - Couchbase KV
  • DEMO + DISCUSSION: custom provider templates - Golang
  • DISCUSSION: wash 0.29, what's new?

Meeting Notes

DEMO: capability providers - Couchbase KV

  • This week it’s all about providers. It’s great to see the number of providers growing within the ecosystem.
  • Hot off the press. This new capability provider allows KV access to Couchbase DB.
  • Last year - we worked on a capability provider that used the wasmCloud KV interface.
  • We were able to work with the folks at Couchbase to figure out the best way to run couchbase locally (Docker container).
  • This new provider was built with the wasmCloud provider SDK in Go - implementing the wRPC KV store and Atomics interface - both well-known interfaces.
  • Cool to see the provider written in Go - the kind of polyglot feature folks have been looking for.
  • Liam: This is the Couchbase KV but what about other modes of operation?
    • For this phase we have created a connection to Couchbase using a common connector (wasi kv) - this means all our examples can now use Couchbase as a back end.
    • Realistically moving past some of the examples, folks evaluate database vendors to use in apps because of specific functionality. E.g. sub-document queries or full-text search.
  • A specific Couchbase WIT would be the ideal next step.
  • The wasmCloud provider can be viewed in the Couchbase repo.
  • Take a look at the recording for Brooks’s demo and wider questions and discussion around WIT vs wRPC.

DEMO + DISCUSSION: custom provider templates - Golang

  • Especially built with the provider SDK so you can make your own capability provider in Go!
  • Take a look at the recording for a mini demo from Brooks showing the provider in action.
  • We’ve previously shared the custom provider template for Rust. The goal is to take a WIT interface that has an import and export that uses the provider SDK to implement the export and uses the export to link to the component.
  • This will arrive in wash 0.29.
  • If the Go provider SDK is new to you, this is a really great place to start!
  • Readme prerequisites: Install Go Capability Provider, wit-bindgen, wRPC and wash.
  • Support now exists to build capability providers with wash build - this does bindings generation for you and packages the archive automatically.

Yordis: Is there a how to guide to build a provider?

  • Yes, it in draft in the wasmCloud repo - will make sure we share on Slack. LINK

DISCUSSION: wash 0.29, what's new?

  • There is some additional support for building Go providers.
  • Also some new guidance on building applications.
  • New wash up flag for manifests - launch host and deploy app manifest in 1 step. Really nice feature.
  • wash app - and new separated wadm crates. User exp (wash lib crate) will be improved.

UPDATE: Roadmap Check-in

  • New in the wasmCloud roadmap - still a few issues that are ready contributions.
  • Secrets in wasmCloud is one of the biggest ticket items in the RFC.
    • Watch out for the MVP this/next week.
  • wasi messaging - some updates coming here in the next few weeks.
  • Adding support for new OCI Wasm specification. Landing in the next version of wash and Bytecode Alliance packaging tooling.

Where we’ll be…

  • Ship it! Coming soon, Bailey and Taylor will chat about the process of getting WASI 0.2 and the Component Model into the wild and the process the wasmCloud team went through to integrate these new standards. Stay tuned for more details.

Tune in…

  • Cloud Native Live last week focused on all things Wasm and Kubernetes. Dan Norris and Taylor Thomas’s stream: “Advanced Kubernetes Integrations with wasmCloud” looked at some advanced extension points work, using the wasmCloud operator as the backdrop. Watch to find out how we integrated Wasm into Kubernetes using Rust and extension points like Endpoint Slices, API aggregation and more!
  • On Cloud Native Live, Taylor joined Synadia’s Jeremy Saenz to discuss the benefits of building a distributed Wasm-native reconciliation loop with NATS JetStream. Watch to learn about key-value buckets, streams and work queues, how they work and why they matter. 12 midday ET.
  • Bailey recently joined Dan Lorenc at Chainguard to discuss all things Wasm, Kubernetes, distroless compute models and more. Tune in for this step-by-step exploration of Wasm.
  • The CNCF and Bytecode Alliance came together on CNCF Cloud Native Live for an interesting discussion on WASI 0.2 the Component Model..and the role of the BA in driving forward Wasm standards and tooling.
  • Cloud Native Wasm Day recordings are available! Particular highlights are presentations from our community users MachineMetrics and Orange.
  • Check out the Arm Developer Podcast where Bailey and Liam discussed the intersection of Wasm and GPU technologies.
  • Listen in to the last WasmEdge community meeting where Bailey Hayes talks all things WASI 0.2 and we hear from the students of the University of Tokyo on some cool new projects.
  • Bailey was a guest on a recent Rancher Live podcast with Divya Mohan. Tune in for a deep dive into WASI 0.2!

Recording