Skip to content

Latest commit

 

History

History

plugins

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

Wasm 插件

目前 Higress 提供了 c++ 和 golang 两种 Wasm 插件开发框架,支持 Wasm 插件路由&域名级匹配生效。

同时提供了多个内置插件,用户可以基于 Higress 提供的官方镜像仓库直接使用这些插件(以 c++ 版本举例):

basic-auth:Basic Auth 认证鉴权

key-auth:Key 认证鉴权

hmac-auth:Hmac 认证鉴权

jwt-auth: JWT 认证鉴权

bot-detect:防互联网爬虫

custom-response:自定义应答

key-rate-limit:针对参数的限流

request-block:自定义请求屏蔽

使用方式具体可以参考此 wasm-cpp Plugin文档 ,或 wasm-go Plugin文档 中相关说明。

所有内置插件都已上传至 Higress 的官方镜像仓库:higress-registry.cn-hangzhou.cr.aliyuncs.com/plugins

例如用如下配置使用 request-block 插件 的 1.0.0 版本:

apiVersion: extensions.higress.io/v1alpha1
kind: WasmPlugin
metadata:
  name: request-block
  namespace: higress-system
spec:
  selector:
    matchLabels:
      higress: higress-system-higress-gateway
  defaultConfig:
    block_urls:
    - "swagger.html"
  url: oci://higress-registry.cn-hangzhou.cr.aliyuncs.com/plugins/request-block:1.0.0

贡献 Wasm 插件

如果您想要为 Higress 贡献插件请参考下述说明。

根据你选择的开发语言,将插件代码放到 wasm-cpp/extensions ,或者 wasm-go/extensions 目录下。

除了代码以外,需要额外提供一个 README.md 文件说明插件配置方式,以及 VERSION 文件用于记录插件版本,用作推送镜像时的 tag。

提交 PR 后,我们将评估插件的通用性,并对代码逻辑进行审查,确认无误后,会将插件镜像推送到官方仓库,后面将出现在社区的插件市场中。