diff --git a/Dockerfile b/Dockerfile index 7092245..fef6cbe 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # 构建阶段:处理插件和元数据 -FROM python:3.11-alpine AS builder +FROM higress-registry.cn-hangzhou.cr.aliyuncs.com/higress/python:3.11-alpine AS builder # 安装系统依赖 RUN apk add --no-cache \ diff --git a/README.md b/README.md index 9eb4e97..77e7622 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,18 @@ -# plugin-server -http server for higress wasmplugin +# Higress Plugin Server +======= + +HTTP server for Higress Wasm plugins + ## 构建插件服务器镜像并推送 + +### 构建本地架构镜像 + +```bash +docker build -t higress-plugin-server:1.0.0 -f Dockerfile . +``` + +### 构建多架构镜像并推送至仓库 + ```bash docker buildx build \ --platform linux/amd64,linux/arm64 \ @@ -9,10 +21,42 @@ docker buildx build \ --push \ . ``` -## 在 higress-console 中配置插件下载地址 + +## 本地启动插件服务器 + +```bash +docker run -d --name higress-plugin-server --rm -p 8080:8080 higress-plugin-server:1.0.0 +``` + +## 配置插件地址 + +### 在 Higress Console 中配置插件下载地址 + 要满足这一需求,只需要为 Higress Console 容器添加 HIGRESS_ADMIN_WASM_PLUGIN_CUSTOM_IMAGE_URL_PATTERN 环境变量,值为自定义镜像地址的格式模版。模版可以按需使用 ${name} 和 ${version} 作为插件名称和镜像版本的占位符。 -在进行了以下配置后, + +示例: + ```bash HIGRESS_ADMIN_WASM_PLUGIN_CUSTOM_IMAGE_URL_PATTERN=http://higress-plugin-server.higress-system.svc/plugins/${name}/${version}/plugin.wasm ``` + +> `higress-plugin-server.higress-system.svc` 替换为 Higress Gateway 可以用来访问插件服务器的地址。 + Higress Console 针对 key-rate-limit 插件生成的镜像地址将为:http://higress-plugin-server.higress-system.svc/plugins/key-rate-limit/1.0.0/plugin.wasm + +### 修改对接 Nacos 3.x 所生成的 MCP Server 插件地址配置 + +要满足这一需求,只需要为 Higress Controller 容器添加 MCP_SERVER_WASM_IMAGE_URL 环境变量,值为根据自定义镜像地址格式模版生成的 mcp-server 插件地址。 + +示例: + +```bash +MCP_SERVER_WASM_IMAGE_URL=http://higress-plugin-server.higress-system.svc/plugins/mcp-server/1.0.0/plugin.wasm +``` + +> `higress-plugin-server.higress-system.svc` 替换为 Higress Gateway 可以用来访问插件服务器的地址。 + +## 参考文档 + +- 如何修改内置插件镜像地址:https://higress.cn/docs/latest/ops/how-tos/builtin-plugin-url/ +- 如何使用 HTTP/HTTPS 协议加载 Wasm 插件:https://higress.cn/docs/latest/ops/how-tos/load-wasm-with-http/