WebAssembly Release: wasme CLI 0.0.26 with Istio 1.6 and Gloo 1.5 support

WebAssembly (Wasm) is an exciting new technology born from the need to support compatibility for client side application deployments and has tremendous potential for the server (infrastructure and application) side as well. Wasm is a portable, pre-compiled,and language agnostic binary instruction set for a virtual machine that can be run in the browser or on a server.

At Solo.io, we’ve been working for the past year with wasm specifically with how it can be used to make Envoy proxy and solutions built on Envoy more easily extensible using wasm modules. In December 2019 we announced WebAssembly Hub to store and share wasm modules, which was refreshed in March 2020 to include support for Istio 1.5, and the wasme CLI to provide a great developer experience in building, pushing, and pulling wasm modules. 

Today we have released an update to the wasme CLI, version 0.0.26. You can read the changelog here and also participate in the project by filing issues for any bugs or requests. 

 

New: Expanded Support for Istio and Gloo

A key highlight of this release is the support for Gloo version 1.5 and Istio 1.6 in the wasme CLI. Gloo is our API Gateway that uses Envoy as the edge proxy and Istio is a service mesh that uses Envoy as the sidecar proxies. 

To try was wasme for the first time, check out the installation instructions here and if you’ve already been using wasme and need to update, run the following command:

curl -sL https://run.solo.io/wasme/install | sh

For those following the Istio project, version 1.7 is coming soon — and we’ll be working to get support for the latest version into wasme, so follow along in the project, here

 

Improving the Release Process  

We have also been busy behind the scenes to make releasing new versions and fixes faster by updating our CI/CD process and updating the envoy-wasm version that we use. 

NOTE: Today, WebAssembly is worked on in the Envoy project in this repo named envoy-wasm and not part of the main Envoy code. The community is actively working on this so that it can be merged into the upstream Envoy project and be fully supported in all the downstream solutions that use Envoy. You can check out the community progress here.

 

Get involved and learn more

To get started, go to WebAssembly Hub and browse hundreds of wasm modules created by the community to do things like transform headers, replicate security functionality from other proxies into Envoy, and more. Watch this two-part video tutorial to help you get started. 

We also have a community document started here to post ideas for filters – add your suggestions here and join the slack channel for more discussion.