Skip to main content

Engineering @ Cosmonic

Brooks Townsend
Brooks Townsend
Brooks Townsend
||4 min read

Cross-posted from the wasmCloud blog.

We're proud to announce the release of wasmCloud 1.1, including the feature most commonly requested by users: secrets support. In addition to secrets, the new release brings along a bevy of enhancements for enterprises, exciting new capabilities like Postgres, and first-class support for Go-based custom capability providers. Let's take a look at some of the highlights.

Eric Gregory
Eric Gregory
Eric Gregory
||7 min read

Cross-posted from the wasmCloud blog.

WebAssembly components are made for cloud native environments:

  • As WebAssembly binaries, components are truly agnostic to OS and architecture.
  • Teams can compile components from their language of choice, then combine and interoperate—across languages—with other components via standard APIs. It's like building blocks.
  • Components are orders of magnitude more efficient than containers, setting the stage for major cost, speed, and sustainability improvements.

With components, teams can write code in the language of their choice and run it anywhere...including in places where even containers are impractical. If your organization is already using Kubernetes, it's easy to run components on your clusters with wasmCloud. In fact, wasmCloud can help you extend Kubernetes to tackle traditional challenge areas like multi-cloud and edge.

In this tutorial, you'll learn how to get started running WebAssembly components on Kubernetes in three simple steps. The whole process should only take about five minutes.

Eric Gregory
Eric Gregory
Eric Gregory
||6 min read

Cross-posted from the wasmCloud blog.

Suppose you're developing an application as a WebAssembly component, and you need access to environment variables—but your app will run in an environment where this is impossible. What do you do? The WebAssembly ecosystem provides a powerful command-line tool for this and similar use-cases called WASI Virt, enabling you to encapsulate components within other components and abstract away requirements, or otherwise consolidate your application.

In this blog, we'll explore how component virtualization works, when you might want to use WASI Virt, and how to get started.

Eric Gregory
Eric Gregory
Eric Gregory
||4 min read

Cross-posted from the wasmCloud blog.

It's a milestone day for Gophers and WebAssembly: the wasi-preview-2 feature branch of TinyGo has landed in TinyGo's dev branch, bringing WASI P2 support to TinyGo! Now developers can write idiomatic Go code and compile to the wasip2 target, creating Go-based WebAssembly components straight from the TinyGo CLI. From there, components can run anywhere that supports WASI P2, with all of the portability, interoperability, and composability that WebAssembly components bring to bear.

Eric Gregory
Eric Gregory
Eric Gregory
||8 min read

Cross-posted from the wasmCloud blog.

Our recent update to the Go Provider SDK brings the library up-to-date for wasmCloud 1.0, making it possible for Gophers to build custom wasmCloud capability providers that communicate with components over WebAssembly Interface Type (WIT) interfaces. In this post, we'll explore how you can get started writing wasmCloud 1.0 providers in Go.

Brooks Townsend
Brooks Townsend
Brooks Townsend
||4 min read

Taking a Wasm component from idea, to server, to browser, to plugin

Cross-posted from the wasmCloud blog.

We built wasmCloud 1.0 on a conviction that with the right tools and the right standards, WebAssembly components could help developers reuse code—regardless of the language it was written in—and build applications much more efficiently, then deploy and distribute those applications anywhere. But I have to admit that on the developer side, I've been surprised by just how much components and well-known interfaces can speed up development.

Eric Gregory
Eric Gregory
Eric Gregory
||4 min read

Cross-posted from the wasmCloud blog.

In wash v0.28, we introduced wash plugins: a simple system for extending the wasmCloud Shell (wash) CLI with WebAssembly components. Users can install plugins from OCI registries, local files, or over HTTP, then execute the plugin as a subcommand to wash. Plugin developers simply build a given piece of CLI functionality as a component.

In this post, we'll show you how to install your first plugin. In themselves, plugins represent powerful, versatile tools that will accelerate workflows and help developers tailor tooling to their needs. But wash plugins are also a great example of how modular CLIs can be implemented with WebAssembly—and how components can accelerate development across a team.

Brooks Townsend
Brooks Townsend
Brooks Townsend
||12 min read

Cross-posted from the wasmCloud blog.

A couple weekends ago I found myself wanting to write a Discord bot: specifically, a simple bot that I could tag with a message to trigger some processing and a response message. As I started thinking about what this bot could do, I realized this was an excellent use-case for a provider: instead of writing a one-off bot, I could create a reusable provider that would make it trivial to build any Discord bot I wanted.

The Discord API is fully-featured and massive, but for such a simple use-case, it would be overkill to work from scratch every time you wanted to write a bot. With a custom provider, I could simply write a component in any language and then plug it in to my provider via a simple API.

In this post, I'll retrace my steps to implement the custom provider using the wasmcloud-messaging interface, and show you how you can use the provider to write Discord bots of your own.

Brooks Townsend
Brooks Townsend
Brooks Townsend
||5 min read

Cross-posted from the wasmCloud blog.

SEATTLE, (Open Source Summit), April 16, 2024. In response to growing demand among engineers for more open and community-led ways to bring the benefits of WebAssembly (Wasm) to Kubernetes, Cosmonic has contributed its Kubernetes operator to the CNCF wasmCloud ecosystem. The wasmCloud-operator (formerly known as Cosmonic Connect Kubernetes), allows Kubernetes practitioners free and unfettered access to wasmCloud in their own Kubernetes clusters, deployed and managed with the tools they know and trust.

Keep up to date

Subscribe to Cosmonic for occasional communication straight to your inbox.