Details
-
New Feature
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
Description
Apache APISIX
Apache APISIX is a dynamic, real-time, high-performance API gateway, based on the Nginx library and etcd.
APISIX provides rich traffic management features such as load balancing, dynamic upstream, canary release, circuit breaking, authentication, observability, and more.
You can use Apache APISIX to handle traditional north-south traffic, as well as east-west traffic between services. It can also be used as a k8s ingress controller.
- Background*
OPA (https://www.openpolicyagent.org/) is policy-based control for cloud native environments.
Its rule can be compiled as Wasm code: https://www.openpolicyagent.org/docs/latest/wasm/
And Apache APISIX supports running Wasm code.
Task
1. add opm-wasm support in https://github.com/api7/wasm-nginx-module. It should be parallel as the proxy-wasm support.
2. update https://github.com/apache/apisix/blob/master/apisix/plugins/opa.lua to support loading OPA rules as Wasm.
Relevant Skills
1. Understand Wasm & OPA
2. Have good skills at C & Lua
Targets files
1. https://github.com/apache/apisix/blob/master/apisix/plugins/opa.lua
2. https://github.com/api7/wasm-nginx-module
Mentor
Zexuan Luo, PMC of Apache APISIX