Uploaded image for project: 'Community Development'
  1. Community Development
  2. COMDEV-444

Run OPA in Apache APISIX via WASM

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Open
    • Major
    • Resolution: Unresolved
    • GSoC/Mentoring ideas
    • 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

      Attachments

        Activity

          People

            Unassigned Unassigned
            spacewander Zexuan Luo
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: