[GitHub] [apisix] mangoGoForward closed issue #4929: request help: Integration of eureka as discovery registry fail
mangoGoForward closed issue #4929: URL: https://github.com/apache/apisix/issues/4929 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-website] juzhiyuan merged pull request #754: docs: add APISIX support WASM blog
juzhiyuan merged pull request #754: URL: https://github.com/apache/apisix-website/pull/754 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[apisix-website] branch master updated: docs: add APISIX support WASM blog (#754)
This is an automated email from the ASF dual-hosted git repository. juzhiyuan pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/apisix-website.git The following commit(s) were added to refs/heads/master by this push: new c4619d0 docs: add APISIX support WASM blog (#754) c4619d0 is described below commit c4619d0e159c54836817861a22c23a37810c83b4 Author: Sylvia <39793568+sylviab...@users.noreply.github.com> AuthorDate: Fri Nov 19 15:22:04 2021 +0800 docs: add APISIX support WASM blog (#754) --- website/blog/2021/11/19/apisix-support-wasm.md | 183 + .../2021/11/19/apisix-support-wasm.md | 182 2 files changed, 365 insertions(+) diff --git a/website/blog/2021/11/19/apisix-support-wasm.md b/website/blog/2021/11/19/apisix-support-wasm.md new file mode 100644 index 000..bddba8c --- /dev/null +++ b/website/blog/2021/11/19/apisix-support-wasm.md @@ -0,0 +1,183 @@ +--- +title: "Apache APISIX embraces the WASM ecosystem" +author: "Zexuan Luo" +authorURL: "https://github.com/spacewander"; +authorImageURL: "https://avatars.githubusercontent.com/u/4161644?v=4"; +keywords: +- Apache APISIX +- WASM +- WebAssembly +- Ecosystem +- Plugin +description: Support for WASM will be added in the upcoming Apache APISIX version (2.11.0)! By reading this article you will learn how Apache APISIX deploys the support and development of this feature from 0 to 1. +tags: [Technology] +--- + +> Support for WASM will be added in the upcoming Apache APISIX version (2.11.0)! By reading this article you will learn how Apache APISIX deploys the support and development of this feature from 0 to 1. + + + +In the upcoming release of Apache APISIX 2.11.0, we will add support for WASM! You can develop plugins in WASM, Lua, Java, Go, Python, JavaScript with Apache APISIX 2.11.0. + +![Support WASM](https://static.apiseven.com/202108/1637289637179-ab74d38f-acd4-4401-908f-e1d310a33583.png) + +WASM, known as [WebAssembly](https://webassembly.org/), differs from the specific programming language runtimes mentioned above, is a set of bytecode standards specifically designed to be used nested in a host environment. +If a programming language provides the ability to compile to WASM bytecode, applications written in that language can be compiled to WASM bytecode and run in some WASM-enabled host environment. + +Doesn't it sound like you can run any application like an operating system as long as the host environment supports WASM? + +But there is a limitation here. Just like an operating system needs to implement a specific standard syscall, in order to run a specific application, you need to implement the API required for that application. + +Take JavaScript for example, although it is also JavaScript code, JS modules written for browsers can't be used directly in npm packages, because the APIs are different. + +So just putting WASM into Apache APISIX doesn't work. To allow developers to run WASM on Apache APISIX, we also need to provide a special API. + +## Why Proxy WASM + +We weighed two options on how to provide this API. + +1. Implement the corresponding WASM version of the API by referring to the lua-nginx-module interface +2. Implement Proxy WASM as a set of standards + +[Proxy WASM](https://github.com/proxy-wasm/spec) is Envoy's WASM API standard. So the above question is really equivalent to, do we make our own API standard or do we reuse Envoy's existing standard? + +> The WASM API standard can be broken down into two aspects: +1. Host, which is responsible for providing the implementation of the API +2. SDK, which is responsible for implementing a set of glue layers in a different programming language in order to call the provided APIs in that language + +If we follow Envoy's standards, the advantage is that we can reuse Envoy's existing WASM SDK (Proxy WASM SDK), while the disadvantage is that this set of standards is developed by Envoy in conjunction with its own situation, and if we follow the implementation, tailoring it to meet our own demands is difficult. + +After some community discussion, we finally decided to adopt the Proxy WASM standard. "Doing the hard and right thing" is naturally the hard thing to do, but we believe it is the right thing to do, and through community collaboration and building together, we can build a more prosperous ecosystem. + +## How to use WASM in Apache APISIX + +Apache APISIX now has initial support for WASM, which can be used to write parts of the fault-injection plugin. You can try it in Apache APISIX 2.11.0 at the end of this month, so stay tuned! + +In the following, we will talk about how to use WASM to inject custom responses in conjunction with [proxy-wasm-go-sdk](https://github.com/tetratelabs/proxy-wasm-go-sdk/). + +### Step 1: Write code based on proxy-wasm-go-sdk + +The implementation code (including go.mod and others) can be found at [here](https:
[GitHub] [apisix-dashboard] ltt1987 commented on issue #2219: Add sub_path support when dashboard under a subdirectory via nginx reverse proxy.
ltt1987 commented on issue #2219: URL: https://github.com/apache/apisix-dashboard/issues/2219#issuecomment-973813617 > BTW, @ltt1987 I recommend using English here 😄 For we have many contributors and users who speak English and other languages 😄 Sorry for that, I'm not good at english. I have added English content, but I still keep Chinese in order to avoid wrong description. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] tzssangglass opened a new pull request #5558: fix: ignore changes of /apisix/plugins/
tzssangglass opened a new pull request #5558: URL: https://github.com/apache/apisix/pull/5558 Signed-off-by: tzssangglass ### What this PR does / why we need it: changes of /apisix/plugins/ in etcd would make chaos with plugin loading, only the init_etcd phase actually modifies this key, but this key should be ignored. ### Pre-submission checklist: * [x] Did you explain what problem does this PR solve? Or what new features have been added? * [x] Have you added corresponding test cases? * [ ] Have you modified the corresponding document? * [x] Is this PR backward compatible? **If it is not backward compatible, please discuss on the [mailing list](https://github.com/apache/apisix/tree/master#community) first** -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] zhanghaichang closed issue #5557: request help: centos7无法安装
zhanghaichang closed issue #5557: URL: https://github.com/apache/apisix/issues/5557 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-ingress-controller] neverCase commented on pull request #694: feat: init ApisixPluginConfig crd #4 (#638)
neverCase commented on pull request #694: URL: https://github.com/apache/apisix-ingress-controller/pull/694#issuecomment-973810404 - [x] Add ApisixPluginConfig custom resource. Only need to modify YAML. - [x] Add ApisixPluginConfig data structures. - [ ] Add client implementation to interact with Apache APISIX. - [ ] Add ApisixPluginConfig translator, it can convert ApisixPluginConfig data structure into APISIX. - [ ] Add ApisixPluginConfig controller loop, It watches the ApisixPluginConfig resource in the Kubernetes cluster and converts it to the ApisixPluginConfig data structure. - [ ] Add docs to describe it. I will add client implementation to interact with Apache APISIX later. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] zhanghaichang commented on issue #5557: request help: centos7无法安装
zhanghaichang commented on issue #5557: URL: https://github.com/apache/apisix/issues/5557#issuecomment-973807593 yum info -y apisix -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] zhanghaichang opened a new issue #5557: request help: centos7无法安装
zhanghaichang opened a new issue #5557: URL: https://github.com/apache/apisix/issues/5557 ### Issue description failure: repodata/repomd.xml from repos.apiseven.com_packages_centos_apache-apisix.re: [Errno 256] No more mirrors to try. https://repos.apiseven.com/packages/centos/apache-apisix.re/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found ### Environment - apisix version (cmd: `apisix version`): - OS (cmd: `uname -a`): - OpenResty / Nginx version (cmd: `nginx -V` or `openresty -V`): - etcd version, if have (cmd: run `curl http://127.0.0.1:9090/v1/server_info` to get the info from server-info API): - apisix-dashboard version, if have: - the plugin runner version, if the issue is about a plugin runner (cmd: depended on the kind of runner): - luarocks version, if the issue is about installation (cmd: `luarocks --version`): -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] loongzh commented on issue #5440: request help: the connection established by the Websocket proxy client will be automatically disconnected by the server in about 5 seconds
loongzh commented on issue #5440: URL: https://github.com/apache/apisix/issues/5440#issuecomment-973803128 The problem has been solved by the new method of heartbeat, but it is not an ideal way. Directly using the Nginx proxy will not cause the service to actively disconnect the client connection. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] Xunzhuo opened a new pull request #5553: feat(plugin): add custom rejected_code support in request-validation
Xunzhuo opened a new pull request #5553: URL: https://github.com/apache/apisix/pull/5553 ### What this PR does / why we need it: ### Pre-submission checklist: * [ ] Did you explain what problem does this PR solve? Or what new features have been added? * [ ] Have you added corresponding test cases? * [ ] Have you modified the corresponding document? * [ ] Is this PR backward compatible? **If it is not backward compatible, please discuss on the [mailing list](https://github.com/apache/apisix/tree/master#community) first** -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] spacewander commented on a change in pull request #5518: feat: add Apache OpenWhisk plugin
spacewander commented on a change in pull request #5518: URL: https://github.com/apache/apisix/pull/5518#discussion_r752894265 ## File path: apisix/plugins/openwhisk.lua ## @@ -0,0 +1,121 @@ +-- +-- Licensed to the Apache Software Foundation (ASF) under one or more +-- contributor license agreements. See the NOTICE file distributed with +-- this work for additional information regarding copyright ownership. +-- The ASF licenses this file to You under the Apache License, Version 2.0 +-- (the "License"); you may not use this file except in compliance with +-- the License. You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- + +local core = require("apisix.core") +local http = require("resty.http") +local ngx_encode_base64 = ngx.encode_base64 +local tostring = tostring + +local schema = { +type = "object", +properties = { +api_host = {type = "string"}, +ssl_verify = { +type = "boolean", +default = true, +}, +service_token = {type = "string"}, +namespace = {type = "string"}, +action = {type = "string"}, +result = { +type = "boolean", +default = true, +}, +timeout = { +type = "integer", +minimum = 1000, +maximum = 6, Review comment: Can you add your discovery as a comment? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] spacewander commented on a change in pull request #5518: feat: add Apache OpenWhisk plugin
spacewander commented on a change in pull request #5518: URL: https://github.com/apache/apisix/pull/5518#discussion_r752893905 ## File path: conf/config-default.yaml ## @@ -338,6 +338,7 @@ plugins: # plugin list (sorted by priority) - traffic-split # priority: 966 - redirect # priority: 900 - response-rewrite # priority: 899 + - openwhisk # priority: 601 Review comment: `-1901`. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-dashboard] zaunist edited a comment on issue #2205: dos format shell
zaunist edited a comment on issue #2205: URL: https://github.com/apache/apisix-dashboard/issues/2205#issuecomment-973650984 Yeah, maybe some one edit this file in Windows. And there is a tool `dos2unix` can fix this issue. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] bzp2010 commented on a change in pull request #5518: feat: add Apache OpenWhisk plugin
bzp2010 commented on a change in pull request #5518: URL: https://github.com/apache/apisix/pull/5518#discussion_r752881465 ## File path: apisix/plugins/openwhisk.lua ## @@ -0,0 +1,121 @@ +-- +-- Licensed to the Apache Software Foundation (ASF) under one or more +-- contributor license agreements. See the NOTICE file distributed with +-- this work for additional information regarding copyright ownership. +-- The ASF licenses this file to You under the Apache License, Version 2.0 +-- (the "License"); you may not use this file except in compliance with +-- the License. You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- + +local core = require("apisix.core") +local http = require("resty.http") +local ngx_encode_base64 = ngx.encode_base64 +local tostring = tostring + +local schema = { +type = "object", +properties = { +api_host = {type = "string"}, +ssl_verify = { +type = "boolean", +default = true, +}, +service_token = {type = "string"}, +namespace = {type = "string"}, +action = {type = "string"}, +result = { +type = "boolean", +default = true, +}, +timeout = { +type = "integer", +minimum = 1000, +maximum = 6, +default = 3000, +description = "timeout in milliseconds", +}, +keepalive = {type = "boolean", default = true}, +keepalive_timeout = {type = "integer", minimum = 1000, default = 6}, +keepalive_pool = {type = "integer", minimum = 1, default = 5} +}, +required = {"api_host", "service_token", "namespace", "action"} +} + + +local _M = { +version = 0.1, +priority = 601, +name = "openwhisk-serverless", +schema = schema, +} + + +function _M.check_schema(conf) +local ok, err = core.schema.check(schema, conf) +if not ok then +return false, err +end + +return true +end + + +function _M.access(conf, ctx) +if core.request.get_method() == "POST" then +if core.request.header(ctx, "Content-Type") ~= "application/json" then +core.log.error("only support json request body") +return 400, "only support json request body" +end +end + +local params = { +method = "POST", +body = core.request.get_body(), Review comment: A reminder about the maximum request body size limit is currently written in the lua comments and documentation respectively. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] bzp2010 commented on a change in pull request #5518: feat: add Apache OpenWhisk plugin
bzp2010 commented on a change in pull request #5518: URL: https://github.com/apache/apisix/pull/5518#discussion_r752881207 ## File path: apisix/plugins/openwhisk.lua ## @@ -0,0 +1,121 @@ +-- +-- Licensed to the Apache Software Foundation (ASF) under one or more +-- contributor license agreements. See the NOTICE file distributed with +-- this work for additional information regarding copyright ownership. +-- The ASF licenses this file to You under the Apache License, Version 2.0 +-- (the "License"); you may not use this file except in compliance with +-- the License. You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- + +local core = require("apisix.core") +local http = require("resty.http") +local ngx_encode_base64 = ngx.encode_base64 +local tostring = tostring + +local schema = { +type = "object", +properties = { +api_host = {type = "string"}, +ssl_verify = { +type = "boolean", +default = true, +}, +service_token = {type = "string"}, +namespace = {type = "string"}, +action = {type = "string"}, +result = { +type = "boolean", +default = true, +}, +timeout = { +type = "integer", +minimum = 1000, +maximum = 6, +default = 3000, +description = "timeout in milliseconds", +}, +keepalive = {type = "boolean", default = true}, +keepalive_timeout = {type = "integer", minimum = 1000, default = 6}, +keepalive_pool = {type = "integer", minimum = 1, default = 5} +}, +required = {"api_host", "service_token", "namespace", "action"} +} + + +local _M = { +version = 0.1, +priority = 601, +name = "openwhisk-serverless", +schema = schema, +} + + +function _M.check_schema(conf) +local ok, err = core.schema.check(schema, conf) +if not ok then +return false, err +end + +return true +end + + +function _M.access(conf, ctx) +if core.request.get_method() == "POST" then +if core.request.header(ctx, "Content-Type") ~= "application/json" then +core.log.error("only support json request body") +return 400, "only support json request body" +end +end + +local params = { +method = "POST", +body = core.request.get_body(), Review comment: A reminder about the maximum request body size limit is currently written in the lua comments and documentation respectively. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-website] yzeng25 commented on a change in pull request #754: docs: add APISIX support WASM blog
yzeng25 commented on a change in pull request #754: URL: https://github.com/apache/apisix-website/pull/754#discussion_r752879199 ## File path: website/i18n/zh/docusaurus-plugin-content-blog/2021/11/19/apisix-support-wasm.md ## @@ -0,0 +1,182 @@ +--- +title: "重磅功能!Apache APISIX 拥抱 WASM 生态" +author: "罗泽轩" +authorURL: "https://github.com/spacewander"; +authorImageURL: "https://avatars.githubusercontent.com/u/4161644?v=4"; +keywords: +- Apache APISIX +- WASM +- WebAssembly +- 生态 +- 插件 +description: 在即将发布的 Apache APISIX 版本(2.11.0)中将会新增对于 WASM 的支持!通过阅读本文你将了解到 Apache APISIX 如何从0到1部署这项功能的支持与开发。 +tags: [Technology] +--- + +> 在即将发布的 Apache APISIX 版本(2.11.0)中将会新增对于 WASM 的支持!通过阅读本文你将了解到 Apache APISIX 如何从0到1部署这项功能的支持与开发。 + + + +在即将发布的 Apache APISIX 版本(2.11.0)中,我们新增了对于 WASM 的支持!现在开发者除了可以使用 Lua、Java、Go、Python、JavaScript 等多种编程语言开发 APISIX 的插件之外,也可以用 WASM 来开发插件。 + +![拥抱 WASM 生态](https://static.apiseven.com/202108/1637289637179-ab74d38f-acd4-4401-908f-e1d310a33583.png) + +WASM 全称 [WebAssembly](https://webassembly.org/),与上述具体编程语言运行时的不同之处在于,它是一套字节码标准,专门设计成可以在宿主环境中嵌套使用。 + +如果某种编程语言提供编译成 WASM 字节码的功能,就可以把该语言的应用编译成 WASM 字节码,运行在某个支持 WASM 的宿主环境中。 + +听起来,是不是只要某个宿主环境支持 WASM,就能像操作系统一样运行任意应用呢? + +但其实这里有个限制,就像操作系统需要实现特定标准的 syscall 一样,要想运行特定的应用,也需要实现该应用所需的 API。 + +以 JavaScript 为例,虽然同样是 JavaScript 代码,但是针对浏览器写的 JS 模块不能直接用在 npm 包里面,因为两个的 API 不一样。 + +所以仅仅把 WASM 放到 Apache APISIX 里面并行不通,要想让开发者在 Apache APISIX 上运行 WASM,我们还需要提供一套专门的 API。 + +## 为什么选择 Proxy WASM + +对于如何提供这套 API,我们曾经权衡过两套方案: + +1. 参考 lua-nginx-module 的接口,实现对应的 WASM 版 API +2. 实现 Proxy WASM 这一套标准 + +[Proxy WASM](https://github.com/proxy-wasm/spec) 是 Envoy 的 WASM API 标准。所以上述问题其实等价于,我们是自己搞一套 API 标准还是复用 Envoy 已有标准呢? + +> WASM API 标准可以拆成两个方面来看: +1. Host,负责提供 API 的实现 +2. SDK,要想在不同的编程语言里面调用提供的 API,需要使用该语言来实现一套胶水层 + +如果我们遵循 Envoy 的标准,优势在于可以复用 Envoy 现有的 WASM SDK(Proxy WASM SDK),而不足之处在于这套标准是 Envoy 结合自己情况制定的,如果我们跟着实现,没有自己量身定制那么轻松。 + +经过社区的讨论后,我们最终决定采用 Proxy WASM 标准。「做难且正确的事」,实现 Proxy WASM 自然是难的事,但我们相信这是正确的事,通过社区的合作和共建,可以构建更加繁荣的生态。 + +## 如何在 Apache APISIX 中使用 WASM + +Apache APISIX 目前已初步支持 WASM,可以使用 WASM 来编写 fault-injection 插件的部分功能。感兴趣的读者可以在本月底的 Apache APISIX 2.11.0 版本中尝尝鲜,敬请期待! + +下面我们将结合 [proxy-wasm-go-sdk](https://github.com/tetratelabs/proxy-wasm-go-sdk/) 来讲讲怎么用 WASM 实现注入自定义响应的功能。 + +### 步骤一:基于 proxy-wasm-go-sdk 编写代码 + +实现代码(包含 `go.mod` 和其他)具体细节可[点击此处](https://github.com/apache/apisix/tree/master/t/wasm)查阅。 + +这里需要解释下,虽然 proxy-wasm-go-sdk 这个项目带了 Go 的名字,但它其实用的是 tinygo 而不是原生的 Go。因为原生的 Go 在支持 WASI (你可以认为它是非浏览器的 WASM 运行时接口)时会有一些问题,详情可[点击此处](https://github.com/tetratelabs/proxy-wasm-go-sdk/blob/main/doc/OVERVIEW.md#tinygo-vs-the-official-go-compiler)查阅。 + +### 步骤二:构建对应的 WASM 文件 + +```shell +tinygo build -o ./fault-injection/main.go.wasm -scheduler=none -target=wasi ./fault-injection/main.go +``` + +### 步骤三:在 Apache APISIX 的 `config.yaml` 引用该文件 + +```yaml +apisix: +... +wasm: +plugins: +- name: wasm_fault_injection + priority: 7997 + file: t/wasm/fault-injection/main.go.wasm +``` + +通过以上操作,你可以像用 Lua 插件一样用这个 WASM 插件,比如: + +```yaml +uri: "/wasm" +plugins: + wasm_fault_injection: +conf: '{"body":"hello world", "http_status":200}' +upstream: + type: roundrobin + nodes: +127.0.0.1:1980: 1 +``` + +注意 WASM 插件的配置都是 conf 字段下面的一条字符串,由对应的插件自己去做解析。 + +## 横向测评——条条大道通罗马 + +Apache APISIX 发展到现在,已经有三种编写插件的方式: + +1. 原生的 Lua way,跑在 APISIX 里面 +2. 多种语言的外部插件 runner,插件逻辑跑在 APISIX 外面 +3. 把多种语言编译成 WASM,依然跑在 APISIX 里面 + +![APISIX 生态支持](https://static.apiseven.com/202108/1637289637159-f2fd1f09-4be6-4cd4-88a0-9c3a23c4f405.png) + +这三种方式在诸如生态、成熟度等各个方面都差异很大。正巧我们都可以用它们来实现 fault-injection,所以可以比比看。 + +### 步骤一:配置路由 + +Lua way 的 fault-injection,自然是使用内置的 fault-injection 插件。Runner way 的 fault-injection 实现具体可[点击此处](https://github.com/apache/apisix-go-plugin-runner/blob/master/cmd/go-runner/plugins/fault_injection.go)查阅。 + +接下来让我们分别给它们配置不同的路由: + +```yaml +--- +uri: "/wasm" +plugins: + wasm_fault_injection: +conf: '{"body":"hello world", "http_status":200}' +upstream: + type: roundrobin + nodes: +127.0.0.1:1980: 1 +--- +plugins: + ext-plugin-pre-req: +conf: +- name: fault-injection + value: '{"body":"hello world", "http_status":200}' +upstream: + nodes: +127.0.0.1:1980: 1 + type: roundrobin +uri: /ext-plugin +--- +plugins: + fault-injection: +abort: + body: hello world + http_status: 200 +upstream: + nodes: +127.0.0.1:1980: 1 + type: roundrobin +uri: /fault-injection +``` + +### 步骤二:实际压测 + +接下来试着用 wrk 压一下,具体数据对比如下: Review comment: ```suggestion 接下来试着用 wrk 进行压测,具体数据对比如下: ``` ## File path: website/i18n/zh/docusaurus-plugin-content-blog/2021/11/19/apisix-support-wasm.md ## @@ -0,0 +1,182 @@ +--- +title: "重磅功能!Apache APISIX 拥抱 WASM 生态" +author: "罗泽轩" +authorURL: "https://github.com/spacewander"; +authorImageURL: "https://avatars.githubusercontent.com/u/4161644?v=4"; +keywords: +- Apache APISIX +- WASM +- WebAssembly +- 生态 +- 插件 +description: 在即将发布的 Apache APISIX
[GitHub] [apisix] bzp2010 commented on a change in pull request #5518: feat: add Apache OpenWhisk plugin
bzp2010 commented on a change in pull request #5518: URL: https://github.com/apache/apisix/pull/5518#discussion_r752876154 ## File path: t/plugin/openwhisk.t ## @@ -0,0 +1,209 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +use t::APISIX 'no_plan'; + +repeat_each(1); +no_long_string(); +no_root_location(); Review comment: Yes, it can help us reduce duplicate code. However, can we support this default setting globally instead of adding our own block processor in each `.t` file. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] bzp2010 commented on a change in pull request #5518: feat: add Apache OpenWhisk plugin
bzp2010 commented on a change in pull request #5518: URL: https://github.com/apache/apisix/pull/5518#discussion_r752875266 ## File path: apisix/plugins/openwhisk.lua ## @@ -0,0 +1,121 @@ +-- +-- Licensed to the Apache Software Foundation (ASF) under one or more +-- contributor license agreements. See the NOTICE file distributed with +-- this work for additional information regarding copyright ownership. +-- The ASF licenses this file to You under the Apache License, Version 2.0 +-- (the "License"); you may not use this file except in compliance with +-- the License. You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- + +local core = require("apisix.core") +local http = require("resty.http") +local ngx_encode_base64 = ngx.encode_base64 +local tostring = tostring + +local schema = { +type = "object", +properties = { +api_host = {type = "string"}, +ssl_verify = { +type = "boolean", +default = true, +}, +service_token = {type = "string"}, +namespace = {type = "string"}, +action = {type = "string"}, +result = { +type = "boolean", +default = true, +}, +timeout = { +type = "integer", +minimum = 1000, +maximum = 6, Review comment: It may not be able to complete the request within a maximum of 3000ms due to the need to download the runtime images or pull up a new service container. In addition, this timeout time acts on both HTTP requests from APISIX to OpenWhisk traffic entry and OpenWhisk internal action execution time consumption, if set to a lower value, it will cause all requests to fail. BTW, the OpenWhisk‘s timeout support 1ms minimum, the range is 1ms - 6ms. This is defined by OpenWhisk. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] bzp2010 commented on a change in pull request #5518: feat: add Apache OpenWhisk plugin
bzp2010 commented on a change in pull request #5518: URL: https://github.com/apache/apisix/pull/5518#discussion_r752873327 ## File path: conf/config-default.yaml ## @@ -338,6 +338,7 @@ plugins: # plugin list (sorted by priority) - traffic-split # priority: 966 - redirect # priority: 900 - response-rewrite # priority: 899 + - openwhisk # priority: 601 Review comment: Should I use the same `-1900` priority or add one `-1901`? Because they have similar functions and should not be enabled at the same time. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] bzp2010 commented on a change in pull request #5518: feat: add Apache OpenWhisk plugin
bzp2010 commented on a change in pull request #5518: URL: https://github.com/apache/apisix/pull/5518#discussion_r752872095 ## File path: apisix/plugins/openwhisk.lua ## @@ -0,0 +1,121 @@ +-- +-- Licensed to the Apache Software Foundation (ASF) under one or more +-- contributor license agreements. See the NOTICE file distributed with +-- this work for additional information regarding copyright ownership. +-- The ASF licenses this file to You under the Apache License, Version 2.0 +-- (the "License"); you may not use this file except in compliance with +-- the License. You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- + +local core = require("apisix.core") +local http = require("resty.http") +local ngx_encode_base64 = ngx.encode_base64 +local tostring = tostring + +local schema = { +type = "object", +properties = { +api_host = {type = "string"}, +ssl_verify = { +type = "boolean", +default = true, +}, +service_token = {type = "string"}, +namespace = {type = "string"}, +action = {type = "string"}, +result = { +type = "boolean", +default = true, +}, +timeout = { +type = "integer", +minimum = 1000, +maximum = 6, +default = 3000, +description = "timeout in milliseconds", +}, +keepalive = {type = "boolean", default = true}, +keepalive_timeout = {type = "integer", minimum = 1000, default = 6}, +keepalive_pool = {type = "integer", minimum = 1, default = 5} +}, +required = {"api_host", "service_token", "namespace", "action"} +} + + +local _M = { +version = 0.1, +priority = 601, +name = "openwhisk-serverless", +schema = schema, +} + + +function _M.check_schema(conf) +local ok, err = core.schema.check(schema, conf) +if not ok then +return false, err +end + +return true +end + + +function _M.access(conf, ctx) +if core.request.get_method() == "POST" then +if core.request.header(ctx, "Content-Type") ~= "application/json" then +core.log.error("only support json request body") +return 400, "only support json request body" +end +end + +local params = { +method = "POST", +body = core.request.get_body(), +query = { +blocking = "true", +result = tostring(conf.result), +timeout = conf.timeout +}, +headers = { +["Authorization"] = "Basic " .. ngx_encode_base64(conf.service_token), +["Content-Type"] = "application/json", +}, +keepalive = conf.keepalive, +ssl_verify = conf.ssl_verify +} + +if conf.keepalive then +params.keepalive_timeout = conf.keepalive_timeout +params.keepalive_pool = conf.keepalive_pool +end + +-- OpenWhisk action endpoint +local endpoint = conf.api_host .. "/api/v1/namespaces/" .. conf.namespace .. +"/actions/" .. conf.action + +local httpc = http.new() +httpc:set_timeout(conf.timeout) + +local res, err = httpc:request_uri(endpoint, params) + +if not res or err then +core.log.error("failed to process openwhisk action, err: ", err) +return 503, "failed to process openwhisk action, err: " .. err Review comment: fixed -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] bzp2010 commented on a change in pull request #5518: feat: add Apache OpenWhisk plugin
bzp2010 commented on a change in pull request #5518: URL: https://github.com/apache/apisix/pull/5518#discussion_r752871909 ## File path: apisix/plugins/openwhisk.lua ## @@ -0,0 +1,121 @@ +-- +-- Licensed to the Apache Software Foundation (ASF) under one or more +-- contributor license agreements. See the NOTICE file distributed with +-- this work for additional information regarding copyright ownership. +-- The ASF licenses this file to You under the Apache License, Version 2.0 +-- (the "License"); you may not use this file except in compliance with +-- the License. You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- + +local core = require("apisix.core") +local http = require("resty.http") +local ngx_encode_base64 = ngx.encode_base64 +local tostring = tostring + +local schema = { +type = "object", +properties = { +api_host = {type = "string"}, +ssl_verify = { +type = "boolean", +default = true, +}, +service_token = {type = "string"}, +namespace = {type = "string"}, +action = {type = "string"}, +result = { +type = "boolean", +default = true, +}, +timeout = { +type = "integer", +minimum = 1000, +maximum = 6, +default = 3000, +description = "timeout in milliseconds", +}, +keepalive = {type = "boolean", default = true}, +keepalive_timeout = {type = "integer", minimum = 1000, default = 6}, +keepalive_pool = {type = "integer", minimum = 1, default = 5} +}, +required = {"api_host", "service_token", "namespace", "action"} +} + + +local _M = { +version = 0.1, +priority = 601, +name = "openwhisk-serverless", +schema = schema, +} + + +function _M.check_schema(conf) +local ok, err = core.schema.check(schema, conf) +if not ok then +return false, err +end + +return true +end + + +function _M.access(conf, ctx) +if core.request.get_method() == "POST" then +if core.request.header(ctx, "Content-Type") ~= "application/json" then +core.log.error("only support json request body") +return 400, "only support json request body" Review comment: fixed -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] bzp2010 commented on a change in pull request #5518: feat: add Apache OpenWhisk plugin
bzp2010 commented on a change in pull request #5518: URL: https://github.com/apache/apisix/pull/5518#discussion_r752871761 ## File path: apisix/plugins/openwhisk.lua ## @@ -0,0 +1,121 @@ +-- +-- Licensed to the Apache Software Foundation (ASF) under one or more +-- contributor license agreements. See the NOTICE file distributed with +-- this work for additional information regarding copyright ownership. +-- The ASF licenses this file to You under the Apache License, Version 2.0 +-- (the "License"); you may not use this file except in compliance with +-- the License. You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- + +local core = require("apisix.core") +local http = require("resty.http") +local ngx_encode_base64 = ngx.encode_base64 +local tostring = tostring + +local schema = { +type = "object", +properties = { +api_host = {type = "string"}, +ssl_verify = { +type = "boolean", +default = true, +}, +service_token = {type = "string"}, +namespace = {type = "string"}, +action = {type = "string"}, +result = { +type = "boolean", +default = true, +}, +timeout = { +type = "integer", +minimum = 1000, +maximum = 6, +default = 3000, +description = "timeout in milliseconds", +}, +keepalive = {type = "boolean", default = true}, +keepalive_timeout = {type = "integer", minimum = 1000, default = 6}, +keepalive_pool = {type = "integer", minimum = 1, default = 5} +}, +required = {"api_host", "service_token", "namespace", "action"} +} + + +local _M = { +version = 0.1, +priority = 601, +name = "openwhisk-serverless", +schema = schema, +} + + +function _M.check_schema(conf) +local ok, err = core.schema.check(schema, conf) +if not ok then +return false, err +end + +return true +end + + +function _M.access(conf, ctx) +if core.request.get_method() == "POST" then +if core.request.header(ctx, "Content-Type") ~= "application/json" then +core.log.error("only support json request body") +return 400, "only support json request body" +end +end + +local params = { +method = "POST", +body = core.request.get_body(), +query = { +blocking = "true", +result = tostring(conf.result), +timeout = conf.timeout +}, +headers = { +["Authorization"] = "Basic " .. ngx_encode_base64(conf.service_token), +["Content-Type"] = "application/json", +}, +keepalive = conf.keepalive, +ssl_verify = conf.ssl_verify +} + +if conf.keepalive then +params.keepalive_timeout = conf.keepalive_timeout +params.keepalive_pool = conf.keepalive_pool +end + +-- OpenWhisk action endpoint +local endpoint = conf.api_host .. "/api/v1/namespaces/" .. conf.namespace .. +"/actions/" .. conf.action + +local httpc = http.new() +httpc:set_timeout(conf.timeout) + +local res, err = httpc:request_uri(endpoint, params) + +if not res or err then +core.log.error("failed to process openwhisk action, err: ", err) +return 503, "failed to process openwhisk action, err: " .. err Review comment: fixed -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] bzp2010 commented on a change in pull request #5518: feat: add Apache OpenWhisk plugin
bzp2010 commented on a change in pull request #5518: URL: https://github.com/apache/apisix/pull/5518#discussion_r752871761 ## File path: apisix/plugins/openwhisk.lua ## @@ -0,0 +1,121 @@ +-- +-- Licensed to the Apache Software Foundation (ASF) under one or more +-- contributor license agreements. See the NOTICE file distributed with +-- this work for additional information regarding copyright ownership. +-- The ASF licenses this file to You under the Apache License, Version 2.0 +-- (the "License"); you may not use this file except in compliance with +-- the License. You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- + +local core = require("apisix.core") +local http = require("resty.http") +local ngx_encode_base64 = ngx.encode_base64 +local tostring = tostring + +local schema = { +type = "object", +properties = { +api_host = {type = "string"}, +ssl_verify = { +type = "boolean", +default = true, +}, +service_token = {type = "string"}, +namespace = {type = "string"}, +action = {type = "string"}, +result = { +type = "boolean", +default = true, +}, +timeout = { +type = "integer", +minimum = 1000, +maximum = 6, +default = 3000, +description = "timeout in milliseconds", +}, +keepalive = {type = "boolean", default = true}, +keepalive_timeout = {type = "integer", minimum = 1000, default = 6}, +keepalive_pool = {type = "integer", minimum = 1, default = 5} +}, +required = {"api_host", "service_token", "namespace", "action"} +} + + +local _M = { +version = 0.1, +priority = 601, +name = "openwhisk-serverless", +schema = schema, +} + + +function _M.check_schema(conf) +local ok, err = core.schema.check(schema, conf) +if not ok then +return false, err +end + +return true +end + + +function _M.access(conf, ctx) +if core.request.get_method() == "POST" then +if core.request.header(ctx, "Content-Type") ~= "application/json" then +core.log.error("only support json request body") +return 400, "only support json request body" +end +end + +local params = { +method = "POST", +body = core.request.get_body(), +query = { +blocking = "true", +result = tostring(conf.result), +timeout = conf.timeout +}, +headers = { +["Authorization"] = "Basic " .. ngx_encode_base64(conf.service_token), +["Content-Type"] = "application/json", +}, +keepalive = conf.keepalive, +ssl_verify = conf.ssl_verify +} + +if conf.keepalive then +params.keepalive_timeout = conf.keepalive_timeout +params.keepalive_pool = conf.keepalive_pool +end + +-- OpenWhisk action endpoint +local endpoint = conf.api_host .. "/api/v1/namespaces/" .. conf.namespace .. +"/actions/" .. conf.action + +local httpc = http.new() +httpc:set_timeout(conf.timeout) + +local res, err = httpc:request_uri(endpoint, params) + +if not res or err then +core.log.error("failed to process openwhisk action, err: ", err) +return 503, "failed to process openwhisk action, err: " .. err Review comment: fix done -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] bzp2010 commented on a change in pull request #5518: feat: add Apache OpenWhisk plugin
bzp2010 commented on a change in pull request #5518: URL: https://github.com/apache/apisix/pull/5518#discussion_r752871486 ## File path: apisix/plugins/openwhisk.lua ## @@ -0,0 +1,121 @@ +-- +-- Licensed to the Apache Software Foundation (ASF) under one or more +-- contributor license agreements. See the NOTICE file distributed with +-- this work for additional information regarding copyright ownership. +-- The ASF licenses this file to You under the Apache License, Version 2.0 +-- (the "License"); you may not use this file except in compliance with +-- the License. You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- + +local core = require("apisix.core") +local http = require("resty.http") +local ngx_encode_base64 = ngx.encode_base64 +local tostring = tostring + +local schema = { +type = "object", +properties = { +api_host = {type = "string"}, +ssl_verify = { +type = "boolean", +default = true, +}, +service_token = {type = "string"}, +namespace = {type = "string"}, +action = {type = "string"}, +result = { +type = "boolean", +default = true, +}, +timeout = { +type = "integer", +minimum = 1000, +maximum = 6, +default = 3000, +description = "timeout in milliseconds", +}, +keepalive = {type = "boolean", default = true}, +keepalive_timeout = {type = "integer", minimum = 1000, default = 6}, +keepalive_pool = {type = "integer", minimum = 1, default = 5} +}, +required = {"api_host", "service_token", "namespace", "action"} +} + + +local _M = { +version = 0.1, +priority = 601, +name = "openwhisk-serverless", +schema = schema, +} + + +function _M.check_schema(conf) +local ok, err = core.schema.check(schema, conf) +if not ok then +return false, err +end + +return true +end + + +function _M.access(conf, ctx) +if core.request.get_method() == "POST" then +if core.request.header(ctx, "Content-Type") ~= "application/json" then +core.log.error("only support json request body") +return 400, "only support json request body" +end +end + +local params = { +method = "POST", +body = core.request.get_body(), +query = { +blocking = "true", +result = tostring(conf.result), +timeout = conf.timeout +}, +headers = { +["Authorization"] = "Basic " .. ngx_encode_base64(conf.service_token), +["Content-Type"] = "application/json", +}, +keepalive = conf.keepalive, +ssl_verify = conf.ssl_verify +} + +if conf.keepalive then +params.keepalive_timeout = conf.keepalive_timeout +params.keepalive_pool = conf.keepalive_pool +end + +-- OpenWhisk action endpoint +local endpoint = conf.api_host .. "/api/v1/namespaces/" .. conf.namespace .. Review comment: I remember that previous tests showed that `..` is faster compared to `concat`. 🤔 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] bzp2010 commented on a change in pull request #5518: feat: add Apache OpenWhisk plugin
bzp2010 commented on a change in pull request #5518: URL: https://github.com/apache/apisix/pull/5518#discussion_r752871486 ## File path: apisix/plugins/openwhisk.lua ## @@ -0,0 +1,121 @@ +-- +-- Licensed to the Apache Software Foundation (ASF) under one or more +-- contributor license agreements. See the NOTICE file distributed with +-- this work for additional information regarding copyright ownership. +-- The ASF licenses this file to You under the Apache License, Version 2.0 +-- (the "License"); you may not use this file except in compliance with +-- the License. You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- + +local core = require("apisix.core") +local http = require("resty.http") +local ngx_encode_base64 = ngx.encode_base64 +local tostring = tostring + +local schema = { +type = "object", +properties = { +api_host = {type = "string"}, +ssl_verify = { +type = "boolean", +default = true, +}, +service_token = {type = "string"}, +namespace = {type = "string"}, +action = {type = "string"}, +result = { +type = "boolean", +default = true, +}, +timeout = { +type = "integer", +minimum = 1000, +maximum = 6, +default = 3000, +description = "timeout in milliseconds", +}, +keepalive = {type = "boolean", default = true}, +keepalive_timeout = {type = "integer", minimum = 1000, default = 6}, +keepalive_pool = {type = "integer", minimum = 1, default = 5} +}, +required = {"api_host", "service_token", "namespace", "action"} +} + + +local _M = { +version = 0.1, +priority = 601, +name = "openwhisk-serverless", +schema = schema, +} + + +function _M.check_schema(conf) +local ok, err = core.schema.check(schema, conf) +if not ok then +return false, err +end + +return true +end + + +function _M.access(conf, ctx) +if core.request.get_method() == "POST" then +if core.request.header(ctx, "Content-Type") ~= "application/json" then +core.log.error("only support json request body") +return 400, "only support json request body" +end +end + +local params = { +method = "POST", +body = core.request.get_body(), +query = { +blocking = "true", +result = tostring(conf.result), +timeout = conf.timeout +}, +headers = { +["Authorization"] = "Basic " .. ngx_encode_base64(conf.service_token), +["Content-Type"] = "application/json", +}, +keepalive = conf.keepalive, +ssl_verify = conf.ssl_verify +} + +if conf.keepalive then +params.keepalive_timeout = conf.keepalive_timeout +params.keepalive_pool = conf.keepalive_pool +end + +-- OpenWhisk action endpoint +local endpoint = conf.api_host .. "/api/v1/namespaces/" .. conf.namespace .. Review comment: I remember that previous tests showed that `..` is faster compared to `concat`. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] bzp2010 commented on a change in pull request #5518: feat: add Apache OpenWhisk plugin
bzp2010 commented on a change in pull request #5518: URL: https://github.com/apache/apisix/pull/5518#discussion_r752870690 ## File path: apisix/plugins/openwhisk.lua ## @@ -0,0 +1,121 @@ +-- +-- Licensed to the Apache Software Foundation (ASF) under one or more +-- contributor license agreements. See the NOTICE file distributed with +-- this work for additional information regarding copyright ownership. +-- The ASF licenses this file to You under the Apache License, Version 2.0 +-- (the "License"); you may not use this file except in compliance with +-- the License. You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- + +local core = require("apisix.core") +local http = require("resty.http") +local ngx_encode_base64 = ngx.encode_base64 +local tostring = tostring + +local schema = { +type = "object", +properties = { +api_host = {type = "string"}, +ssl_verify = { +type = "boolean", +default = true, +}, +service_token = {type = "string"}, +namespace = {type = "string"}, +action = {type = "string"}, +result = { +type = "boolean", +default = true, +}, +timeout = { +type = "integer", +minimum = 1000, +maximum = 6, +default = 3000, +description = "timeout in milliseconds", +}, +keepalive = {type = "boolean", default = true}, +keepalive_timeout = {type = "integer", minimum = 1000, default = 6}, +keepalive_pool = {type = "integer", minimum = 1, default = 5} +}, +required = {"api_host", "service_token", "namespace", "action"} +} + + +local _M = { +version = 0.1, +priority = 601, +name = "openwhisk-serverless", +schema = schema, +} + + +function _M.check_schema(conf) +local ok, err = core.schema.check(schema, conf) +if not ok then +return false, err +end + +return true +end + + +function _M.access(conf, ctx) +if core.request.get_method() == "POST" then Review comment: done -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] bzp2010 commented on a change in pull request #5518: feat: add Apache OpenWhisk plugin
bzp2010 commented on a change in pull request #5518: URL: https://github.com/apache/apisix/pull/5518#discussion_r752870623 ## File path: apisix/plugins/openwhisk.lua ## @@ -0,0 +1,121 @@ +-- +-- Licensed to the Apache Software Foundation (ASF) under one or more +-- contributor license agreements. See the NOTICE file distributed with +-- this work for additional information regarding copyright ownership. +-- The ASF licenses this file to You under the Apache License, Version 2.0 +-- (the "License"); you may not use this file except in compliance with +-- the License. You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- + +local core = require("apisix.core") +local http = require("resty.http") +local ngx_encode_base64 = ngx.encode_base64 +local tostring = tostring + +local schema = { +type = "object", +properties = { +api_host = {type = "string"}, +ssl_verify = { +type = "boolean", +default = true, +}, +service_token = {type = "string"}, +namespace = {type = "string"}, +action = {type = "string"}, +result = { +type = "boolean", +default = true, +}, +timeout = { +type = "integer", +minimum = 1000, +maximum = 6, +default = 3000, +description = "timeout in milliseconds", +}, +keepalive = {type = "boolean", default = true}, +keepalive_timeout = {type = "integer", minimum = 1000, default = 6}, +keepalive_pool = {type = "integer", minimum = 1, default = 5} +}, +required = {"api_host", "service_token", "namespace", "action"} +} + + +local _M = { +version = 0.1, +priority = 601, +name = "openwhisk-serverless", +schema = schema, +} + + +function _M.check_schema(conf) +local ok, err = core.schema.check(schema, conf) +if not ok then +return false, err +end + +return true +end + + +function _M.access(conf, ctx) +if core.request.get_method() == "POST" then Review comment: I think it is better to detect the request body except for GET requests. I will modify the logic and test here. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-dashboard] liuxiran merged pull request #2208: fix: login page description link
liuxiran merged pull request #2208: URL: https://github.com/apache/apisix-dashboard/pull/2208 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-dashboard] liuxiran closed issue #2206: Login page "How to update username/password?" The jump address is inaccurate.
liuxiran closed issue #2206: URL: https://github.com/apache/apisix-dashboard/issues/2206 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[apisix-dashboard] branch master updated: fix: login page description link (#2208)
This is an automated email from the ASF dual-hosted git repository. liuxiran pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/apisix-dashboard.git The following commit(s) were added to refs/heads/master by this push: new 54b8f3a fix: login page description link (#2208) 54b8f3a is described below commit 54b8f3a0bcd2593c86536bf183b649001eccb642 Author: ansonzhang <3143422...@qq.com> AuthorDate: Fri Nov 19 12:27:42 2021 +0800 fix: login page description link (#2208) --- web/src/pages/User/components/LoginMethodPassword.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/src/pages/User/components/LoginMethodPassword.tsx b/web/src/pages/User/components/LoginMethodPassword.tsx index dda2e5b..3729324 100644 --- a/web/src/pages/User/components/LoginMethodPassword.tsx +++ b/web/src/pages/User/components/LoginMethodPassword.tsx @@ -73,7 +73,7 @@ const LoginMethodPassword: UserModule.LoginMethod = { title={formatMessage({ id: 'component.user.loginMethodPassword.modificationMethod' })} > https://github.com/apache/apisix-dashboard/blob/master/api/conf/conf.yaml#L53-L57"; + href="https://github.com/apache/apisix-dashboard/blob/master/api/conf/conf.yaml#L70-L75"; target="_blank" > {formatMessage({ id: 'component.user.loginMethodPassword.changeDefaultAccount' })}
[GitHub] [apisix-dashboard] juzhiyuan commented on issue #2219: 添加当反向代理dashboard时,自定义子路径的支持
juzhiyuan commented on issue #2219: URL: https://github.com/apache/apisix-dashboard/issues/2219#issuecomment-973714758 BTW, @ltt1987 I recommend using English here 😄 For we have many contributors and users who speak English and other languages 😄 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-dashboard] juzhiyuan commented on issue #2219: 添加当反向代理dashboard时,自定义子路径的支持
juzhiyuan commented on issue #2219: URL: https://github.com/apache/apisix-dashboard/issues/2219#issuecomment-973713176 Not sure if it's supported with Apache APISIX 🤔 @tzssangglass could you please have a check? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-ingress-controller] nic-6443 commented on pull request #755: feat: support https and grpcs as upstream scheme as well as mTLS mode
nic-6443 commented on pull request #755: URL: https://github.com/apache/apisix-ingress-controller/pull/755#issuecomment-973711217 > ping @nic-6443 any update? I'll be working on this PR this weekend, it's a busy week :) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-website] SylviaBABY opened a new pull request #754: docs: add APISIX support WASM blog
SylviaBABY opened a new pull request #754: URL: https://github.com/apache/apisix-website/pull/754 Changes: add APISIX support WASM blog -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] spacewander commented on issue #5410: bug: enable dubbo proxy ,start apisix occur error
spacewander commented on issue #5410: URL: https://github.com/apache/apisix/issues/5410#issuecomment-973707072 Closed as lack of response. Feel free to reopen it if need. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] spacewander closed issue #5410: bug: enable dubbo proxy ,start apisix occur error
spacewander closed issue #5410: URL: https://github.com/apache/apisix/issues/5410 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] spacewander commented on issue #5437: how to change prometheus plugins listen ip to 0.0.0.0
spacewander commented on issue #5437: URL: https://github.com/apache/apisix/issues/5437#issuecomment-973705304 Closed as lack of response. Feel free to reopen it if need. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] spacewander closed issue #5437: how to change prometheus plugins listen ip to 0.0.0.0
spacewander closed issue #5437: URL: https://github.com/apache/apisix/issues/5437 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] spacewander closed issue #5418: can use ip:port access ?
spacewander closed issue #5418: URL: https://github.com/apache/apisix/issues/5418 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] spacewander commented on issue #5418: can use ip:port access ?
spacewander commented on issue #5418: URL: https://github.com/apache/apisix/issues/5418#issuecomment-973705542 Closed as lack of response. Feel free to reopen it if need. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] spacewander closed issue #5448: apisix etcd tls ca error
spacewander closed issue #5448: URL: https://github.com/apache/apisix/issues/5448 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] spacewander commented on issue #5448: apisix etcd tls ca error
spacewander commented on issue #5448: URL: https://github.com/apache/apisix/issues/5448#issuecomment-973705202 Closed as lack of response. Feel free to reopen it if need. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] spacewander commented on issue #5453: request help: proxy-cache plugin, why the cache expiration time cannot be configured dynamically?
spacewander commented on issue #5453: URL: https://github.com/apache/apisix/issues/5453#issuecomment-973704509 When I worked in a CDN vendor, I made the proxy_cache_valid time/proxy_cache_ignore_header configurable via Lua. It requires modifying the Nginx itself. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-ingress-controller] tao12345666333 commented on pull request #755: feat: support https and grpcs as upstream scheme as well as mTLS mode
tao12345666333 commented on pull request #755: URL: https://github.com/apache/apisix-ingress-controller/pull/755#issuecomment-973704048 ping @nic-6443 any update? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] spacewander closed issue #5470: bug: get http 400 status when using standalone mode with host contains underline
spacewander closed issue #5470: URL: https://github.com/apache/apisix/issues/5470 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] spacewander commented on issue #5470: bug: get http 400 status when using standalone mode with host contains underline
spacewander commented on issue #5470: URL: https://github.com/apache/apisix/issues/5470#issuecomment-973703492 Consider solved. Feel free to reopen it if need. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] spacewander closed issue #5357: request help: Could Apache APISIX process traffic control with tcp/ip protocol?
spacewander closed issue #5357: URL: https://github.com/apache/apisix/issues/5357 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] spacewander commented on issue #5357: request help: Could Apache APISIX process traffic control with tcp/ip protocol?
spacewander commented on issue #5357: URL: https://github.com/apache/apisix/issues/5357#issuecomment-973703418 Consider solved. Feel free to reopen it if need. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-ingress-controller] neverCase commented on issue #638: proposal: Add CRD ApisixPluginConfig support plugin configs
neverCase commented on issue #638: URL: https://github.com/apache/apisix-ingress-controller/issues/638#issuecomment-973700793 @tao12345666333 @shelltea Actually, I have time to fix this, but I need more help. I'm willing to contribute my codes. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] jagerzhang edited a comment on issue #5551: request help: support advanced matching based on POST JSON Body
jagerzhang edited a comment on issue #5551: URL: https://github.com/apache/apisix/issues/5551#issuecomment-973700250 > See https://github.com/apache/apisix/blob/master/docs/en/latest/router-radixtree.md#how-to-filter-route-by-post-form-attributes. 上一个issue #5399 里面讨论了下,好像这个特性不支持 application/json 里面的内容匹配,看代码写的是Content-Type = application/x-www-form-urlencoded -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] jagerzhang commented on issue #5551: request help: support advanced matching based on POST JSON Body
jagerzhang commented on issue #5551: URL: https://github.com/apache/apisix/issues/5551#issuecomment-973700250 > See https://github.com/apache/apisix/blob/master/docs/en/latest/router-radixtree.md#how-to-filter-route-by-post-form-attributes. 上一个issue里面讨论了下,好像这个特性不支持 application/json 里面的内容匹配,看代码写的是Content-Type = application/x-www-form-urlencoded -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-ingress-controller] shelltea commented on issue #638: proposal: Add CRD ApisixPluginConfig support plugin configs
shelltea commented on issue #638: URL: https://github.com/apache/apisix-ingress-controller/issues/638#issuecomment-973699291 @tao12345666333 Thanks! @neverCase Hi, Do you have time to complete this feature recently? We really need this feature. 😀 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-website] SylviaBABY closed pull request #753: docs: add APISIX support WASM blog
SylviaBABY closed pull request #753: URL: https://github.com/apache/apisix-website/pull/753 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-website] SylviaBABY opened a new pull request #753: docs: add APISIX support WASM blog
SylviaBABY opened a new pull request #753: URL: https://github.com/apache/apisix-website/pull/753 Changes: add APISIX support WASM blog -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-ingress-controller] tao12345666333 commented on issue #387: Add test cases to verify CRD schemas
tao12345666333 commented on issue #387: URL: https://github.com/apache/apisix-ingress-controller/issues/387#issuecomment-973684522 At present, we have upgraded the CRD version to v1 API, which uses openAPIV3Schema mandatory verification. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-ingress-controller] tao12345666333 commented on issue #638: proposal: Add CRD ApisixPluginConfig support plugin configs
tao12345666333 commented on issue #638: URL: https://github.com/apache/apisix-ingress-controller/issues/638#issuecomment-973683759 @shelltea you can check #694 and #689 If @neverCase has time to complete this feature, we can include it in 1.4. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-ingress-controller] shelltea commented on issue #638: proposal: Add CRD ApisixPluginConfig support plugin configs
shelltea commented on issue #638: URL: https://github.com/apache/apisix-ingress-controller/issues/638#issuecomment-973682317 @tao12345666333 Hi, Can this feature be released in version 1.4.0? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-dashboard] ltt1987 opened a new issue #2219: 添加当反向代理dashboard时,自定义子路径的支持
ltt1987 opened a new issue #2219: URL: https://github.com/apache/apisix-dashboard/issues/2219 # Feature request 当前如需反向代理到apisix dashboard,只能进行根目录的代理,如果指定 http://host/dashboard/ 的二级目录进行代理,代理后dashboard 中的静态资源路径、请求的api接口路径,均为根路径(src="/favicon.png")的引用,期望的地址应该是二级目录(src="/dashboard/favicon.png")地址。 ## Describe the solution you'd like 建议增加可指定子路径的功能,类似pgAdmin中,通过增加添加自定义Header X-Script-Name 来指定目录。 ## Additional context > pgAdmin 实现方式的参考:If you wish to host pgAdmin under a subdirectory rather than on the root of the server, you must specify the location and set the X-Script-Name header which tells the pgAdmin container how to rewrite paths: ``` server { listen 80; server_name _; location /pgadmin4/ { proxy_set_header X-Script-Name /pgadmin4; proxy_set_header Host $host; proxy_pass http://localhost:5050/; proxy_redirect off; } } ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] juzhiyuan closed issue #5549: bug: cannot install Apache APISIX by RPM
juzhiyuan closed issue #5549: URL: https://github.com/apache/apisix/issues/5549 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] juzhiyuan edited a comment on issue #5549: bug: cannot install Apache APISIX by RPM
juzhiyuan edited a comment on issue #5549: URL: https://github.com/apache/apisix/issues/5549#issuecomment-973675337 It works! Do we have some ways to prevent from this happening again? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] juzhiyuan commented on issue #5549: bug: cannot install Apache APISIX by RPM
juzhiyuan commented on issue #5549: URL: https://github.com/apache/apisix/issues/5549#issuecomment-973675337 It works! How do we prevent from this happening again? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[apisix] branch master updated: feat(plugin): azure serverless functions (#5479)
This is an automated email from the ASF dual-hosted git repository. membphis pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/apisix.git The following commit(s) were added to refs/heads/master by this push: new 3a6a4db feat(plugin): azure serverless functions (#5479) 3a6a4db is described below commit 3a6a4db281658e5b9b832332a62e2893f0e57280 Author: Bisakh AuthorDate: Fri Nov 19 08:01:20 2021 +0530 feat(plugin): azure serverless functions (#5479) Co-authored-by: 罗泽轩 --- apisix/plugins/azure-functions.lua| 137 +++ conf/config-default.yaml | 1 + docs/en/latest/config.json| 3 +- docs/en/latest/plugins/azure-functions.md | 140 +++ t/admin/plugins.t | 2 +- t/lib/test_admin.lua | 6 +- t/plugin/azure-functions.t| 377 ++ 7 files changed, 661 insertions(+), 5 deletions(-) diff --git a/apisix/plugins/azure-functions.lua b/apisix/plugins/azure-functions.lua new file mode 100644 index 000..1597f2a --- /dev/null +++ b/apisix/plugins/azure-functions.lua @@ -0,0 +1,137 @@ +-- +-- Licensed to the Apache Software Foundation (ASF) under one or more +-- contributor license agreements. See the NOTICE file distributed with +-- this work for additional information regarding copyright ownership. +-- The ASF licenses this file to You under the Apache License, Version 2.0 +-- (the "License"); you may not use this file except in compliance with +-- the License. You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. + +local core = require("apisix.core") +local http = require("resty.http") +local plugin = require("apisix.plugin") +local ngx = ngx +local plugin_name = "azure-functions" + +local schema = { +type = "object", +properties = { +function_uri = {type = "string"}, +authorization = { +type = "object", +properties = { +apikey = {type = "string"}, +clientid = {type = "string"} +} +}, +timeout = {type = "integer", minimum = 100, default = 3000}, +ssl_verify = {type = "boolean", default = true}, +keepalive = {type = "boolean", default = true}, +keepalive_timeout = {type = "integer", minimum = 1000, default = 6}, +keepalive_pool = {type = "integer", minimum = 1, default = 5} +}, +required = {"function_uri"} +} + +local metadata_schema = { +type = "object", +properties = { +master_apikey = {type = "string", default = ""}, +master_clientid = {type = "string", default = ""} +} +} + +local _M = { +version = 0.1, +priority = -1900, +name = plugin_name, +schema = schema, +metadata_schema = metadata_schema +} + +function _M.check_schema(conf, schema_type) +if schema_type == core.schema.TYPE_METADATA then +return core.schema.check(metadata_schema, conf) +end +return core.schema.check(schema, conf) +end + +function _M.access(conf, ctx) +local uri_args = core.request.get_uri_args(ctx) +local headers = core.request.headers(ctx) or {} +local req_body, err = core.request.get_body() + +if err then +core.log.error("error while reading request body: ", err) +return 400 +end + +-- set authorization headers if not already set by the client +-- we are following not to overwrite the authz keys +if not headers["x-functions-key"] and +not headers["x-functions-clientid"] then +if conf.authorization then +headers["x-functions-key"] = conf.authorization.apikey +headers["x-functions-clientid"] = conf.authorization.clientid +else +-- If neither api keys are set with the client request nor inside the plugin attributes +-- plugin will fallback to the master key (if any) present inside the metadata. +local metadata = plugin.plugin_metadata(plugin_name) +if metadata then +headers["x-functions-key"] = metadata.value.master_apikey +headers["x-functions-clientid"] = metadata.value.master_clientid +end +end +end + +headers["host"] = nil +local params = { +method = ngx.req.get_method(), +body = req_body, +query = uri_args, +headers = headers, +keepalive = conf.keepalive, +ssl_verify = conf.ssl_verify +} + +-- Keepalive options +if conf.keepalive then +params.keepalive_timeout = conf.
[GitHub] [apisix] membphis merged pull request #5479: feat(plugin): azure serverless functions
membphis merged pull request #5479: URL: https://github.com/apache/apisix/pull/5479 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] spacewander opened a new pull request #5552: docs(kafka-logger): explain when the request body can't be logged
spacewander opened a new pull request #5552: URL: https://github.com/apache/apisix/pull/5552 Signed-off-by: spacewander ### What this PR does / why we need it: ### Pre-submission checklist: * [x] Did you explain what problem does this PR solve? Or what new features have been added? * [ ] Have you added corresponding test cases? * [x] Have you modified the corresponding document? * [ ] Is this PR backward compatible? **If it is not backward compatible, please discuss on the [mailing list](https://github.com/apache/apisix/tree/master#community) first** -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] bzp2010 commented on a change in pull request #5518: feat: add Apache OpenWhisk plugin
bzp2010 commented on a change in pull request #5518: URL: https://github.com/apache/apisix/pull/5518#discussion_r752814233 ## File path: apisix/plugins/openwhisk.lua ## @@ -0,0 +1,121 @@ +-- +-- Licensed to the Apache Software Foundation (ASF) under one or more +-- contributor license agreements. See the NOTICE file distributed with +-- this work for additional information regarding copyright ownership. +-- The ASF licenses this file to You under the Apache License, Version 2.0 +-- (the "License"); you may not use this file except in compliance with +-- the License. You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- + +local core = require("apisix.core") +local http = require("resty.http") +local ngx_encode_base64 = ngx.encode_base64 +local tostring = tostring + +local schema = { +type = "object", +properties = { +api_host = {type = "string"}, +ssl_verify = { +type = "boolean", +default = true, +}, +service_token = {type = "string"}, +namespace = {type = "string"}, +action = {type = "string"}, +result = { +type = "boolean", +default = true, +}, +timeout = { +type = "integer", +minimum = 1000, +maximum = 6, +default = 3000, +description = "timeout in milliseconds", +}, +keepalive = {type = "boolean", default = true}, +keepalive_timeout = {type = "integer", minimum = 1000, default = 6}, +keepalive_pool = {type = "integer", minimum = 1, default = 5} +}, +required = {"api_host", "service_token", "namespace", "action"} +} + + +local _M = { +version = 0.1, +priority = 601, +name = "openwhisk-serverless", +schema = schema, +} + + +function _M.check_schema(conf) +local ok, err = core.schema.check(schema, conf) +if not ok then +return false, err +end + +return true +end + + +function _M.access(conf, ctx) +if core.request.get_method() == "POST" then +if core.request.header(ctx, "Content-Type") ~= "application/json" then +core.log.error("only support json request body") +return 400, "only support json request body" Review comment: Get it -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] spacewander commented on a change in pull request #5518: feat: add Apache OpenWhisk plugin
spacewander commented on a change in pull request #5518: URL: https://github.com/apache/apisix/pull/5518#discussion_r752807561 ## File path: apisix/plugins/openwhisk.lua ## @@ -0,0 +1,121 @@ +-- +-- Licensed to the Apache Software Foundation (ASF) under one or more +-- contributor license agreements. See the NOTICE file distributed with +-- this work for additional information regarding copyright ownership. +-- The ASF licenses this file to You under the Apache License, Version 2.0 +-- (the "License"); you may not use this file except in compliance with +-- the License. You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- + +local core = require("apisix.core") +local http = require("resty.http") +local ngx_encode_base64 = ngx.encode_base64 +local tostring = tostring + +local schema = { +type = "object", +properties = { +api_host = {type = "string"}, +ssl_verify = { +type = "boolean", +default = true, +}, +service_token = {type = "string"}, +namespace = {type = "string"}, +action = {type = "string"}, +result = { +type = "boolean", +default = true, +}, +timeout = { +type = "integer", +minimum = 1000, +maximum = 6, +default = 3000, +description = "timeout in milliseconds", +}, +keepalive = {type = "boolean", default = true}, +keepalive_timeout = {type = "integer", minimum = 1000, default = 6}, +keepalive_pool = {type = "integer", minimum = 1, default = 5} +}, +required = {"api_host", "service_token", "namespace", "action"} +} + + +local _M = { +version = 0.1, +priority = 601, +name = "openwhisk-serverless", +schema = schema, +} + + +function _M.check_schema(conf) +local ok, err = core.schema.check(schema, conf) +if not ok then +return false, err +end + +return true +end + + +function _M.access(conf, ctx) +if core.request.get_method() == "POST" then Review comment: We should check the method to exclude GET? Or is there a special rule for PUT? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] tokers commented on issue #5551: request help: support advanced matching based on POST JSON Body
tokers commented on issue #5551: URL: https://github.com/apache/apisix/issues/5551#issuecomment-973655130 See https://github.com/apache/apisix/blob/master/docs/en/latest/router-radixtree.md#how-to-filter-route-by-post-form-attributes. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] tokers commented on a change in pull request #5518: feat: add Apache OpenWhisk plugin
tokers commented on a change in pull request #5518: URL: https://github.com/apache/apisix/pull/5518#discussion_r752805163 ## File path: apisix/plugins/openwhisk.lua ## @@ -0,0 +1,121 @@ +-- +-- Licensed to the Apache Software Foundation (ASF) under one or more +-- contributor license agreements. See the NOTICE file distributed with +-- this work for additional information regarding copyright ownership. +-- The ASF licenses this file to You under the Apache License, Version 2.0 +-- (the "License"); you may not use this file except in compliance with +-- the License. You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- + +local core = require("apisix.core") +local http = require("resty.http") +local ngx_encode_base64 = ngx.encode_base64 +local tostring = tostring + +local schema = { +type = "object", +properties = { +api_host = {type = "string"}, +ssl_verify = { +type = "boolean", +default = true, +}, +service_token = {type = "string"}, +namespace = {type = "string"}, +action = {type = "string"}, +result = { +type = "boolean", +default = true, +}, +timeout = { +type = "integer", +minimum = 1000, +maximum = 6, +default = 3000, +description = "timeout in milliseconds", +}, +keepalive = {type = "boolean", default = true}, +keepalive_timeout = {type = "integer", minimum = 1000, default = 6}, +keepalive_pool = {type = "integer", minimum = 1, default = 5} +}, +required = {"api_host", "service_token", "namespace", "action"} +} + + +local _M = { +version = 0.1, +priority = 601, +name = "openwhisk-serverless", +schema = schema, +} + + +function _M.check_schema(conf) +local ok, err = core.schema.check(schema, conf) +if not ok then +return false, err +end + +return true +end + + +function _M.access(conf, ctx) +if core.request.get_method() == "POST" then +if core.request.header(ctx, "Content-Type") ~= "application/json" then +core.log.error("only support json request body") +return 400, "only support json request body" Review comment: `415` code is used to describe this scenario: See https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/415. ## File path: apisix/plugins/openwhisk.lua ## @@ -0,0 +1,121 @@ +-- +-- Licensed to the Apache Software Foundation (ASF) under one or more +-- contributor license agreements. See the NOTICE file distributed with +-- this work for additional information regarding copyright ownership. +-- The ASF licenses this file to You under the Apache License, Version 2.0 +-- (the "License"); you may not use this file except in compliance with +-- the License. You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- + +local core = require("apisix.core") +local http = require("resty.http") +local ngx_encode_base64 = ngx.encode_base64 +local tostring = tostring + +local schema = { +type = "object", +properties = { +api_host = {type = "string"}, +ssl_verify = { +type = "boolean", +default = true, +}, +service_token = {type = "string"}, +namespace = {type = "string"}, +action = {type = "string"}, +result = { +type = "boolean", +default = true, +}, +timeout = { +type = "integer", +minimum = 1000, +maximum = 6, +default = 3000, +description = "timeout in milliseconds", +}, +keepalive = {type = "boolean", default = true}, +keepalive_timeout = {type = "integer", minimum = 1000, default = 6}, +keepalive_pool = {type = "integer", minimum = 1, default = 5} +}, +required = {"api_host", "service_token", "namespace", "action"} +} + + +local _M = { +version = 0.1, +priority = 601, +name = "openwhisk-serverless", +schema = schema, +} + + +function _M.check_schema(conf) +local ok, err = core.schema.
[GitHub] [apisix] jagerzhang opened a new issue #5551: request help: support advanced matching based on POST JSON Body
jagerzhang opened a new issue #5551: URL: https://github.com/apache/apisix/issues/5551 ### Issue description 类似issue:https://github.com/apache/apisix/issues/5399 希望可以在路由高级参数匹配中支持下POST Body里面的参数匹配。目前我们是通过写serverless-pre来实现的,代码如下: ``` function(vars) local core = require ('apisix.core') local body, err = core.request.get_body() if not body then return false end local data, err = core.json.decode(body) if not data then return false end -- 当匹配 body 里面 foo 字段等于 bar 的时候,路由生效 if data['foo'] == 'bar' then return true end return false end ``` 希望可以直接支持下这个特性~~ ### Environment - apisix version (cmd: `apisix version`): - OS (cmd: `uname -a`): - OpenResty / Nginx version (cmd: `nginx -V` or `openresty -V`): - etcd version, if have (cmd: run `curl http://127.0.0.1:9090/v1/server_info` to get the info from server-info API): - apisix-dashboard version, if have: - the plugin runner version, if the issue is about a plugin runner (cmd: depended on the kind of runner): - luarocks version, if the issue is about installation (cmd: `luarocks --version`): -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] spacewander commented on a change in pull request #5518: feat: add Apache OpenWhisk plugin
spacewander commented on a change in pull request #5518: URL: https://github.com/apache/apisix/pull/5518#discussion_r752804236 ## File path: t/plugin/openwhisk.t ## @@ -0,0 +1,209 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +use t::APISIX 'no_plan'; + +repeat_each(1); +no_long_string(); +no_root_location(); Review comment: New test file should contain https://github.com/apache/apisix/blob/1018576e30477a9d1e70710386aac998a68acc68/t/wasm/route.t#L31 to reduce repeated fields. ## File path: apisix/plugins/openwhisk.lua ## @@ -0,0 +1,121 @@ +-- +-- Licensed to the Apache Software Foundation (ASF) under one or more +-- contributor license agreements. See the NOTICE file distributed with +-- this work for additional information regarding copyright ownership. +-- The ASF licenses this file to You under the Apache License, Version 2.0 +-- (the "License"); you may not use this file except in compliance with +-- the License. You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- + +local core = require("apisix.core") +local http = require("resty.http") +local ngx_encode_base64 = ngx.encode_base64 +local tostring = tostring + +local schema = { +type = "object", +properties = { +api_host = {type = "string"}, +ssl_verify = { +type = "boolean", +default = true, +}, +service_token = {type = "string"}, +namespace = {type = "string"}, +action = {type = "string"}, +result = { +type = "boolean", +default = true, +}, +timeout = { +type = "integer", +minimum = 1000, +maximum = 6, +default = 3000, +description = "timeout in milliseconds", +}, +keepalive = {type = "boolean", default = true}, +keepalive_timeout = {type = "integer", minimum = 1000, default = 6}, +keepalive_pool = {type = "integer", minimum = 1, default = 5} +}, +required = {"api_host", "service_token", "namespace", "action"} +} + + +local _M = { +version = 0.1, +priority = 601, +name = "openwhisk-serverless", +schema = schema, +} + + +function _M.check_schema(conf) +local ok, err = core.schema.check(schema, conf) +if not ok then +return false, err +end + +return true +end + + +function _M.access(conf, ctx) +if core.request.get_method() == "POST" then +if core.request.header(ctx, "Content-Type") ~= "application/json" then +core.log.error("only support json request body") +return 400, "only support json request body" +end +end + +local params = { +method = "POST", +body = core.request.get_body(), +query = { +blocking = "true", +result = tostring(conf.result), +timeout = conf.timeout +}, +headers = { +["Authorization"] = "Basic " .. ngx_encode_base64(conf.service_token), +["Content-Type"] = "application/json", +}, +keepalive = conf.keepalive, +ssl_verify = conf.ssl_verify +} + +if conf.keepalive then +params.keepalive_timeout = conf.keepalive_timeout +params.keepalive_pool = conf.keepalive_pool +end + +-- OpenWhisk action endpoint +local endpoint = conf.api_host .. "/api/v1/namespaces/" .. conf.namespace .. +"/actions/" .. conf.action + +local httpc = http.new() +httpc:set_timeout(conf.timeout) + +local res, err = httpc:request_uri(endpoint, params) + +if not res or err then +core.log.error("failed to process openwhisk action, err: ", err) +return 503, "failed to process openwhisk action, err: " .. err Review comment: See https://github.com/ap
[GitHub] [apisix-ingress-controller] codecov-commenter edited a comment on pull request #760: fix: If resource synchronization retry occurs, other events of the same resource will be blocked.
codecov-commenter edited a comment on pull request #760: URL: https://github.com/apache/apisix-ingress-controller/pull/760#issuecomment-973613349 # [Codecov](https://codecov.io/gh/apache/apisix-ingress-controller/pull/760?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) Report > Merging [#760](https://codecov.io/gh/apache/apisix-ingress-controller/pull/760?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (2751876) into [master](https://codecov.io/gh/apache/apisix-ingress-controller/commit/4a862e206602ae9c7ac534fdfd9a557748b9ad26?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (4a862e2) will **not change** coverage. > The diff coverage is `0.00%`. [![Impacted file tree graph](https://codecov.io/gh/apache/apisix-ingress-controller/pull/760/graphs/tree.svg?width=650&height=150&src=pr&token=WPLQXPY3V0&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)](https://codecov.io/gh/apache/apisix-ingress-controller/pull/760?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) ```diff @@ Coverage Diff @@ ## master #760 +/- ## === Coverage 31.70% 31.70% === Files 66 66 Lines6640 6640 === Hits 2105 2105 Misses 4280 4280 Partials 255 255 ``` | [Impacted Files](https://codecov.io/gh/apache/apisix-ingress-controller/pull/760?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | Coverage Δ | | |---|---|---| | [pkg/ingress/apisix\_cluster\_config.go](https://codecov.io/gh/apache/apisix-ingress-controller/pull/760/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGtnL2luZ3Jlc3MvYXBpc2l4X2NsdXN0ZXJfY29uZmlnLmdv) | `0.00% <0.00%> (ø)` | | | [pkg/ingress/apisix\_consumer.go](https://codecov.io/gh/apache/apisix-ingress-controller/pull/760/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGtnL2luZ3Jlc3MvYXBpc2l4X2NvbnN1bWVyLmdv) | `0.00% <0.00%> (ø)` | | | [pkg/ingress/apisix\_route.go](https://codecov.io/gh/apache/apisix-ingress-controller/pull/760/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGtnL2luZ3Jlc3MvYXBpc2l4X3JvdXRlLmdv) | `0.00% <0.00%> (ø)` | | | [pkg/ingress/apisix\_tls.go](https://codecov.io/gh/apache/apisix-ingress-controller/pull/760/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGtnL2luZ3Jlc3MvYXBpc2l4X3Rscy5nbw==) | `0.00% <0.00%> (ø)` | | | [pkg/ingress/apisix\_upstream.go](https://codecov.io/gh/apache/apisix-ingress-controller/pull/760/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGtnL2luZ3Jlc3MvYXBpc2l4X3Vwc3RyZWFtLmdv) | `0.00% <0.00%> (ø)` | | | [pkg/ingress/endpoint.go](https://codecov.io/gh/apache/apisix-ingress-controller/pull/760/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGtnL2luZ3Jlc3MvZW5kcG9pbnQuZ28=) | `0.00% <0.00%> (ø)` | | | [pkg/ingress/endpointslice.go](https://codecov.io/gh/apache/apisix-ingress-controller/pull/760/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGtnL2luZ3Jlc3MvZW5kcG9pbnRzbGljZS5nbw==) | `0.00% <0.00%> (ø)` | | | [pkg/ingress/ingress.go](https://codecov.io/gh/apache/apisix-ingress-controller/pull/760/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGtnL2luZ3Jlc3MvaW5ncmVzcy5nbw==) | `8.29% <0.00%> (ø)` | | | [pkg/ingress/namespace.go](https://codecov.io/gh/apache/apisix-ingress-controller/pull/760/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGtnL2luZ3Jlc3MvbmFtZXNwYWNlLmdv
[GitHub] [apisix-dashboard] zaunist commented on issue #2205: dos format shell
zaunist commented on issue #2205: URL: https://github.com/apache/apisix-dashboard/issues/2205#issuecomment-973650984 Yeah, maybe some one edit this file in Windos. And there is a tool `dos2unix` can fix this issue. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] imjoey commented on issue #5549: bug: cannot install Apache APISIX by RPM
imjoey commented on issue #5549: URL: https://github.com/apache/apisix/issues/5549#issuecomment-973647492 @juzhiyuan thanks for reporting. There's something wrong with the repo metadata. The problem has been fixed and please retry. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] spacewander commented on a change in pull request #5550: feat: support to log response body
spacewander commented on a change in pull request #5550: URL: https://github.com/apache/apisix/pull/5550#discussion_r752796481 ## File path: apisix/plugins/http-logger.lua ## @@ -44,6 +44,7 @@ local schema = { inactive_timeout = {type = "integer", minimum = 1, default = 5}, batch_max_size = {type = "integer", minimum = 1, default = 1000}, include_req_body = {type = "boolean", default = false}, +include_resp_body = {type = "boolean", default = false}, Review comment: It would be better to use `include_resp_body_expr` to include the response body dynamically. We can eval it in the header_filter. ## File path: apisix/plugins/http-logger.lua ## @@ -162,6 +163,17 @@ local function remove_stale_objects(premature) end +function _M.body_filter(conf, ctx) +if conf.include_resp_body then Review comment: Let's refactor this part into a method in log-util. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] shuaijinchao edited a comment on issue #5474: proposal: support google cloud logging service plugin
shuaijinchao edited a comment on issue #5474: URL: https://github.com/apache/apisix/issues/5474#issuecomment-965962436 Name plugin name is: `google-logging` Configuration ```json { "inactive_timeout":10, "max_retry_count":0, "buffer_duration":60, "resource":{ "type":"global" }, "log_id":"syslog", "auth_config":{ "private_key":"-BEGIN RSA PRIVATE KEY-KEY-END RSA PRIVATE KEY-", "token_uri":"http://127.0.0.1:1980/google/logging/token";, "scopes":[ "https://apisix.apache.org/logs:admin"; ], "entries_uri":"http://127.0.0.1:1980/google/logging/entries";, "project_id":"apisix" }, "retry_delay":1, "batch_max_size":1 } ``` - `auth_config` the google service account config(Semi-optional, one of `auth_config` or `auth_file` must be configured) - `auth_config.private_key` the private key parameters of the Google service account - `auth_config.project_id`the project id parameters of the Google service account - `auth_config.token_uri`the token uri parameters of the Google service account - `auth_config.scopes` the access scopes parameters of the Google service account, refer to: https://developers.google.com/identity/protocols/oauth2/scopes#logging - `auth_config.entries_uri` google logging service API - `auth_file`path to the google service account json file(Semi-optional, one of `auth_config` or `auth_file` must be configured) - `resource`the Google monitor resource, refer to: https://cloud.google.com/logging/docs/reference/v2/rest/v2/MonitoredResource - `log_id` google logging id, refer to: https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry - `max_retry_count` max number of retries before removing from the processing pipe line - `retry_delay` number of seconds the process execution should be delayed if the execution fails - `buffer_duration` max age in seconds of the oldest entry in a batch before the batch must be processed - `inactive_timeout` max age in seconds when the buffer will be flushed if inactive - `batch_max_size` max size of each batch Details 1. Obtain and assemble request information in the APISIX Log phase 2. To interact with google logging service for the first time, you need to request token information. After obtaining the token, it will be cached in the memory of the working node. 3. After obtaining a valid token, put the request information into the batch processing queue. When the batch processing queue triggers the batch_max_size or batch_timeout threshold, the data in the queue is synchronized to the google cloud logging service 4. Before each request is sent, check whether the token is about to time out, and refresh the token if it will time out. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] shuaijinchao edited a comment on issue #5474: proposal: support google cloud logging service plugin
shuaijinchao edited a comment on issue #5474: URL: https://github.com/apache/apisix/issues/5474#issuecomment-965962436 Name plugin name is: `google-logging` Configuration ```json { "inactive_timeout":10, "max_retry_count":0, "buffer_duration":60, "resource":{ "type":"global" }, "log_id":"syslog", "auth_config":{ "private_key":"-BEGIN RSA PRIVATE KEY-KEY-END RSA PRIVATE KEY-", "token_uri":"http://127.0.0.1:1980/google/logging/token";, "scopes":[ "https://apisix.apache.org/logs:admin"; ], "entries_uri":"http://127.0.0.1:1980/google/logging/entries";, "project_id":"apisix" }, "retry_delay":1, "batch_max_size":1 } ``` - `auth_config` the google service account config(Semi-optional, one of `auth_config` or `auth_file` must be configured) - `auth_config.private_key` the private key parameters of the Google service account - `auth_config.project_id`the project id parameters of the Google service account - `auth_config.token_uri`the token uri parameters of the Google service account - `auth_config.scopes` the access scopes parameters of the Google service account, refer to: https://developers.google.com/identity/protocols/oauth2/scopes#logging - `auth_config.entries_uri` google logging service API - `auth_file`path to the google service account json file(Semi-optional, one of `auth_config` or `auth_file` must be configured) - `resource`the Google monitor resource, refer to: https://cloud.google.com/logging/docs/reference/v2/rest/v2/MonitoredResource - `log_id` google logging id, refer to: https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry - `max_retry_count` max number of retries before removing from the processing pipe line - `retry_delay` number of seconds the process execution should be delayed if the execution fails - `buffer_duration` max age in seconds of the oldest entry in a batch before the batch must be processed - `inactive_timeout` max age in seconds when the buffer will be flushed if inactive - `batch_max_size` max size of each batch Details 1. Obtain and assemble request information in the APISIX Log phase 2. To interact with google logging service for the first time, you need to request token information. After obtaining the token, it will be cached in the memory of the working node. 3. After obtaining a valid token, put the request information into the batch processing queue. When the batch processing queue triggers the batch_max_size or batch_timeout threshold, the data in the queue is synchronized to the google cloud logging service 4. Before each request is sent, check whether the token is about to time out, and refresh the token if it will time out. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] dmsolr opened a new pull request #5550: feat: support to log response body
dmsolr opened a new pull request #5550: URL: https://github.com/apache/apisix/pull/5550 ### What this PR does / why we need it: ### Pre-submission checklist: * [x] Did you explain what problem does this PR solve? Or what new features have been added? * [x] Have you added corresponding test cases? * [x] Have you modified the corresponding document? * [x] Is this PR backward compatible? **If it is not backward compatible, please discuss on the [mailing list](https://github.com/apache/apisix/tree/master#community) first** Closes #5344 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-ingress-controller] tokers commented on issue #759: bug: If resource synchronization retry occurs, other events of the same resource will be blocked
tokers commented on issue #759: URL: https://github.com/apache/apisix-ingress-controller/issues/759#issuecomment-973641313 The maximum retry times should be limited just like what the kube-controller-manager does. We may set the amount to a number like `16`. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-ingress-controller] tokers commented on issue #387: Add test cases to verify CRD schemas
tokers commented on issue #387: URL: https://github.com/apache/apisix-ingress-controller/issues/387#issuecomment-973639833 Check whether the schema definition is correct or not. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] membphis commented on a change in pull request #5543: docs: addition of multi language support into readme
membphis commented on a change in pull request #5543: URL: https://github.com/apache/apisix/pull/5543#discussion_r752789720 ## File path: README.md ## @@ -146,6 +146,12 @@ A/B testing, canary release, blue-green deployment, limit rate, defense against - Custom load balancing algorithms: You can use custom load balancing algorithms during the `balancer` phase. - Custom routing: Support users to implement routing algorithms themselves. +- **Multi-Language support** + - Apache APISIX is a multi-language gateway for plugin development and provides support via `WASM` and `RPC`. + ![Multi Language Support into Apache APISIX](docs/assets/images/apisix-multi-lang-support.png) + - The WASM or WebAssembly, is the modern way. If we look at the left part, APISIX can load and run WASM bytecode via APISIX wasm plugin, so developers only need to write the code according to the SDK and then compile it into a WASM bytecode file and put it in the APISIX folder. As of now, APISIX has support for [Golang SDK](https://github.com/golang/go/wiki/WebAssembly#getting-started) and [Rust SDK](https://developer.mozilla.org/en-US/docs/WebAssembly/Rust_to_wasm) - more language SDKs will be supported in the future. Review comment: ping @bisakhmondal -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-ingress-controller] codecov-commenter commented on pull request #760: fix: If resource synchronization retry occurs, other events of the same resource will be blocked.
codecov-commenter commented on pull request #760: URL: https://github.com/apache/apisix-ingress-controller/pull/760#issuecomment-973613349 # [Codecov](https://codecov.io/gh/apache/apisix-ingress-controller/pull/760?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) Report > Merging [#760](https://codecov.io/gh/apache/apisix-ingress-controller/pull/760?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (2751876) into [master](https://codecov.io/gh/apache/apisix-ingress-controller/commit/4a862e206602ae9c7ac534fdfd9a557748b9ad26?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (4a862e2) will **decrease** coverage by `0.01%`. > The diff coverage is `0.00%`. [![Impacted file tree graph](https://codecov.io/gh/apache/apisix-ingress-controller/pull/760/graphs/tree.svg?width=650&height=150&src=pr&token=WPLQXPY3V0&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)](https://codecov.io/gh/apache/apisix-ingress-controller/pull/760?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) ```diff @@Coverage Diff @@ ## master #760 +/- ## == - Coverage 31.70% 31.69% -0.02% == Files 66 65 -1 Lines6640 6639 -1 == - Hits 2105 2104 -1 Misses 4280 4280 Partials 255 255 ``` | [Impacted Files](https://codecov.io/gh/apache/apisix-ingress-controller/pull/760?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | Coverage Δ | | |---|---|---| | [pkg/ingress/apisix\_cluster\_config.go](https://codecov.io/gh/apache/apisix-ingress-controller/pull/760/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGtnL2luZ3Jlc3MvYXBpc2l4X2NsdXN0ZXJfY29uZmlnLmdv) | `0.00% <0.00%> (ø)` | | | [pkg/ingress/apisix\_consumer.go](https://codecov.io/gh/apache/apisix-ingress-controller/pull/760/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGtnL2luZ3Jlc3MvYXBpc2l4X2NvbnN1bWVyLmdv) | `0.00% <0.00%> (ø)` | | | [pkg/ingress/apisix\_route.go](https://codecov.io/gh/apache/apisix-ingress-controller/pull/760/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGtnL2luZ3Jlc3MvYXBpc2l4X3JvdXRlLmdv) | `0.00% <0.00%> (ø)` | | | [pkg/ingress/apisix\_tls.go](https://codecov.io/gh/apache/apisix-ingress-controller/pull/760/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGtnL2luZ3Jlc3MvYXBpc2l4X3Rscy5nbw==) | `0.00% <0.00%> (ø)` | | | [pkg/ingress/apisix\_upstream.go](https://codecov.io/gh/apache/apisix-ingress-controller/pull/760/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGtnL2luZ3Jlc3MvYXBpc2l4X3Vwc3RyZWFtLmdv) | `0.00% <0.00%> (ø)` | | | [pkg/ingress/endpoint.go](https://codecov.io/gh/apache/apisix-ingress-controller/pull/760/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGtnL2luZ3Jlc3MvZW5kcG9pbnQuZ28=) | `0.00% <0.00%> (ø)` | | | [pkg/ingress/endpointslice.go](https://codecov.io/gh/apache/apisix-ingress-controller/pull/760/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGtnL2luZ3Jlc3MvZW5kcG9pbnRzbGljZS5nbw==) | `0.00% <0.00%> (ø)` | | | [pkg/ingress/ingress.go](https://codecov.io/gh/apache/apisix-ingress-controller/pull/760/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGtnL2luZ3Jlc3MvaW5ncmVzcy5nbw==) | `8.29% <0.00%> (ø)` | | | [pkg/ingress/namespace.go](https://codecov.io/gh/apache/apisix-ingress-controller/pull/760/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#di
[GitHub] [apisix-ingress-controller] gxthrj opened a new pull request #760: fix: If resource synchronization retry occurs, other events of the same resource will be blocked.
gxthrj opened a new pull request #760: URL: https://github.com/apache/apisix-ingress-controller/pull/760 Please answer these questions before submitting a pull request - Why submit this pull request? - [x] Bugfix - [ ] New feature provided - [ ] Improve performance - [ ] Backport patches - Related issues #759 ___ ### Bugfix - How to fix? The new k8s event does not need to use the rate limit. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-ingress-controller] gxthrj opened a new issue #759: bug: If resource synchronization retry occurs, other events of the same resource will be blocked
gxthrj opened a new issue #759: URL: https://github.com/apache/apisix-ingress-controller/issues/759 ### Issue description If resource synchronization retry occurs, other events of the same resource will be blocked. ### Environment * your apisix-ingress-controller version (output of `apisix-ingress-controller version --long`); master ### Minimal test code / Steps to reproduce the issue 1. Define an ApisixRoute resource, including backends that does not exist. 2. The ingress controller will report an error and keep retrying. 3. After waiting for a period of time, create another new ApisixRoute resource and find that the synchronization time is slower. 4. At this time, if you create multiple new ApisixRoute resources, the synchronization time will become slower and slower. ### What's the expected result? The retry of a resource will not affect the synchronization of other resources of the same type. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-ingress-controller] tao12345666333 commented on pull request #670: feat: expose more prometheus metrics
tao12345666333 commented on pull request #670: URL: https://github.com/apache/apisix-ingress-controller/pull/670#issuecomment-973135446 It's Green! -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-ingress-controller] codecov-commenter edited a comment on pull request #670: feat: expose more prometheus metrics
codecov-commenter edited a comment on pull request #670: URL: https://github.com/apache/apisix-ingress-controller/pull/670#issuecomment-916620006 # [Codecov](https://codecov.io/gh/apache/apisix-ingress-controller/pull/670?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) Report > Merging [#670](https://codecov.io/gh/apache/apisix-ingress-controller/pull/670?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (60cd7b0) into [master](https://codecov.io/gh/apache/apisix-ingress-controller/commit/4a862e206602ae9c7ac534fdfd9a557748b9ad26?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (4a862e2) will **increase** coverage by `0.50%`. > The diff coverage is `55.44%`. [![Impacted file tree graph](https://codecov.io/gh/apache/apisix-ingress-controller/pull/670/graphs/tree.svg?width=650&height=150&src=pr&token=WPLQXPY3V0&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)](https://codecov.io/gh/apache/apisix-ingress-controller/pull/670?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) ```diff @@Coverage Diff @@ ## master #670 +/- ## == + Coverage 31.70% 32.21% +0.50% == Files 66 66 Lines6640 6768 +128 == + Hits 2105 2180 +75 - Misses 4280 4333 +53 Partials 255 255 ``` | [Impacted Files](https://codecov.io/gh/apache/apisix-ingress-controller/pull/670?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | Coverage Δ | | |---|---|---| | [pkg/ingress/apisix\_cluster\_config.go](https://codecov.io/gh/apache/apisix-ingress-controller/pull/670/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGtnL2luZ3Jlc3MvYXBpc2l4X2NsdXN0ZXJfY29uZmlnLmdv) | `0.00% <0.00%> (ø)` | | | [pkg/ingress/apisix\_consumer.go](https://codecov.io/gh/apache/apisix-ingress-controller/pull/670/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGtnL2luZ3Jlc3MvYXBpc2l4X2NvbnN1bWVyLmdv) | `0.00% <0.00%> (ø)` | | | [pkg/ingress/apisix\_route.go](https://codecov.io/gh/apache/apisix-ingress-controller/pull/670/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGtnL2luZ3Jlc3MvYXBpc2l4X3JvdXRlLmdv) | `0.00% <0.00%> (ø)` | | | [pkg/ingress/apisix\_tls.go](https://codecov.io/gh/apache/apisix-ingress-controller/pull/670/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGtnL2luZ3Jlc3MvYXBpc2l4X3Rscy5nbw==) | `0.00% <0.00%> (ø)` | | | [pkg/ingress/apisix\_upstream.go](https://codecov.io/gh/apache/apisix-ingress-controller/pull/670/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGtnL2luZ3Jlc3MvYXBpc2l4X3Vwc3RyZWFtLmdv) | `0.00% <0.00%> (ø)` | | | [pkg/ingress/controller.go](https://codecov.io/gh/apache/apisix-ingress-controller/pull/670/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGtnL2luZ3Jlc3MvY29udHJvbGxlci5nbw==) | `1.00% <0.00%> (-0.01%)` | :arrow_down: | | [pkg/ingress/endpoint.go](https://codecov.io/gh/apache/apisix-ingress-controller/pull/670/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGtnL2luZ3Jlc3MvZW5kcG9pbnQuZ28=) | `0.00% <0.00%> (ø)` | | | [pkg/ingress/endpointslice.go](https://codecov.io/gh/apache/apisix-ingress-controller/pull/670/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGtnL2luZ3Jlc3MvZW5kcG9pbnRzbGljZS5nbw==) | `0.00% <0.00%> (ø)` | | | [pkg/ingress/ingress.go](https://codecov.io/gh/apache/apisix-ingress-controller/pull/670/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Th
[GitHub] [apisix-ingress-controller] tao12345666333 closed issue #725: request help: apisix error:Failed to watch *v2beta1.ApisixRoute
tao12345666333 closed issue #725: URL: https://github.com/apache/apisix-ingress-controller/issues/725 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-ingress-controller] tao12345666333 commented on issue #725: request help: apisix error:Failed to watch *v2beta1.ApisixRoute
tao12345666333 commented on issue #725: URL: https://github.com/apache/apisix-ingress-controller/issues/725#issuecomment-973055770 This issue has not been updated for too long. You can try to update to the latest version to verify if there are any problems. I will close this issue. Feel free to reopen it, if you have any question. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-ingress-controller] tao12345666333 commented on issue #608: no matches for kind "ApisixRoute" in version "apisix.apache.org/v2beta1"
tao12345666333 commented on issue #608: URL: https://github.com/apache/apisix-ingress-controller/issues/608#issuecomment-973053682 This issue has not been updated for too long. You can try to update to the latest version to verify if there are any problems. I will close this issue. Feel free to reopen it, if you have any question. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-ingress-controller] tao12345666333 closed issue #608: no matches for kind "ApisixRoute" in version "apisix.apache.org/v2beta1"
tao12345666333 closed issue #608: URL: https://github.com/apache/apisix-ingress-controller/issues/608 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-ingress-controller] tao12345666333 closed issue #643: request help: How about change field retries to value from pointer.
tao12345666333 closed issue #643: URL: https://github.com/apache/apisix-ingress-controller/issues/643 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-ingress-controller] tao12345666333 commented on issue #643: request help: How about change field retries to value from pointer.
tao12345666333 commented on issue #643: URL: https://github.com/apache/apisix-ingress-controller/issues/643#issuecomment-973052464 #647 has been merged. I will close this issue. Feel free to reopen it, if you have any question. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-ingress-controller] tao12345666333 closed issue #649: My apisix-ingress-controller report a problem .
tao12345666333 closed issue #649: URL: https://github.com/apache/apisix-ingress-controller/issues/649 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-ingress-controller] tao12345666333 commented on issue #649: My apisix-ingress-controller report a problem .
tao12345666333 commented on issue #649: URL: https://github.com/apache/apisix-ingress-controller/issues/649#issuecomment-973050987 This issue has not been updated for too long. You can try to update to the latest version to verify if there are any problems. I will close this issue. Feel free to reopen it, if you have any question. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-ingress-controller] tao12345666333 closed issue #658: test: There are some false positives in e2e-test ,Need to be fixed.
tao12345666333 closed issue #658: URL: https://github.com/apache/apisix-ingress-controller/issues/658 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-ingress-controller] tao12345666333 commented on issue #658: test: There are some false positives in e2e-test ,Need to be fixed.
tao12345666333 commented on issue #658: URL: https://github.com/apache/apisix-ingress-controller/issues/658#issuecomment-973049214 Currently our e2e test case seems to run pretty well. I will close this issue. Feel free to reopen it, if you have any question. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-ingress-controller] tao12345666333 commented on issue #672: request help: get deprecated warning after upgrade to 1.2.0
tao12345666333 commented on issue #672: URL: https://github.com/apache/apisix-ingress-controller/issues/672#issuecomment-973047308 In version 1.3, we have adjusted the configuration of CRD resources, and you will no longer see this information. I will close this issue. Feel free to reopen it, if you have any question. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-ingress-controller] tao12345666333 edited a comment on issue #672: request help: get deprecated warning after upgrade to 1.2.0
tao12345666333 edited a comment on issue #672: URL: https://github.com/apache/apisix-ingress-controller/issues/672#issuecomment-915690808 We plan to release the v2 version of the API in the last two versions (about 2 months). I will initiate a discussion on the mailing list and GitHub in a while, and I will update the link here later. update: #707 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-ingress-controller] tao12345666333 closed issue #672: request help: get deprecated warning after upgrade to 1.2.0
tao12345666333 closed issue #672: URL: https://github.com/apache/apisix-ingress-controller/issues/672 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-ingress-controller] tao12345666333 commented on issue #565: bug: apisix-ingress-controller+k3s is not work
tao12345666333 commented on issue #565: URL: https://github.com/apache/apisix-ingress-controller/issues/565#issuecomment-973043807 ping @anjia0532 This issue has not been updated for too long. Please try to update to the latest version to verify if there are still problems. After #740 is merged, you should be able to see that the load balancer is created normally in the Rancher UI. I will close this issue. Feel free to reopen it, if you have any question. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org