Skip to main content
← Back

Transcript: Couchbase Host Plugin Demo, Repo Reorganization & wasmCloud v2 RC8

← Back to watch page

Watch on YouTube ↗

wasmCloud Weekly Community Call — Wed, March 11, 2026 · 29m 11s

Speakers: Jeremy Fleitz, Bailey Hayes, Eric, Lucas Fontes, Liam Randall, ossfellow, Frank Schaffa, Matt Wilkinson


Full Transcript

Bailey Hayes 00:34

Liam, Eric — I'm not hearing anybody. I'm hearing them, so it might be on your side. Jeremy, you heard me.

Liam Randall 00:49

Eric — Hamr samples page, we could use that as doc of the week. It looked great, by the way. Thank you for doing all that.

Eric 00:54

Awesome. Thank you.

Liam Randall 01:12

Perfect — with the call to action today, Bailey, on RC8 testing, this would be a great doc of the week to show.

Bailey Hayes 01:23

Liam, do you want to host? I'll sit here and keep coding.

Jeremy Fleitz 01:32

I can — sure. I'll try, why not?

Liam Randall 01:37

I love it. Eric, do you want to host? Or Victor?

Eric 01:43

I'll take next time.

Liam Randall 01:44

I love it. Okay, Bailey just did a new thing — rotating host. Because today otherwise it would just be a Cosmonic meeting.

Jeremy Fleitz 01:52

It's almost like we just formed a host group.

Bailey Hayes 02:03

I think that's pretty good.

Liam Randall 03:57

Bailey, do you usually commit the agenda, or do you just show off the agenda in progress?

Bailey Hayes 04:05

Perfect world: we commit it ahead of time and it's available, and other people can edit it. Even more perfect world: we post the agenda ahead of time in the wasmCloud community Slack and ask for anybody else to edit or add their agenda topics.

Jeremy Fleitz 04:26

It's funny you say that — I was just trying to find the agenda and saw it was not on the wasmCloud site.

Liam Randall 04:34

I'll push it through real fast.

Jeremy Fleitz 05:08

All right, let's kick this off. Welcome to wasmCloud Wednesday, March 11. I am Jeremy Fleitz. I am the host today. The reason I'm the host is because we created a host group of hosts that do wasmCloud Wednesday, and I have the capability of doing screen sharing.

To start off on the agenda — we're going to be going over wasmCloud v2 on what the current status is. Currently we are on RC8 and we might have another push for another RC candidate, but we're getting extremely close to having v2 rolled out. I am going to be doing a demo on the Couchbase host plugin. Afterwards we're going to go with repo organization as well.

Jeremy Fleitz 06:14

The reason we have a Couchbase plugin now for the host — we did have a request that came in from one of the users of wasmCloud, and it was originally based on this component that was made an extremely long time ago in wasmCloud — aka 11 months. This was the actual original wasmCloud provider, Couchbase. With the new wasmCloud v2 we are taking the concept of a provider away and building it into the host as a plugin. The actual capability that a component needs is just built into the host. There's less of a hop, and it just makes things a lot simpler.

So this provider just did a quick example of doing the WIT interface for the Couchbase document — a get, delete, and an update. Switching over to this PR, I'm going to switch over to the preview just to make the markdown easier to read. This example inside wasmCloud for Couchbase does the exact same type of features that the previous provider does, but also has steps for how to run this locally — starting a local Couchbase, getting the bucket set up inside Couchbase outside of wasmCloud, configuring inside the example on passing in the things that the host would need, and then simply doing a wash dev and the curl updates.

Jeremy Fleitz 08:16

Inside the wasmCloud wash runtime, the Couchbase plugin is a very simple plugin where it just uses the Couchbase management REST API. You can pass the configuration in through environment variables inside the host itself, so that the Wasm component doesn't need to know any credentialing or even the backend URL for Couchbase. Inside the example I do have it so it does show you can do this from the component if you want to — but if you want to provide that abstraction for a workload not needing to know credentials and keep it to the host to further lock down the sandbox, you can definitely do that. You can provide the base URL, username, password. You can provide the list of buckets it can connect to. After the component is initialized, the capability is provided.

For get, the retrieve takes the JSON request from the body and deserializes it inside the struct before passing. Any deserialization issue throws an immediate error. Going over to the example side — inside Couchbase examples, starting with the configuration in Dev — this is where you could pass this in or as an environment variable on the host, but I just have it passing in a simple administrator password, and I say which bucket I want it to connect to. You could even have the bucket defined on the host itself, and even have different permissions to different buckets on different hosts. The component just gets scheduled to whichever one has the right access.

The example itself uses the HTTP incoming request handler type, and using that it creates the paths for a get (passing a simple key), a post to do an upsert, and a delete. If the key is not found or any error, a 400 is returned. Otherwise it's 200. If the key was found but there's an issue with actually deleting or updating, a 500 is returned.

Jeremy Fleitz 11:15

To show this — I have Couchbase running right now. I started it a little over a day ago, port 8091. I've already created a bucket — called "demo" with 100 MB size. We're ready to run the component. This is the absolute latest of wasmCloud that I failed to mention — we moved the code repository from wasmcloud/wash and we merged that into wasmcloud/wasmcloud. We created a feature branch for the previous 1.9 version that was out there. This is a new PR against the new latest repository. I pulled that down locally and compiled it (since this PR isn't in there yet). My wash binary is already updated. Inside the example I can type wash dev and it's ready on port 8000.

I'll just show a couple of examples on using the bucket. First, getting a document — yeah, it did return what it should find. I'll do an upsert.

Speaker 2 13:26

Let's change Alice to Janet.

Jeremy Fleitz 13:34

It did an update. You can also do an expiry-type upsert where you can expire after so many seconds. This got updated as well — 200 is fine. Lastly I can do a delete. Okay — open to any questions.

Liam Randall 14:31

Jeremy, what kind of testing do you need on this in order to get this across the line? Any ideas or calls to action?

Jeremy Fleitz 14:40

Good question. I think it's ready to go. Actually, this morning I was double-checking to make sure there was no feature drift from the provider to the new one. Other than that, it's really just code review and getting this merged in.

ossfellow 15:06

Hi Jeremy. First of all, very good news — thank you. I have a comment rather than a question. This new version no longer needs basically those weak bindings — we had query data-type mappings and other things that were expressed previously by WIT, similar to Postgres, and I think this no longer uses that?

Jeremy Fleitz 15:46

This is a good one where Bailey or Lucas can weigh in. As far as the way this works, the bindings are pulled in and this implements the WIT interface for the Couchbase document and Couchbase types. So the WIT still exists and is still needed — it's just that it's not implemented only by the provider.

ossfellow 16:15

Okay, thanks.

Jeremy Fleitz 16:31

As I mentioned, the repo organization. This was the old repo — wasmcloud/wash — and as you notice, this was where 2.0 RC7 used to be. Now walking over to wasmcloud/wasmcloud itself, this is the one that's been around for the longest time and has a lot of followers, and we didn't want to disrupt the community as much as possible. So what was done — there was a release-1.9.x branch created that has the pre-2.0 release that is out there. Now main under wasmcloud/wasmcloud is where the latest 2.0 RC8 is built. There's probably going to be one more release candidate before version 2 is actually cut. Lucas, do you want to weigh in on that?

Lucas Fontes 17:53

What we're looking to do for the very last "for reals final dot zip" is to get the update for Wasmtime 42. With Wasmtime 42 we're going to start dipping into WASI P3, and that's the part that's exciting for us. In terms of features, we got pretty much all the features we want for v2. There is one pull request from Pavel that we want to get in — that is fuel tracking, the ability for the host to emit metrics based on fuel consumption. This way you can tell how many CPU cycles your functions are using.

Between today and tomorrow we're going to merge all the pull requests related to features. Between the end of this week and next week we're going to be testing left and right — every single case you can imagine. Also equalizing the arguments for wasi-keyvalue for example — we now support Redis, NATS, in-memory. How can you use them all together? Do you always need to pick one? Make sure we have clarity on that, and documentation updated. So basically, RC9 is the last in terms of features. If you are looking to validate what's going to be in v2, it's going to be everything in RC9 — we're not removing anything, we're not adding anything, just making sure everything works. Probably by the next community meeting we will have v2 out.

Jeremy Fleitz 20:04

Thank you, Lucas. All right — we're going to switch over to documentation of the week.

Eric 20:10

With that fresh new release candidate to test, one thing you might ask is "what kind of components can I test it with?" We've got something for you here. I do not have sharing powers, so I'm going to send a request real quick.

Eric 20:53

We have a templates and examples page up for the v2 docs. This has been a gap for a minute. Even in v1, with the monorepo, we still had a little bit of sprawl for examples across a TypeScript repo, a Go repo, and that problem got bigger as we transitioned to v2 — it hasn't been exactly clear which examples are compatible with which version. We've broken everything down into a canonical source of truth on wasmCloud templates and examples for wasmCloud v2.

We break down what is a template: templates are scaffolds for new applications you can use to create a project and get going quickly. Examples are complete applications demonstrating specific wasmCloud capabilities. We have a breakdown on this page of our currently available templates and examples across languages. We'll continue to update this. We give a short description saying what it does, explain the interfaces we're using. When we have OCI references, so you can quickly spin something up on a cluster, we've got those as well. This will continue to expand and evolve, especially in the lead-up to the full v2 release. As you're testing things out, give this page a look — try out some of these examples. If you find any issues, let us know.

Jeremy Fleitz 22:30

Awesome. For community updates — next week in Barcelona is Wasm I/O. We encourage anybody that could possibly make it to show up and say hi to Bailey and Liam from our team. The week after we're going to be in Amsterdam — pretty much the whole team is going to be there. Please stop by at KubeCon EU Amsterdam if you can't make Wasm I/O.

Last thing — the Plumbers Summit videos are now live on YouTube. I'll drop a quick link into the chat. It was really awesome seeing all the updates on the projects. That covers the agenda — we'll just open this up for any other discussions people might have.

Liam Randall 23:33

Eric, are you working on blog posts for the Plumbers Summit meetings?

Eric 23:46

For anyone watching and listening — the sessions are broken out into a single video on the playlist on YouTube. We're also going to have a couple of blogs coming out talking about the road to component model 1.0, as well as a big breakdown of looking at JCO as a project.

Jeremy Fleitz 24:15

All right, that's it. Happy wasmCloud Wednesday, we'll catch you next time.

Frank Schaffa 24:27

Wasm I/O — is it going to be streaming live?

Bailey Hayes 24:36

I believe so. They had that capability last year. Let me check the site real quick. They don't call it out explicitly. However last year they did, and it's in the same venue, same organization crew, so I would expect it to.

Jeremy Fleitz 24:57

One quick announcement — we'll probably have wasmCloud weekly community call next week, the week that we're in KubeCon EU. We might not be able to due to timing.

Bailey Hayes 25:15

I'd like to do a brief hello from the floor.

Liam Randall 25:20

I'm not sure if the floor is still going to be open at seven on Wednesday, but either way I think we'll do a quick hello from there. Anybody that's out — maybe we can all get together over by either the wasmCloud kiosks out on the floor if anybody wants to join us. Maybe the wasmCloud kiosk makes the most sense. Maybe if we want to stop streaming we could do like a little social hangout for a bit for folks attending the meeting. I see some faces I haven't seen in a while on the call today, and would love to just say hi. Matt — you're at Capital One now.

Matt Wilkinson 26:08

Hey, yeah, I'm at Capital One.

Liam Randall 26:10

Congratulations, man. You've gone full circle.

Matt Wilkinson 26:24

Yeah. I know you guys used to be at Capital One too, so it's kind of funny.

Liam Randall 27:20

You're a Roku-then-Google-and-then-somewhere-else. You've been around for a while. For a while you were a big contributor to wash and the CLI.

Matt Wilkinson 27:34

I haven't had too much time to participate lately, but that's why I joined today — to see if I can get around to doing a bit more stuff.

Liam Randall 27:41

It's a great time with v2 on the cusp of being released. There's a ton of new stuff — we've dramatically simplified the ecosystem. One of the big ops stories we have is the operator — just turnkey on Kubernetes. The big uplift is that the whole ecosystem now works for you. Cosmonic released CI templates and GitHub workflows. It works with Argo CD. It's compatible with OCI, so you can just turnkey now run containers and components side by side. Plus a bunch of new capabilities we're getting online and trying to take advantage of in WASI P3. Position us to be ready for it — release is imminent. After that we'll be working through language runtimes and polishing them up. It's going to be pretty interesting.

Matt Wilkinson 28:46

Cool. Sounds good.

Liam Randall 28:53

All right. Great to see Matt. Great to catch up. Hope to see you around a lot more. Frank, always a pleasure. Everyone else — catch up with you later. Thanks all.