SaaSHub helps you find the best software and product alternatives Learn more →
Top 12 envoyproxy Open-Source Projects
-
kuma
🐻 The multi-zone service mesh for containers, Kubernetes and VMs. Built with Envoy. CNCF Sandbox Project.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
esp-v2
A service proxy that provides API management capabilities using Google Service Infrastructure.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
proximal
WebAssembly dev environment for Envoy Proxy. Iterate on your HTTP/TCP middleware in seconds! (by apoxy-dev)
Project mention: Any new Opensource projects in (go) looking for contributors. I want to start my journey as an OSS contributor. | /r/golang | 2023-05-14https://github.com/kumahq/kuma is an CNCF OSS service mesh for Kubernetes and VMs. We're a control plane on top of Envoy proxy. Very actively developed project, some big adopters in the community, and we've just refreshed all of our Good First Issues.
// 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 }
Project mention: Hardening Apache APISIX with the OWASP's Coraza and Core Ruleset | dev.to | 2024-02-08OWASP also provides Coraza, a port of ModSecurity available as a Go library. Coraza Proxy Wasm is built on top of Coraza and implements the proxy-wasm ABI, which specifies a set of Wasm interfaces for proxies. Finally, Apache APISIX offers proxy-wasm integration.
Project mention: Unlocking Istio's Versatility: A Guide to WASM Plugins in Kubernetes | dev.to | 2023-07-24Rust SDK
Moreover, integrating rate limiting can thwart DDoS attacks, and schema validation can prevent malformed requests, ensuring only legitimate and well-formed traffic reaches your serverless functions. Tools like Amazon API Gateway, Azure API Management, and Google Cloud Endpoints offer these capabilities, allowing you to set up custom authorization workflows and request validation rules that align with your security requirements.
Working example: prakashchokalingam/envoy_ext_auth_grpc_go
envoyproxy related posts
-
Serverless Security Best Practices
-
Serverless dev environment using WebAssembly
-
Unlocking Istio's Versatility: A Guide to WASM Plugins in Kubernetes
-
GCP ESP JWT authentication bypass via `X-HTTP-Method-Override` header
-
GCP ESP JWT authentication bypass via `X-HTTP-Method-Override` header
-
Hardening Drupal with WebAssembly
-
Does Istio's WasmPlugin support proxy_on_grpc_call_close for WASM ABI spec?
-
A note from our sponsor - SaaSHub
www.saashub.com | 3 May 2024
Index
What are some of the best open-source envoyproxy projects? This list will help you:
Project | Stars | |
---|---|---|
1 | kuma | 3,519 |
2 | curiefense | 711 |
3 | proxy-wasm-go-sdk | 661 |
4 | spec | 511 |
5 | proxy-wasm-rust-sdk | 457 |
6 | esp-v2 | 260 |
7 | envoy-preflight | 139 |
8 | seenvoy | 73 |
9 | proximal | 50 |
10 | atlas | 39 |
11 | ambassador-docs | 24 |
12 | envoy_ext_auth_grpc_go | 0 |
Sponsored