Skip to content

vados-cosmonic/wasmcon2024-couchbase-workshop

Repository files navigation

🛋 WASMCON 2024: Implementing a Wasm Native Database API with Couchbase

Presented by Couchbase and Cosmonic maintainers.

This repository contains everything you need to get started with the workshop:

👷 Workshop

In this workshop, we'll be building NuBase, an experimental new database with an HTTP API, powered by Couchbase.

By the end of the workshop, we will:

📂 Organization

Here's a run-down of the files in this repository:

Folder Description
wit WIT definitions we'll be using during the talk
nubase Code for the Database component we'll finish as part of this workshop

🌎 Environment setup

GitPod

Open in Gitpod

If using GitPod, you can launch .gitpod.yml file in this repository, and make an account at GitPod.io if necessary to get into an environment that "just works"!

Devcontainers

To use GitHub devcontainers to run this project, you can run

just start-devcontainer

Note

If you prefer to not use just, run devcontainer up --workspace-folder .

See Justfile for more recipes and the commands they run.

Manual/Local

To run manually, ensure that you have the following tools installed:

Dependency Description Easy install method
just Task runner (similar to GNU make) cargo install just
wash WAsmcloud SHell - a tool for managing wasmCloud instances cargo install wash-cli
wit-deps Manual downloading of WIT interfaces cargo install wit-deps-cli
wasm-tools WebAssembly toolkit (used during code generation) cargo install wasm-tools
tinygo TinyGo toolchain tingyo install guide
go Go toolchain go install guide

You can easily check which tools are not installed by running:

just check

Once you have all required tools installed, you can build the project by running:

just build

Then, start Couchbase, using docker compose:

just start-couchbase

From here, you can start developing the component:

just dev

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published