seenvoy
Visualize the configs of the Envoy (by bonaysoft)
proxy-wasm-go-sdk
WebAssembly for Proxies (Go SDK) (by tetratelabs)
seenvoy | proxy-wasm-go-sdk | |
---|---|---|
1 | 2 | |
73 | 663 | |
- | 1.4% | |
3.1 | 5.9 | |
9 months ago | 5 days ago | |
Vue | Go | |
MIT License | Apache License 2.0 |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
seenvoy
Posts with mentions or reviews of seenvoy.
We have used some of these posts to build our list of alternatives
and similar projects.
proxy-wasm-go-sdk
Posts with mentions or reviews of proxy-wasm-go-sdk.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-11-27.
-
A "Tiny" APISIX Plugin
// references: // https://github.com/tetratelabs/proxy-wasm-go-sdk/tree/main/examples // https://github.com/apache/apisix/blob/master/t/wasm/ package main import ( "github.com/tetratelabs/proxy-wasm-go-sdk/proxywasm" "github.com/tetratelabs/proxy-wasm-go-sdk/proxywasm/types" "github.com/valyala/fastjson" ) func main() { proxywasm.SetVMContext(&vmContext{}) } // each plugin has its own VMContext. // it is responsible for creating multiple PluginContexts for each route. type vmContext struct { types.DefaultVMContext } // each route has its own PluginContext. // it corresponds to one instance of the plugin. func (*vmContext) NewPluginContext(contextID uint32) types.PluginContext { return &pluginContext{} } type header struct { Name string Value string } type pluginContext struct { types.DefaultPluginContext Headers []header } func (ctx *pluginContext) OnPluginStart(pluginConfigurationSize int) types.OnPluginStartStatus { data, err := proxywasm.GetPluginConfiguration() if err != nil { proxywasm.LogErrorf("error reading plugin configuration: %v", err) return types.OnPluginStartStatusFailed } var p fastjson.Parser v, err := p.ParseBytes(data) if err != nil { proxywasm.LogErrorf("error decoding plugin configuration: %v", err) return types.OnPluginStartStatusFailed } headers := v.GetArray("headers") ctx.Headers = make([]header, len(headers)) for i, hdr := range headers { ctx.Headers[i] = header{ Name: string(hdr.GetStringBytes("name")), Value: string(hdr.GetStringBytes("value")), } } return types.OnPluginStartStatusOK } // each HTTP request to a route has its own HTTPContext func (ctx *pluginContext) NewHttpContext(contextID uint32) types.HttpContext { return &httpContext{parent: ctx} } type httpContext struct { types.DefaultHttpContext parent *pluginContext } func (ctx *httpContext) OnHttpResponseHeaders(numHeaders int, endOfStream bool) types.Action { plugin := ctx.parent for _, hdr := range plugin.Headers { proxywasm.ReplaceHttpResponseHeader(hdr.Name, hdr.Value) } return types.ActionContinue }
-
Unlocking Istio's Versatility: A Guide to WASM Plugins in Kubernetes
Go (TinyGo) SDK
What are some alternatives?
When comparing seenvoy and proxy-wasm-go-sdk you can also consider the following projects:
envoy-preflight - A wrapper for applications to help with running envoy as a sidecar
spec - WebAssembly for Proxies (ABI specification)
proxy-wasm-zig-sdk - WebAssembly for Proxies (Zig SDK)
proxy-wasm-rust-sdk - WebAssembly for Proxies (Rust SDK)
proxy-runtime
proxy-wasm-cpp-sdk - WebAssembly for Proxies (C++ SDK)
nottinygc - Higher-performance allocator for TinyGo WASI apps
ngx_wasm_module - Nginx + WebAssembly
apisix - The Cloud-Native API Gateway
proximal - WebAssembly dev environment for Envoy Proxy. Iterate on your HTTP/TCP middleware in seconds!
seenvoy vs envoy-preflight
proxy-wasm-go-sdk vs envoy-preflight
proxy-wasm-go-sdk vs spec
proxy-wasm-go-sdk vs proxy-wasm-zig-sdk
proxy-wasm-go-sdk vs proxy-wasm-rust-sdk
proxy-wasm-go-sdk vs proxy-runtime
proxy-wasm-go-sdk vs proxy-wasm-cpp-sdk
proxy-wasm-go-sdk vs nottinygc
proxy-wasm-go-sdk vs ngx_wasm_module
proxy-wasm-go-sdk vs apisix
proxy-wasm-go-sdk vs proximal