[apisix-ingress-controller] 01/02: Revert "docs: added meta info (#269)"
This is an automated email from the ASF dual-hosted git repository. juzhiyuan pushed a commit to branch fix-docs-config in repository https://gitbox.apache.org/repos/asf/apisix-ingress-controller.git commit 85045e4b7da0a6c7f23bd1ce4ccf8dcacf7013b0 Author: juzhiyuan AuthorDate: Thu Feb 25 15:56:46 2021 +0800 Revert "docs: added meta info (#269)" This reverts commit c30636c4b7c86f9540eb6aeb47a91e17aeb50e0a. --- .markdownlint.yml | 2 - docs/en/latest/CRD-specification.md| 208 ++--- docs/en/latest/FAQ.md | 7 +- docs/en/latest/config.json | 49 + docs/en/latest/contribute.md | 21 +-- docs/en/latest/deployments/ack.md | 17 +- docs/en/latest/deployments/aws.md | 17 +- docs/en/latest/deployments/azure.md| 21 +-- docs/en/latest/deployments/gke.md | 17 +- docs/en/latest/deployments/k3s-rke.md | 19 +- docs/en/latest/deployments/kubesphere.md | 15 +- docs/en/latest/deployments/minikube.md | 15 +- docs/en/latest/deployments/tke.md | 17 +- docs/en/latest/design.md | 16 +- docs/en/latest/development.md | 23 +-- docs/en/latest/samples/index.md| 11 +- .../proxy-the-httpbin-service-with-ingress.md | 13 +- .../en/latest/samples/proxy-the-httpbin-service.md | 27 ++- docs/en/latest/usage.md| 31 ++- 19 files changed, 205 insertions(+), 341 deletions(-) diff --git a/.markdownlint.yml b/.markdownlint.yml index 79e7228..e5787a4 100644 --- a/.markdownlint.yml +++ b/.markdownlint.yml @@ -30,8 +30,6 @@ MD033: false # MD036/no-emphasis-as-heading/no-emphasis-as-header Emphasis used instead of a heading MD036: false -MD041: false - # MD024 no-duplicate-heading: siblings_only: true diff --git a/docs/en/latest/CRD-specification.md b/docs/en/latest/CRD-specification.md index 2ea3f1f..c63450a 100644 --- a/docs/en/latest/CRD-specification.md +++ b/docs/en/latest/CRD-specification.md @@ -17,22 +17,16 @@ # --> - -id: crd-specification -title: CRD specification - +# CRD specification In order to control the behavior of the proxy ([Apache APISIX](https://github.com/apache/apisix)), the following CRDs should be defined. ## CRD Types -- [CRD Types](#crd-types) - [ApisixRoute](#apisixroute) - [ApisixUpstream](#apisixupstream) - [Configuring Load Balancer](#configuring-load-balancer) - - [Configuring Health Check](#configuring-health-check) + - [Configuring Health Check](#configuring-load-balancer) - [Configuring Retry and Timeout](#configuring-retry-and-timeout) - [Port Level Settings](#port-level-settings) - [Configuration References](#configuration-references) @@ -54,37 +48,37 @@ metadata: namespace: cloud spec: rules: -- host: test.apisix.apache.org - http: -paths: - - backend: - serviceName: httpserver - servicePort: 8080 -path: /hello* -plugins: - - name: limit-count -enable: true -config: - count: 2 - time_window: 60 - rejected_code: 503 - key: remote_addr + - host: test.apisix.apache.org +http: + paths: + - backend: + serviceName: httpserver + servicePort: 8080 +path: /hello* +plugins: + - name: limit-count +enable: true +config: + count: 2 + time_window: 60 + rejected_code: 503 + key: remote_addr ``` -| Field | Type| Description | -| --- | --- | | -| rules | array | ApisixRoute's request matching rules. | -| host| string | The requested host. | -| http| object | Route rules are applied to the scope of layer 7 traffic. | -| paths
[apisix-ingress-controller] 02/02: fix: docs
This is an automated email from the ASF dual-hosted git repository. juzhiyuan pushed a commit to branch fix-docs-config in repository https://gitbox.apache.org/repos/asf/apisix-ingress-controller.git commit 6f48f1170e425dfc10d0f182edb8449664ea4fe9 Author: juzhiyuan AuthorDate: Thu Feb 25 16:06:23 2021 +0800 fix: docs --- docs/en/latest/config.json | 49 +- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/docs/en/latest/config.json b/docs/en/latest/config.json index b029746..7e14180 100644 --- a/docs/en/latest/config.json +++ b/docs/en/latest/config.json @@ -1,4 +1,51 @@ { "version": "0.3.0", - "sidebar": {} + "sidebar": { +"docs": [ + { +"type": "category", +"label": "Getting Started", +"items": ["design", "CRD-specification"] + }, + { +"type": "category", +"label": "Samples", +"items": [ + "samples/index", + "samples/proxy-the-httpbin-service-with-ingress", + "samples/proxy-the-httpbin-service" +] + }, + { +"type": "category", +"label": "Deployment", +"items": [ + "deployments/ack", + "deployments/aws", + "deployments/azure", + "deployments/gke", + "deployments/k3s-rke", + "deployments/kubesphere", + "deployments/minikube", + "deployments/tke" +] + }, + { +"type": "doc", +"id": "usage" + }, + { +"type": "doc", +"id": "development" + }, + { +"type": "doc", +"id": "contribute" + }, + { +"type": "doc", +"id": "FAQ" + } +] + } }
[apisix-ingress-controller] branch fix-docs-config created (now 6f48f11)
This is an automated email from the ASF dual-hosted git repository. juzhiyuan pushed a change to branch fix-docs-config in repository https://gitbox.apache.org/repos/asf/apisix-ingress-controller.git. at 6f48f11 fix: docs This branch includes the following new commits: new 85045e4 Revert "docs: added meta info (#269)" new 6f48f11 fix: docs The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference.
[GitHub] [apisix-dashboard] LiteSun opened a new issue #1514: Incomplete i18n coverage
LiteSun opened a new issue #1514: URL: https://github.com/apache/apisix-dashboard/issues/1514 # Feature request ## Please describe your feature Currently the dashboard is not fully internationalized, so we need to go through it and fix them. - [ ] route list page ![image](https://user-images.githubusercontent.com/31329157/109122570-c2598580-7783-11eb-9094-396e92c01c45.png) - [ ] route step3 page ![image](https://user-images.githubusercontent.com/31329157/109122655-dbfacd00-7783-11eb-8b05-c98379202fd7.png) - [ ] upstream list page ![image](https://user-images.githubusercontent.com/31329157/109122777-0fd5f280-7784-11eb-99eb-90c28fdc5b15.png) - [ ] service list page ![image](https://user-images.githubusercontent.com/31329157/109122838-2419ef80-7784-11eb-964b-a0b4ccbca935.png) - [ ] consumer list page ![image](https://user-images.githubusercontent.com/31329157/109122952-4449ae80-7784-11eb-91ea-2fc7f7c140ad.png) - [ ] SSL list page ![image](https://user-images.githubusercontent.com/31329157/109123132-71965c80-7784-11eb-84a5-462cd8cddac8.png) 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] moonming opened a new issue #3671: doc: add `--server` of luarocks for China mainland users
moonming opened a new issue #3671: URL: https://github.com/apache/apisix/issues/3671 # Improve Docs https://github.com/apache/apisix/blob/master/FAQ.md#why-is-it-that-installing-apisix-dependencies-with-luarocks-causes-timeout-slow-or-unsuccessful-installation ``` luarocks install apisix --server https://luarocks.cn ``` ## Please describe which part of docs should be improved or typo fixed A clear and concise description of what you want and what your use case is. ## Describe the solution you'd like A clear and concise description of what you want to happen. 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[apisix-dashboard] branch master updated: chore: improve docs structure (#1511)
This is an automated email from the ASF dual-hosted git repository. sunyi 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 e82c0c0 chore: improve docs structure (#1511) e82c0c0 is described below commit e82c0c07dcea848808f2984b260709ce5dadcd0b Author: 琚致远 AuthorDate: Thu Feb 25 16:27:25 2021 +0800 chore: improve docs structure (#1511) --- README.md | 14 +- docs/api/api.md| 369 docs/{ => assets}/images/architecture.png | Bin docs/{ => assets}/images/manager-api.png | Bin docs/{ => assets}/images/metrics-cn.png| Bin docs/{ => assets}/images/metrics-en.png| Bin .../images/route-create-done-list-cn.png | Bin .../images/route-create-done-list-en.png | Bin docs/{ => assets}/images/route-create-step1-cn.png | Bin docs/{ => assets}/images/route-create-step1-en.png | Bin docs/{ => assets}/images/route-create-step2-cn.png | Bin docs/{ => assets}/images/route-create-step2-en.png | Bin docs/{ => assets}/images/route-create-step3-cn.png | Bin docs/{ => assets}/images/route-create-step3-en.png | Bin docs/{ => assets}/images/route-create-step4-cn.png | Bin docs/{ => assets}/images/route-create-step4-en.png | Bin .../{ => assets}/images/route-debug-basic-auth.png | Bin .../images/route-debug-body-params.png | Bin .../images/route-debug-header-params.png | Bin docs/{ => assets}/images/route-debug-offline.png | Bin docs/{ => assets}/images/route-debug-published.png | Bin .../images/route-debug-query-params.png| Bin docs/{ => assets}/images/route-list-en.png | Bin docs/{ => assets}/images/setting-cn.png| Bin docs/{ => assets}/images/setting-en.png| Bin docs/{ => assets}/images/ssl-list-cn.png | Bin docs/{ => assets}/images/ssl-list-en.png | Bin docs/{ => en/latest}/FAQ.md| 15 +- docs/{ => en/latest}/I18N_USER_GUIDE.md| 7 + docs/{ => en/latest}/IMPORT_OPENAPI_USER_GUIDE.md | 41 ++- docs/{ => en/latest}/USER_GUIDE.md | 35 +- docs/en/latest/api/api.md | 376 + docs/{ => en/latest}/back-end-e2e.md | 27 +- docs/en/latest/config.json | 18 + docs/{ => en/latest}/deploy-with-docker.md | 7 + docs/{ => en/latest}/deploy-with-rpm.md| 7 + docs/{ => en/latest}/deploy.md | 7 + docs/{ => en/latest}/develop.md| 7 + docs/{ => en/latest}/front-end-e2e.md | 7 + 39 files changed, 516 insertions(+), 421 deletions(-) diff --git a/README.md b/README.md index c97ffc0..19719d3 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ This project includes `Manager API`, which will gradually replace `Admin API` in Note: Currently the Dashboard does not have complete coverage of Apache APISIX features, [visit here](https://github.com/apache/apisix-dashboard/milestones) to view the milestones. -![architecture](./docs/images/architecture.png) +![architecture](./docs/assets/images/architecture.png) ## Demo @@ -78,19 +78,19 @@ Password: admin Support the following ways currently. -- [Source Codes](./docs/deploy.md) -- [Docker](./docs/deploy-with-docker.md) -- [RPM package(only for CentOS 7)](./docs/deploy-with-rpm.md) +- [Source Codes](./docs/en/latest/deploy.md) +- [Docker](./docs/en/latest/deploy-with-docker.md) +- [RPM package(only for CentOS 7)](./docs/en/latest/deploy-with-rpm.md) ## Development Pull requests are encouraged and always welcome. [Pick an issue](https://github.com/apache/apisix-dashboard/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22) and help us out! -Please refer to the [Development Guide](./docs/develop.md). +Please refer to the [Development Guide](./docs/en/latest/develop.md). ## User Guide -Please refer to the [User Guide](./docs/USER_GUIDE.md). +Please refer to the [User Guide](./docs/en/latest/USER_GUIDE.md). ## Contributing @@ -98,7 +98,7 @@ Please refer to the [Contribution Guide](./CONTRIBUTING.md) for a more detailed ## FAQ -Please refer to the [FAQ](./docs/FAQ.md) for more known issues. +Please refer to the [FAQ](./docs/en/latest/FAQ.md) for more known issues. ## License diff --git a/docs/api/api.md b/docs/api/api.md deleted file mode 100644 index 7174239..000 --- a/docs/api/api.md +++ /dev/null @@ -1,369 +0,0 @@ - - -# API doc of Manager API. - -Manager API directly operates ETCD and provides data management for Apache APISIX, provides APIs for Front-end or other clients. - -**License:** [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0) - -### /apisix/admin/check_ssl_cert - - POST - -# S
[GitHub] [apisix-dashboard] LiteSun merged pull request #1511: chore: improve docs structure
LiteSun merged pull request #1511: URL: https://github.com/apache/apisix-dashboard/pull/1511 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[apisix-ingress-controller] branch fix-docs-config updated: docs: update config
This is an automated email from the ASF dual-hosted git repository. juzhiyuan pushed a commit to branch fix-docs-config in repository https://gitbox.apache.org/repos/asf/apisix-ingress-controller.git The following commit(s) were added to refs/heads/fix-docs-config by this push: new dc145ef docs: update config dc145ef is described below commit dc145efb84453853b43fd603d1170041c8bd72bf Author: juzhiyuan AuthorDate: Thu Feb 25 16:28:11 2021 +0800 docs: update config --- docs/en/latest/CRD-specification.md | 9 ++--- docs/en/latest/FAQ.md| 6 -- docs/en/latest/contribute.md | 6 -- docs/en/latest/deployments/ack.md| 6 -- docs/en/latest/deployments/aws.md| 6 -- docs/en/latest/deployments/azure.md | 6 -- docs/en/latest/deployments/gke.md| 6 -- docs/en/latest/deployments/k3s-rke.md| 6 -- docs/en/latest/deployments/kubesphere.md | 6 -- docs/en/latest/deployments/minikube.md | 6 -- docs/en/latest/deployments/tke.md| 6 -- docs/en/latest/design.md | 6 -- docs/en/latest/development.md| 6 -- docs/en/latest/samples/index.md | 6 -- docs/en/latest/samples/proxy-the-httpbin-service-with-ingress.md | 6 -- docs/en/latest/samples/proxy-the-httpbin-service.md | 6 -- docs/en/latest/usage.md | 6 -- 17 files changed, 70 insertions(+), 35 deletions(-) diff --git a/docs/en/latest/CRD-specification.md b/docs/en/latest/CRD-specification.md index c63450a..c694350 100644 --- a/docs/en/latest/CRD-specification.md +++ b/docs/en/latest/CRD-specification.md @@ -1,3 +1,7 @@ +--- +title: CRD specification +--- + -# CRD specification - In order to control the behavior of the proxy ([Apache APISIX](https://github.com/apache/apisix)), the following CRDs should be defined. ## CRD Types +- [CRD Types](#crd-types) - [ApisixRoute](#apisixroute) - [ApisixUpstream](#apisixupstream) - [Configuring Load Balancer](#configuring-load-balancer) - - [Configuring Health Check](#configuring-load-balancer) + - [Configuring Health Check](#configuring-health-check) - [Configuring Retry and Timeout](#configuring-retry-and-timeout) - [Port Level Settings](#port-level-settings) - [Configuration References](#configuration-references) diff --git a/docs/en/latest/FAQ.md b/docs/en/latest/FAQ.md index d90b272..cfe217e 100644 --- a/docs/en/latest/FAQ.md +++ b/docs/en/latest/FAQ.md @@ -1,3 +1,7 @@ +--- +title: FAQ +--- + -# FAQ - 1. How to bind Service and Upstream? All resource objects are uniquely determined by the namespace / name / port combination Id. If the combined Id is the same, the `service` and `upstream` will be considered as a binding relationship. diff --git a/docs/en/latest/contribute.md b/docs/en/latest/contribute.md index 943fb5e..fa861ee 100644 --- a/docs/en/latest/contribute.md +++ b/docs/en/latest/contribute.md @@ -1,3 +1,7 @@ +--- +title: Contributing to apisix-ingress-controller +--- + -# Contributing to apisix-ingress-controller - Firstly, thanks for your interest in contributing! I hope that this will be a pleasant first experience for you, and that you will return to continue contributing. diff --git a/docs/en/latest/deployments/ack.md b/docs/en/latest/deployments/ack.md index f46238c..6f57d8a 100644 --- a/docs/en/latest/deployments/ack.md +++ b/docs/en/latest/deployments/ack.md @@ -1,3 +1,7 @@ +--- +title: Install Ingress APISIX on ACK +--- + -# Install Ingress APISIX on ACK - This document explains how to install Ingress APISIX on [ali-cloud ACK](https://www.aliyun.com/product/kubernetes). ## Prerequisites diff --git a/docs/en/latest/deployments/aws.md b/docs/en/latest/deployments/aws.md index 34ba842..a0b10df 100644 --- a/docs/en/latest/deployments/aws.md +++ b/docs/en/latest/deployments/aws.md @@ -1,3 +1,7 @@ +--- +title: Install Ingress APISIX on Amazon EKS +--- + -# Install Ingress APISIX on Amazon EKS - This document explains how to install Ingress APISIX on [Amazon EKS](https://amazonaws-china.com/eks/?whats-new-cards.sort-by=item.additionalFields.postDateTime&whats-new-cards.sort-order=desc&eks-blogs.sort-by=item.additionalFields.createdDate&eks-blogs.sort-order=desc). ## Prerequisites diff --git a/docs/en/latest/deployments/azure.md b/docs/en/latest/deployments/azure.md index 4dc6dba..11d12f3 100644 --- a/docs/en/latest/deployments/azure.md +++ b/docs/en/latest/deployments/azure.md @@ -1,3 +1,7 @@ +--- +title: Install Ingress APISIX on Azure AKS +--- + -# Install Ingress AP
[apisix-website] branch feat-sync-docs updated (a1b7b70 -> ac6cc94)
This is an automated email from the ASF dual-hosted git repository. juzhiyuan pushed a change to branch feat-sync-docs in repository https://gitbox.apache.org/repos/asf/apisix-website.git. from a1b7b70 docs: added ignore docs add ac6cc94 fix: navbar No new revisions were added by this update. Summary of changes: website/docusaurus.config.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
[GitHub] [apisix-ingress-controller] juzhiyuan opened a new pull request #270: docs: update docs for website
juzhiyuan opened a new pull request #270: URL: https://github.com/apache/apisix-ingress-controller/pull/270 docs: update docs for website 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[apisix-ingress-controller] branch fix-docs-config updated (dc145ef -> f4ba1d1)
This is an automated email from the ASF dual-hosted git repository. juzhiyuan pushed a change to branch fix-docs-config in repository https://gitbox.apache.org/repos/asf/apisix-ingress-controller.git. from dc145ef docs: update config add f4ba1d1 CI: disable MD041 No new revisions were added by this update. Summary of changes: .markdownlint.yml | 2 ++ 1 file changed, 2 insertions(+)
[GitHub] [apisix] juzhiyuan merged pull request #3661: docs: modify the docs directory
juzhiyuan merged pull request #3661: URL: https://github.com/apache/apisix/pull/3661 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-dashboard] LiteSun commented on issue #1512: Plugin template configuration
LiteSun commented on issue #1512: URL: https://github.com/apache/apisix-dashboard/issues/1512#issuecomment-785719936 Let me do more research on how to prevent the page from crashing if a field is missing 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-dashboard] LiteSun removed a comment on issue #1512: Plugin template configuration
LiteSun removed a comment on issue #1512: URL: https://github.com/apache/apisix-dashboard/issues/1512#issuecomment-785719936 Let me do more research on how to prevent the page from crashing if a field is missing 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-dashboard] LiteSun commented on issue #1399: support to show raw data for Route, Upstream, Service and so on
LiteSun commented on issue #1399: URL: https://github.com/apache/apisix-dashboard/issues/1399#issuecomment-785721146 > @LiteSun > The api cannot verify whether the submitted data is missing fields. > Only required fields can be checked if they are missing. ok, let me do more research on how to prevent the page from crashing if a field is missing. 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] yocaning commented on issue #3616: request help: how nodes will be recovered from unhealthy
yocaning commented on issue #3616: URL: https://github.com/apache/apisix/issues/3616#issuecomment-785728253 > Hi, @yocaning > You need to pay attention to your configuration. The `http_path` of the active health check should be consistent with the uri that provides the service. Secondly, the value of `"timeout":1` is recommended to be set larger. > > This is an example, you can refer to it > > 1、Add a route and enable health check > > The 1981 and 1982 ports are healthy, but the 1985 port is unhealthy. > > ```shell > curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d ' > { > "id":"1", > "update_time":1613734165, > "upstream":{ > "checks":{ > "active":{ > "healthy":{ > "interval":3, > "successes":2 > }, > "unhealthy":{ > "interval":10, > "http_failures":2 > }, > "timeout":10, > "http_path":"/hello", > "type":"http", > "req_headers":[ > "Content-Seq:3" > ] > }, > "passive":{ > "timeout":5, > "healthy":{ > "http_statuses":[ > 200, > 201 > ], > "successes":3 > }, > "type":"http", > "unhealthy":{ > "http_statuses":[ > 500, > 504 > ], > "timeouts":3, > "tcp_failures":1, > "http_failures":1 > } > } > }, > "nodes":{ > "127.0.0.1:1980":1, > "127.0.0.1:1981":1, > "127.0.0.1:1985":1 > }, > "timeout":{ > "connect":3, > "read":3, > "send":3 > }, > "pass_host":"pass", > "hash_on":"vars", > "type":"roundrobin" > }, > "methods":[ > "PUT", > "GET" > ], > "status":1, > "create_time":1613722689, > "priority":0, > "uri":"/hello" > }' > ``` > > 2、Access request and view error.log > > ``` > $ curl http://127.0.0.1:9080/hello > hello 1980 > > $ tail -f error.log > 2021/02/22 15:41:42 [warn] 23035#23035: *66190 [lua] healthcheck.lua:1107: log(): [healthcheck] (upstream#/apisix/routes/1) unhealthy TCP increment (1/2) for '(127.0.0.1:1985)', context: ngx.timer, client: 127.0.0.1, server: 0.0.0.0:9080 > 2021/02/22 15:41:48 [warn] 23035#23035: *66445 [lua] healthcheck.lua:1107: log(): [healthcheck] (upstream#/apisix/routes/1) unhealthy TCP increment (2/2) for '(127.0.0.1:1985)', context: ngx.timer, client: 127.0.0.1, server: 0.0.0.0:9080 > > 2021/02/22 15:42:56 [warn] 23036#23036: *69367 [lua] healthcheck.lua:1107: log(): [healthcheck] (upstream#/apisix/routes/1) healthy SUCCESS increment (1/2) for '(127.0.0.1:1980)', context: ngx.timer, client: 127.0.0.1, server: 0.0.0.0:9080 > 2021/02/22 15:42:56 [warn] 23036#23036: *69367 [lua] healthcheck.lua:1107: log(): [healthcheck] (upstream#/apisix/routes/1) healthy SUCCESS increment (1/2) for '(127.0.0.1:1981)', context: ngx.timer, client: 127.0.0.1, server: 0.0.0.0:9080 > ``` > > 3、When the port of `1985` recovered health and view error.log > > When an unhealthy node is restored to a healthy node, it will be automatically marked as healthy. > > ``` > 2021/02/22 15:57:32 [warn] 23035#23035: *107236 [lua] healthcheck.lua:1107: log(): [healthcheck] (upstream#/apisix/routes/1) healthy SUCCESS increment (2/2) for '(127.0.0.1:1985)', context: ngx.timer, client: 127.0.0.1, server: 0.0.0.0:9080 > ``` What are the requirements for this health check method? when my node is unhealthy , the auto healthy check method work。and response http header status =200 。but still not marked as healthy 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-ingress-controller] Bhanuji95 commented on issue #259: request help: Getting route not found issue
Bhanuji95 commented on issue #259: URL: https://github.com/apache/apisix-ingress-controller/issues/259#issuecomment-785734676 Hello @gxthrj, Our issue is resolved now, we can close the 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-ingress-controller] Bhanuji95 closed issue #259: request help: Getting route not found issue
Bhanuji95 closed issue #259: URL: https://github.com/apache/apisix-ingress-controller/issues/259 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-helm-chart] ncepuwanghui opened a new issue #33: apisix-etcd-0 pod start error when use custom cluster domain on k3s
ncepuwanghui opened a new issue #33: URL: https://github.com/apache/apisix-helm-chart/issues/33 The apisix-etcd-0 pod failed to start when installing apisix-helm-chart on a k3s cluster deployed with a custom domain name. apisix install command as follows: ``` helm install apisix ./charts/apisix --namespace ingress-apisix --set gateway.type=NodePort --set gateway.k8s_domain="custom.cluster.domain" --set allow.ipList="{10.42.0.0/16}" ``` The error of apisix-etcd-0 pod is as follows: ``` failed to resolve http://apisix-etcd-0.apisix-etcd-headless.ingress-apisix.svc.cluster.local:2380 to match --initial-cluster=apisix-etcd-0=http://apisix-etcd-0.apisix-etcd-headless.ingress-apisix.svc.cluster.local:2380 (failed to resolve "http://apisix-etcd-0.apisix-etcd-headless.ingress-apisix.svc.cluster.local:2380"; (lookup apisix-etcd-0.apisix-etcd-headless.ingress-apisix.svc.cluster.local on 10.43.0.10:53: no such host)) ``` 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-ingress-controller] codecov-io commented on pull request #270: docs: update docs for website
codecov-io commented on pull request #270: URL: https://github.com/apache/apisix-ingress-controller/pull/270#issuecomment-785737375 # [Codecov](https://codecov.io/gh/apache/apisix-ingress-controller/pull/270?src=pr&el=h1) Report > Merging [#270](https://codecov.io/gh/apache/apisix-ingress-controller/pull/270?src=pr&el=desc) (f4ba1d1) into [master](https://codecov.io/gh/apache/apisix-ingress-controller/commit/c30636c4b7c86f9540eb6aeb47a91e17aeb50e0a?el=desc) (c30636c) will **increase** coverage by `46.05%`. > The diff coverage is `n/a`. [![Impacted file tree graph](https://codecov.io/gh/apache/apisix-ingress-controller/pull/270/graphs/tree.svg?width=650&height=150&src=pr&token=WPLQXPY3V0)](https://codecov.io/gh/apache/apisix-ingress-controller/pull/270?src=pr&el=tree) ```diff @@ Coverage Diff @@ ## master #270 +/- ## + Coverage 53.94% 100.00% +46.05% Files 33 1 -32 Lines2245 1 -2244 - Hits 1211 1 -1210 + Misses877 0 -877 + Partials 157 0 -157 ``` | [Impacted Files](https://codecov.io/gh/apache/apisix-ingress-controller/pull/270?src=pr&el=tree) | Coverage Δ | | |---|---|---| | [pkg/apisix/cluster.go](https://codecov.io/gh/apache/apisix-ingress-controller/pull/270/diff?src=pr&el=tree#diff-cGtnL2FwaXNpeC9jbHVzdGVyLmdv) | | | | [pkg/apisix/cache/memdb.go](https://codecov.io/gh/apache/apisix-ingress-controller/pull/270/diff?src=pr&el=tree#diff-cGtnL2FwaXNpeC9jYWNoZS9tZW1kYi5nbw==) | | | | [pkg/seven/conf/conf.go](https://codecov.io/gh/apache/apisix-ingress-controller/pull/270/diff?src=pr&el=tree#diff-cGtnL3NldmVuL2NvbmYvY29uZi5nbw==) | | | | [pkg/kube/translation/translator.go](https://codecov.io/gh/apache/apisix-ingress-controller/pull/270/diff?src=pr&el=tree#diff-cGtnL2t1YmUvdHJhbnNsYXRpb24vdHJhbnNsYXRvci5nbw==) | | | | [pkg/log/logger.go](https://codecov.io/gh/apache/apisix-ingress-controller/pull/270/diff?src=pr&el=tree#diff-cGtnL2xvZy9sb2dnZXIuZ28=) | | | | [pkg/metrics/prometheus.go](https://codecov.io/gh/apache/apisix-ingress-controller/pull/270/diff?src=pr&el=tree#diff-cGtnL21ldHJpY3MvcHJvbWV0aGV1cy5nbw==) | | | | [pkg/apisix/ssl.go](https://codecov.io/gh/apache/apisix-ingress-controller/pull/270/diff?src=pr&el=tree#diff-cGtnL2FwaXNpeC9zc2wuZ28=) | | | | [pkg/ingress/apisix/tls.go](https://codecov.io/gh/apache/apisix-ingress-controller/pull/270/diff?src=pr&el=tree#diff-cGtnL2luZ3Jlc3MvYXBpc2l4L3Rscy5nbw==) | | | | [pkg/kube/translation/apisix\_upstream.go](https://codecov.io/gh/apache/apisix-ingress-controller/pull/270/diff?src=pr&el=tree#diff-cGtnL2t1YmUvdHJhbnNsYXRpb24vYXBpc2l4X3Vwc3RyZWFtLmdv) | | | | [pkg/api/server.go](https://codecov.io/gh/apache/apisix-ingress-controller/pull/270/diff?src=pr&el=tree#diff-cGtnL2FwaS9zZXJ2ZXIuZ28=) | | | | ... and [22 more](https://codecov.io/gh/apache/apisix-ingress-controller/pull/270/diff?src=pr&el=tree-more) | | -- [Continue to review full report at Codecov](https://codecov.io/gh/apache/apisix-ingress-controller/pull/270?src=pr&el=continue). > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta) > `Δ = absolute (impact)`, `ø = not affected`, `? = missing data` > Powered by [Codecov](https://codecov.io/gh/apache/apisix-ingress-controller/pull/270?src=pr&el=footer). Last update [c30636c...f4ba1d1](https://codecov.io/gh/apache/apisix-ingress-controller/pull/270?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments). 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-dashboard] codecov-io edited a comment on pull request #1465: feat(be): Online debug function adds support for transfer files
codecov-io edited a comment on pull request #1465: URL: https://github.com/apache/apisix-dashboard/pull/1465#issuecomment-775915860 # [Codecov](https://codecov.io/gh/apache/apisix-dashboard/pull/1465?src=pr&el=h1) Report > Merging [#1465](https://codecov.io/gh/apache/apisix-dashboard/pull/1465?src=pr&el=desc) (6f324b9) into [master](https://codecov.io/gh/apache/apisix-dashboard/commit/bd5ed03e3256437ed3b54ad10b0ab7b30bbb0b50?el=desc) (bd5ed03) will **decrease** coverage by `38.70%`. > The diff coverage is `74.07%`. [![Impacted file tree graph](https://codecov.io/gh/apache/apisix-dashboard/pull/1465/graphs/tree.svg?width=650&height=150&src=pr&token=Q1HERXN96P)](https://codecov.io/gh/apache/apisix-dashboard/pull/1465?src=pr&el=tree) ```diff @@ Coverage Diff @@ ## master#1465 +/- ## === - Coverage 68.95% 30.25% -38.71% === Files 48 48 Lines3038 3051 +13 === - Hits 2095 923 -1172 - Misses705 1925 +1220 + Partials 238 203 -35 ``` | [Impacted Files](https://codecov.io/gh/apache/apisix-dashboard/pull/1465?src=pr&el=tree) | Coverage Δ | | |---|---|---| | [...l/handler/route\_online\_debug/route\_online\_debug.go](https://codecov.io/gh/apache/apisix-dashboard/pull/1465/diff?src=pr&el=tree#diff-YXBpL2ludGVybmFsL2hhbmRsZXIvcm91dGVfb25saW5lX2RlYnVnL3JvdXRlX29ubGluZV9kZWJ1Zy5nbw==) | `74.50% <74.07%> (+0.70%)` | :arrow_up: | | [api/internal/core/store/query.go](https://codecov.io/gh/apache/apisix-dashboard/pull/1465/diff?src=pr&el=tree#diff-YXBpL2ludGVybmFsL2NvcmUvc3RvcmUvcXVlcnkuZ28=) | `0.00% <0.00%> (-88.10%)` | :arrow_down: | | [api/internal/core/store/selector.go](https://codecov.io/gh/apache/apisix-dashboard/pull/1465/diff?src=pr&el=tree#diff-YXBpL2ludGVybmFsL2NvcmUvc3RvcmUvc2VsZWN0b3IuZ28=) | `0.00% <0.00%> (-75.93%)` | :arrow_down: | | [api/internal/handler/label/label.go](https://codecov.io/gh/apache/apisix-dashboard/pull/1465/diff?src=pr&el=tree#diff-YXBpL2ludGVybmFsL2hhbmRsZXIvbGFiZWwvbGFiZWwuZ28=) | `8.91% <0.00%> (-72.28%)` | :arrow_down: | | [api/internal/handler/service/service.go](https://codecov.io/gh/apache/apisix-dashboard/pull/1465/diff?src=pr&el=tree#diff-YXBpL2ludGVybmFsL2hhbmRsZXIvc2VydmljZS9zZXJ2aWNlLmdv) | `21.27% <0.00%> (-70.22%)` | :arrow_down: | | [api/internal/handler/plugin/plugin.go](https://codecov.io/gh/apache/apisix-dashboard/pull/1465/diff?src=pr&el=tree#diff-YXBpL2ludGVybmFsL2hhbmRsZXIvcGx1Z2luL3BsdWdpbi5nbw==) | `16.66% <0.00%> (-70.00%)` | :arrow_down: | | [api/internal/handler/upstream/upstream.go](https://codecov.io/gh/apache/apisix-dashboard/pull/1465/diff?src=pr&el=tree#diff-YXBpL2ludGVybmFsL2hhbmRsZXIvdXBzdHJlYW0vdXBzdHJlYW0uZ28=) | `20.56% <0.00%> (-68.23%)` | :arrow_down: | | [api/internal/handler/data\_loader/route\_export.go](https://codecov.io/gh/apache/apisix-dashboard/pull/1465/diff?src=pr&el=tree#diff-YXBpL2ludGVybmFsL2hhbmRsZXIvZGF0YV9sb2FkZXIvcm91dGVfZXhwb3J0Lmdv) | `3.38% <0.00%> (-65.79%)` | :arrow_down: | | [api/internal/utils/runtime/runtime.go](https://codecov.io/gh/apache/apisix-dashboard/pull/1465/diff?src=pr&el=tree#diff-YXBpL2ludGVybmFsL3V0aWxzL3J1bnRpbWUvcnVudGltZS5nbw==) | `0.00% <0.00%> (-64.29%)` | :arrow_down: | | [api/internal/handler/server\_info/server\_info.go](https://codecov.io/gh/apache/apisix-dashboard/pull/1465/diff?src=pr&el=tree#diff-YXBpL2ludGVybmFsL2hhbmRsZXIvc2VydmVyX2luZm8vc2VydmVyX2luZm8uZ28=) | `33.33% <0.00%> (-57.15%)` | :arrow_down: | | ... and [25 more](https://codecov.io/gh/apache/apisix-dashboard/pull/1465/diff?src=pr&el=tree-more) | | -- [Continue to review full report at Codecov](https://codecov.io/gh/apache/apisix-dashboard/pull/1465?src=pr&el=continue). > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta) > `Δ = absolute (impact)`, `ø = not affected`, `? = missing data` > Powered by [Codecov](https://codecov.io/gh/apache/apisix-dashboard/pull/1465?src=pr&el=footer). Last update [bd5ed03...6f324b9](https://codecov.io/gh/apache/apisix-dashboard/pull/1465?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments). 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-helm-chart] ncepuwanghui commented on issue #33: apisix-etcd-0 pod start error when use custom cluster domain on k3s
ncepuwanghui commented on issue #33: URL: https://github.com/apache/apisix-helm-chart/issues/33#issuecomment-785748621 I found the cause of the above problem. The reason is that the cluster domain name of apisix which set by "--set gateway.k8s_domain", is inconsistent with the domain of etcd chart which is dependent on `apisix-helm-chart`. [`clusterDomain` in values.yaml of etcd chart](https://github.com/bitnami/charts/blob/master/bitnami/etcd/values.yaml#L188) [`gateway.k8s_domain` in values.yaml of apisix-helm-chart](https://github.com/apache/apisix-helm-chart/blob/master/charts/apisix/values.yaml#L45) The cluster domain of etcd chart can be specified by `--set etcd.clusterDomain="your-custom-cluster-domain"`, when installing apisix-helm-chart. As follows: ``` helm install apisix ./charts/apisix --namespace ingress-apisix --set gateway.type=NodePort --set gateway.k8s_domain="custom.cluster.domain" --set etcd.clusterDomain="your-custom-cluster-domain" --set allow.ipList="{10.42.0.0/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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-ingress-controller] tokers edited a comment on issue #248: discuss: ApisixRoute change struct
tokers edited a comment on issue #248: URL: https://github.com/apache/apisix-ingress-controller/issues/248#issuecomment-781125680 The `ApisixRoute` should leverage the advantages of APISIX Routes as soon as possible, for instance, the flexible route match, native plugins support. ```yaml apiVersion: apisix.apache.org/v2alpha1 kind: ApisixRoute metadata: name: httpbin-route spec: http: - priority: 10 name: rule1 match: paths: - "/a" - "/bb*" methods: - GET - POST hosts: - a.com - aa.com remote_addrs: - 192.168.1.0/24 - 10.0.5.12 nginxVars: - subject: "$remote_addr" op: in array: - 127.0.0.1 - 10.0.5.11 backend: serviceName: httpbin servicePort: 8080 resolveGranularity: endpoint # by default is endpoint, optional value can be "service". plugins: - name: redirect enable: true config: aaa: bbb ccc: ddd ``` The `scripts` are used by plugin orchestration, we don't use 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] Firstsawyou commented on issue #3670: request help:
Firstsawyou commented on issue #3670: URL: https://github.com/apache/apisix/issues/3670#issuecomment-785766295 You should provide relevant configuration information and related steps for testing QPS, so that others know what is causing 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-dashboard] Jaycean commented on a change in pull request #1465: feat(be): Online debug function adds support for transfer files
Jaycean commented on a change in pull request #1465: URL: https://github.com/apache/apisix-dashboard/pull/1465#discussion_r582692452 ## File path: api/test/e2enew/route_online_debug/route_online_debug_test.go ## @@ -0,0 +1,785 @@ +/* + * 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. + */ +package route_online_debug + +import ( + "encoding/json" + "io/ioutil" + "net/http" + "path/filepath" + + "github.com/onsi/ginkgo" + "github.com/onsi/ginkgo/extensions/table" + "github.com/stretchr/testify/assert" + "github.com/tidwall/gjson" + + "e2enew/base" +) + +var _ = ginkgo.Describe("Route_Online_Debug", func() { + table.DescribeTable("Route_Online_Debug_Route_Not_Exist", + func(tc base.HttpTestCase) { + base.RunTestCase(tc) + }, + table.Entry("hit route that not exist", base.HttpTestCase{ + Object: base.APISIXExpect(), + Method: http.MethodGet, + Path: "/hello_", + ExpectStatus: http.StatusNotFound, + ExpectBody: "{\"error_msg\":\"404 Route Not Found\"}\n", + }), + table.Entry("online debug route with query params", base.HttpTestCase{ + Object: base.ManagerApiExpect(), + Method: http.MethodPost, + Path: "/apisix/admin/debug-request-forwarding", + Headers: map[string]string{ + "Authorization": base.GetToken(), + "online_debug_url": base.APISIXInternalUrl + `/hello_`, + "online_debug_request_protocol": "http", + "online_debug_method": "GET", + "Content-Type": "multipart/form-data", + "online_debug_header_params": `{"test":["test1"]}`, + }, + ExpectStatus: http.StatusOK, + ExpectBody: `{"code":404,"message":"404 Not Found","data":{"error_msg":"404 Route Not Found"}}`, + Sleep:base.SleepTime, + }), + ) + + table.DescribeTable("Route_Online_Debug_Route_With_Query_Params", + func(tc base.HttpTestCase) { + base.RunTestCase(tc) + }, + table.Entry("hit route that not exist", base.HttpTestCase{ + Object: base.APISIXExpect(), + Method: http.MethodGet, + Path: "/hello", + ExpectStatus: http.StatusNotFound, + ExpectBody: "{\"error_msg\":\"404 Route Not Found\"}\n", + }), + table.Entry("create route with query params", base.HttpTestCase{ + Object: base.ManagerApiExpect(), + Method: http.MethodPut, + Path: "/apisix/admin/routes/r1", + Body: `{ + "uri": "/hello", + "methods": ["GET"], + "vars": [ + ["arg_name","==","aaa"] + ], + "upstream": { + "type": "roundrobin", + "nodes": [{ + "host": "172.16.238.20", + "port": 1980, + "weight": 1 + }] + } + }`, + Headers: map[string]string{"Authorization": base.GetToken()}, + ExpectStatus: http.StatusOK, + }), + table.Entry("online debug route with query params", base.HttpTestCase{ + Object: base.ManagerAp
[GitHub] [apisix-helm-chart] tokers commented on issue #33: apisix-etcd-0 pod start error when use custom cluster domain on k3s
tokers commented on issue #33: URL: https://github.com/apache/apisix-helm-chart/issues/33#issuecomment-785777645 @ncepuwanghui Yep, the etcd has its own configuration section. 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-helm-chart] tokers closed issue #33: apisix-etcd-0 pod start error when use custom cluster domain on k3s
tokers closed issue #33: URL: https://github.com/apache/apisix-helm-chart/issues/33 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-docker] tokers commented on a change in pull request #137: feat: support build apisix image from local code
tokers commented on a change in pull request #137: URL: https://github.com/apache/apisix-docker/pull/137#discussion_r582707764 ## File path: .github/workflows/apisix-alpine-local-docker-test.yaml ## @@ -0,0 +1,43 @@ +name: APISIX Alpine local docker Test + +on: + push: +branches: + - master + pull_request: +branches: + - master + +jobs: + build: +runs-on: ubuntu-latest +steps: + - uses: actions/checkout@v2 + - name: Build and run +run: | + git clone http://github.com/apache/apisix Review comment: OK 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] cverdela commented on issue #3670: request help:
cverdela commented on issue #3670: URL: https://github.com/apache/apisix/issues/3670#issuecomment-785780476 wolf-server runs on server A. apisix runs on server B with etcd. all runs in docker. apisix limit 1 cpu . i use jmeter with 100 threads QPS was 3000/s when i use plugins wolf-rbac, QPS down to 300/s only add plugins wolf-rbac in /apisix/admin/routes All of other configurations are default 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] spacewander commented on issue #3659: bug: Please remove obsolete versions from mirror server
spacewander commented on issue #3659: URL: https://github.com/apache/apisix/issues/3659#issuecomment-785781036 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] spacewander closed issue #3659: bug: Please remove obsolete versions from mirror server
spacewander closed issue #3659: URL: https://github.com/apache/apisix/issues/3659 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[apisix-docker] branch master updated: feat: support build apisix image from local code (#137)
This is an automated email from the ASF dual-hosted git repository. kvn pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/apisix-docker.git The following commit(s) were added to refs/heads/master by this push: new 5675363 feat: support build apisix image from local code (#137) 5675363 is described below commit 56753632774e06177e241e88ef7b3bf661104772 Author: Shuyang Wu AuthorDate: Thu Feb 25 18:13:49 2021 +0800 feat: support build apisix image from local code (#137) * feat: support build apisix image from local code Signed-off-by: yiyiyimu * fix typo Signed-off-by: yiyiyimu * fix path Signed-off-by: yiyiyimu * fix path Signed-off-by: yiyiyimu * change cp to mv to reduce image size Signed-off-by: yiyiyimu * fix typo Signed-off-by: yiyiyimu * to get dir name of apisix Signed-off-by: yiyiyimu * no need to copy apisix to image Signed-off-by: yiyiyimu * revert Signed-off-by: yiyiyimu * revert Signed-off-by: yiyiyimu * add ARG Signed-off-by: yiyiyimu * add doc Signed-off-by: yiyiyimu --- .github/workflows/apisix-alpine-docker-test.yaml | 1 - ...t.yaml => apisix-alpine-local-docker-test.yaml} | 20 +++--- Makefile | 4 ++ README.md | 12 +- alpine-local/Dockerfile| 43 ++ {alpine => alpine-local}/docker-compose.yaml | 3 +- alpine/docker-compose.yaml | 1 - 7 files changed, 64 insertions(+), 20 deletions(-) diff --git a/.github/workflows/apisix-alpine-docker-test.yaml b/.github/workflows/apisix-alpine-docker-test.yaml index 74d2c1a..e009d5d 100644 --- a/.github/workflows/apisix-alpine-docker-test.yaml +++ b/.github/workflows/apisix-alpine-docker-test.yaml @@ -48,4 +48,3 @@ jobs: uses: actions/upload-artifact@v2 with: path: ./package - diff --git a/.github/workflows/apisix-alpine-docker-test.yaml b/.github/workflows/apisix-alpine-local-docker-test.yaml similarity index 71% copy from .github/workflows/apisix-alpine-docker-test.yaml copy to .github/workflows/apisix-alpine-local-docker-test.yaml index 74d2c1a..e03c805 100644 --- a/.github/workflows/apisix-alpine-docker-test.yaml +++ b/.github/workflows/apisix-alpine-local-docker-test.yaml @@ -1,4 +1,4 @@ -name: APISIX Alpine docker Test +name: APISIX Alpine local docker Test on: push: @@ -15,10 +15,12 @@ jobs: - uses: actions/checkout@v2 - name: Build and run run: | - make build-on-alpine - docker-compose -f ./alpine/docker-compose.yaml up -d + git clone http://github.com/apache/apisix apisix-local + export APISIX_PATH="./apisix-local" + make build-on-alpine-local + docker-compose -f ./alpine-local/docker-compose.yaml up -d sleep 30 - docker logs alpine_apisix_1 + docker logs alpine-local_apisix_1 - name: Test run: | @@ -39,13 +41,3 @@ jobs: printf "result_code: %s\n" "$result_code" exit 125 fi - - - name: Tar Image -run: | - make save-alpine-tar - - - name: Upload Image -uses: actions/upload-artifact@v2 -with: - path: ./package - diff --git a/Makefile b/Makefile index 26bb14a..0ffb124 100644 --- a/Makefile +++ b/Makefile @@ -28,6 +28,10 @@ build-on-centos: build-on-alpine: docker build -t $(IMAGE_NAME):$(APISIX_VERSION)-alpine -f ./alpine/Dockerfile . +### build-on-alpine: Build apaceh/apisix:xx-alpine image +build-on-alpine-local: + docker build -t $(IMAGE_NAME):alpine-local --build-arg APISIX_PATH=${APISIX_PATH} -f ./alpine-local/Dockerfile . + ### save-centos-tar: tar apaceh/apisix:xx-centos image save-centos-tar: mkdir -p package diff --git a/README.md b/README.md index ee645b9..45a1a4d 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ ### Build an image from source -1. install release version: +1. Build from release version: ``` # Assign Apache release version number to variable `APISIX_VERSION`, for example: 2.2 . The latest version can be find at `https://github.com/apache/apisix/releases` @@ -14,12 +14,20 @@ export APISIX_VERSION=2.2 docker build -t apisix:${APISIX_VERSION}-alpine --build-arg APISIX_VERSION=${APISIX_VERSION} -f alpine/Dockerfile alpine ``` -2. install master branch version, which has latest code(ONLY for the developer's convenience): +2. Build from master branch version, which has latest code(ONLY for the developer's convenience): ``` export APISIX_VERSION=master docker build -t apisix:${APISIX_VERSION}-alpine --build-arg APISIX_VERSION=${APISIX_VERSION} -f
[GitHub] [apisix-docker] gxthrj merged pull request #137: feat: support build apisix image from local code
gxthrj merged pull request #137: URL: https://github.com/apache/apisix-docker/pull/137 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-docker] gxthrj closed issue #135: feature request: build image with local code
gxthrj closed issue #135: URL: https://github.com/apache/apisix-docker/issues/135 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-ingress-controller] tokers merged pull request #270: docs: update docs for website
tokers merged pull request #270: URL: https://github.com/apache/apisix-ingress-controller/pull/270 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[apisix-ingress-controller] branch master updated: docs: update docs for website (#270)
This is an automated email from the ASF dual-hosted git repository. tokers pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/apisix-ingress-controller.git The following commit(s) were added to refs/heads/master by this push: new c9dd292 docs: update docs for website (#270) c9dd292 is described below commit c9dd2928649767bf916f3f9f3393af643e6b77b1 Author: 琚致远 AuthorDate: Thu Feb 25 18:14:37 2021 +0800 docs: update docs for website (#270) --- docs/en/latest/CRD-specification.md| 209 ++--- docs/en/latest/FAQ.md | 11 +- docs/en/latest/config.json | 28 +-- docs/en/latest/contribute.md | 25 ++- docs/en/latest/deployments/ack.md | 21 +-- docs/en/latest/deployments/aws.md | 21 +-- docs/en/latest/deployments/azure.md| 25 +-- docs/en/latest/deployments/gke.md | 21 +-- docs/en/latest/deployments/k3s-rke.md | 23 +-- docs/en/latest/deployments/kubesphere.md | 19 +- docs/en/latest/deployments/minikube.md | 19 +- docs/en/latest/deployments/tke.md | 21 +-- docs/en/latest/design.md | 20 +- docs/en/latest/development.md | 27 ++- docs/en/latest/samples/index.md| 15 +- .../proxy-the-httpbin-service-with-ingress.md | 17 +- .../en/latest/samples/proxy-the-httpbin-service.md | 31 ++- docs/en/latest/usage.md| 35 ++-- 18 files changed, 268 insertions(+), 320 deletions(-) diff --git a/docs/en/latest/CRD-specification.md b/docs/en/latest/CRD-specification.md index 2ea3f1f..c694350 100644 --- a/docs/en/latest/CRD-specification.md +++ b/docs/en/latest/CRD-specification.md @@ -1,3 +1,7 @@ +--- +title: CRD specification +--- + - -id: crd-specification -title: CRD specification - - In order to control the behavior of the proxy ([Apache APISIX](https://github.com/apache/apisix)), the following CRDs should be defined. ## CRD Types @@ -54,37 +51,37 @@ metadata: namespace: cloud spec: rules: -- host: test.apisix.apache.org - http: -paths: - - backend: - serviceName: httpserver - servicePort: 8080 -path: /hello* -plugins: - - name: limit-count -enable: true -config: - count: 2 - time_window: 60 - rejected_code: 503 - key: remote_addr + - host: test.apisix.apache.org +http: + paths: + - backend: + serviceName: httpserver + servicePort: 8080 +path: /hello* +plugins: + - name: limit-count +enable: true +config: + count: 2 + time_window: 60 + rejected_code: 503 + key: remote_addr ``` -| Field | Type| Description | -| --- | --- | | -| rules | array | ApisixRoute's request matching rules. | -| host| string | The requested host. | -| http| object | Route rules are applied to the scope of layer 7 traffic. | -| paths | array | Path-based `route` rule matching. | -| backend | object | Backend service information configuration. | -| serviceName | string | The name of backend service. `namespace + serviceName + servicePort` form an unique identifier to match the back-end service. | -| servicePort | int | The port of backend service. `namespace + serviceName + serviceP
[GitHub] [apisix] spacewander commented on a change in pull request #3660: chore: update makefile install to install everything in conf
spacewander commented on a change in pull request #3660: URL: https://github.com/apache/apisix/pull/3660#discussion_r582710058 ## File path: Makefile ## @@ -143,9 +143,8 @@ install: default $(INSTALL) -d /usr/local/apisix/ $(INSTALL) -d /usr/local/apisix/logs/ $(INSTALL) -d /usr/local/apisix/conf/cert - $(INSTALL) conf/mime.types /usr/local/apisix/conf/mime.types - $(INSTALL) conf/config.yaml /usr/local/apisix/conf/config.yaml - $(INSTALL) conf/config-default.yaml /usr/local/apisix/conf/config-default.yaml + $(INSTALL) conf/*.types /usr/local/apisix/conf/ + $(INSTALL) conf/*.yaml /usr/local/apisix/conf/ Review comment: Unlike the Lua code, the configuration file are independent and should be list explicitly. 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] spacewander commented on issue #3663: bug: script does not work
spacewander commented on issue #3663: URL: https://github.com/apache/apisix/issues/3663#issuecomment-785783235 The route one is preferred. 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] spacewander closed issue #3662: [discuss]: remove the `location /apisix/dashboard` API interface in the ngx_tpl.lua file
spacewander closed issue #3662: URL: https://github.com/apache/apisix/issues/3662 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[apisix] branch master updated (1d512b8 -> 2c12a36)
This is an automated email from the ASF dual-hosted git repository. spacewander pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/apisix.git. from 1d512b8 docs: modify the docs directory (#3661) add 2c12a36 chore: remove the useless configuration in the ngx_tpl.lua file (#3668) No new revisions were added by this update. Summary of changes: apisix/cli/ngx_tpl.lua | 34 -- 1 file changed, 34 deletions(-)
[GitHub] [apisix] spacewander merged pull request #3668: chore: remove the useless configuration in the ngx_tpl.lua file
spacewander merged pull request #3668: URL: https://github.com/apache/apisix/pull/3668 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-dashboard] LiteSun merged pull request #1513: feat: support configure enabled plugin list & sync JSON Schema
LiteSun merged pull request #1513: URL: https://github.com/apache/apisix-dashboard/pull/1513 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-dashboard] LiteSun closed issue #1508: feat: Dashboard should keep same as APISIX, the enabled plugin list can be configured.
LiteSun closed issue #1508: URL: https://github.com/apache/apisix-dashboard/issues/1508 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[apisix-dashboard] branch master updated: feat: support configure enabled plugin list & sync JSON Schema (#1513)
This is an automated email from the ASF dual-hosted git repository. sunyi 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 25c5b09 feat: support configure enabled plugin list & sync JSON Schema (#1513) 25c5b09 is described below commit 25c5b09ecf73112cde6e944c7721dce56247b94c Author: nic-chen <33000667+nic-c...@users.noreply.github.com> AuthorDate: Thu Feb 25 18:20:12 2021 +0800 feat: support configure enabled plugin list & sync JSON Schema (#1513) --- .github/workflows/backend-e2e-test.yml | 3 +- .github/workflows/frontend-e2e-test.yml| 4 +- api/conf/conf.yaml | 47 + api/conf/schema.json | 296 +++-- api/internal/conf/conf.go | 10 + api/internal/handler/plugin/plugin.go | 13 +- api/internal/handler/plugin/plugin_test.go | 18 ++ 7 files changed, 370 insertions(+), 21 deletions(-) diff --git a/.github/workflows/backend-e2e-test.yml b/.github/workflows/backend-e2e-test.yml index 1dc62e2..4c91dd6 100644 --- a/.github/workflows/backend-e2e-test.yml +++ b/.github/workflows/backend-e2e-test.yml @@ -20,13 +20,14 @@ jobs: with: go-version: '1.13' - - name: Modify conf.yaml Configure for use by the manage-api cluster + - name: Modify conf.yaml run: | sed -i 's/127.0.0.1:2379/172.16.238.10:2379/' ./api/conf/conf.yaml sed -i 's/127.0.0.1/0.0.0.0/' ./api/conf/conf.yaml sed -i '/172.16.238.10:2379/a\ - 172.16.238.11:2379' ./api/conf/conf.yaml sed -i '/172.16.238.10:2379/a\ - 172.16.238.12:2379' ./api/conf/conf.yaml sed -i 's@127.0.0.0/24@0.0.0.0/0@' ./api/conf/conf.yaml + sed -i 's@# - dubbo-proxy@- dubbo-proxy@' ./api/conf/conf.yaml - name: download file Dockerfile-apisix working-directory: ./api/test/docker diff --git a/.github/workflows/frontend-e2e-test.yml b/.github/workflows/frontend-e2e-test.yml index 654511b..1167d96 100644 --- a/.github/workflows/frontend-e2e-test.yml +++ b/.github/workflows/frontend-e2e-test.yml @@ -41,7 +41,9 @@ jobs: - name: Start manager-api working-directory: ./api -run: nohup go run ./cmd/manager & +run: | + sed -i 's@# - dubbo-proxy@- dubbo-proxy@' ./conf/conf.yaml + nohup go run ./cmd/manager & - name: Install front-end dependencies run: yarn install diff --git a/api/conf/conf.yaml b/api/conf/conf.yaml index 68b1cad..a595de1 100644 --- a/api/conf/conf.yaml +++ b/api/conf/conf.yaml @@ -55,3 +55,50 @@ authentication: password: admin - username: user password: user + +plugins: # plugin list (sorted in alphabetical order) + - api-breaker + - authz-keycloak + - basic-auth + - batch-requests + - consumer-restriction + - cors + # - dubbo-proxy + - echo + # - error-log-logger + # - example-plugin + - fault-injection + - grpc-transcode + - hmac-auth + - http-logger + - ip-restriction + - jwt-auth + - kafka-logger + - key-auth + - limit-conn + - limit-count + - limit-req + # - log-rotate + # - node-status + - openid-connect + - prometheus + - proxy-cache + - proxy-mirror + - proxy-rewrite + - redirect + - referer-restriction + - request-id + - request-validation + - response-rewrite + - serverless-post-function + - serverless-pre-function + # - skywalking + - sls-logger + - syslog + - tcp-logger + - udp-logger + - uri-blocker + - wolf-rbac + - zipkin + - server-info + - traffic-split diff --git a/api/conf/schema.json b/api/conf/schema.json index 345e9a0..200d9f2 100644 --- a/api/conf/schema.json +++ b/api/conf/schema.json @@ -78,6 +78,37 @@ "required": ["plugins"], "type": "object" }, + "plugin_config": { + "additionalProperties": false, + "properties": { + "create_time": { + "type": "integer" + }, + "desc": { + "maxLength": 256, + "type": "string" + }, + "id": { + "anyOf": [{ + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-_.]+$", + "type": "string" + }, { + "minimum": 1, + "type": "integer" +
[GitHub] [apisix] Firstsawyou commented on a change in pull request #3512: feat: the traffic-split plugin supports upstream_id
Firstsawyou commented on a change in pull request #3512: URL: https://github.com/apache/apisix/pull/3512#discussion_r582713218 ## File path: apisix/plugins/traffic-split.lua ## @@ -97,7 +97,7 @@ local upstreams_schema = { items = { type = "object", properties = { -upstream_id = schema_def.id_schema,-- todo: support upstream_id method +upstream_id = schema_def.id_schema, Review comment: I think these two methods can be supported at the same time, so that there is one more option to use upstream and upstream_id in combination. And the traffic processing between them does not conflict, they are various independent. 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] spacewander commented on pull request #3667: test: add fuzzing case for the route with vars
spacewander commented on pull request #3667: URL: https://github.com/apache/apisix/pull/3667#issuecomment-785785861 It is the solved problem I said at the noon. 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] spacewander edited a comment on pull request #3667: test: add fuzzing case for the route with vars
spacewander edited a comment on pull request #3667: URL: https://github.com/apache/apisix/pull/3667#issuecomment-785785861 It is the solved problem I said at the noon. Please merge master to make CI pass. 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] tokers commented on a change in pull request #3512: feat: the traffic-split plugin supports upstream_id
tokers commented on a change in pull request #3512: URL: https://github.com/apache/apisix/pull/3512#discussion_r582714377 ## File path: apisix/plugins/traffic-split.lua ## @@ -97,7 +97,7 @@ local upstreams_schema = { items = { type = "object", properties = { -upstream_id = schema_def.id_schema,-- todo: support upstream_id method +upstream_id = schema_def.id_schema, Review comment: Anyway, it's trivial. 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] spacewander commented on a change in pull request #3667: test: add fuzzing case for the route with vars
spacewander commented on a change in pull request #3667: URL: https://github.com/apache/apisix/pull/3667#discussion_r582714737 ## File path: t/fuzzing/vars_route_test.py ## @@ -0,0 +1,95 @@ +#! /usr/bin/env python + +# +# 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. +# + +import subprocess +from public import * +from boofuzz import * + +def create_route(): +command = '''curl -i http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d ' +{ +"uri": "/parameter*", +"vars": [ +["arg_name","==","jack"], +["http_token","==","140b543013d988f4767277b6f45ba542"] +], +"upstream": { +"nodes": { +"127.0.0.1:": 1 +}, +"type": "roundrobin" +} +}' +''' +subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True) + +def main(): +fw = open(cur_dir() + "/test.log",'wb') +fuzz_loggers = [FuzzLoggerText(file_handle=fw)] +session = Session( +target=Target( +connection=TCPSocketConnection("127.0.0.1", 9080, send_timeout=5.0, recv_timeout=5.0, server=False) +), +fuzz_loggers=fuzz_loggers, +keep_web_open=False, +) + +s_initialize(name="Request") +with s_block("Request-Line"): +s_group("Method", ['GET', 'HEAD', 'POST', 'PUT', 'DELETE', 'CONNECT', 'OPTIONS', 'TRACE']) +s_delim(" ", name='space-1') +s_string("/parameter?name=jack", name='Request-URI') +s_delim(" ", name='space-2') +s_string('HTTP/1.1', name='HTTP-Version') +s_static("\r\n", name="Request-Line-CRLF") +s_string("Host:", name="Host-Line") +s_delim(" ", name="space-3") +s_string("example.com", name="Host-Line-Value") +s_static("\r\n", name="Host-Line-CRLF") +s_string("Connection:", name="Connection-Line") +s_delim(" ", name="space-4") +s_string("Keep-Alive", name="Connection-Line-Value") +s_static("\r\n", name="Connection-Line-CRLF") +s_string("User-Agent:", name="User-Agent-Line") +s_delim(" ", name="space-5") +s_string("Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.83 Safari/537.1", name="User-Agent-Line-Value") +s_static("\r\n", name="User-Agent-Line-CRLF") +s_string("token:", name="age-Line") +s_delim(" ", name="space-6") +s_string("140b543013d988f4767277b6f45ba542", name="age-Line-Value") +s_static("\r\n", name="age-Line-CRLF") + +s_static("\r\n", "Request-CRLF") +session.connect(s_get("Request")) +session.fuzz() + +if __name__ == "__main__": +# before test +create_route() +r1 = check_process() +main() +# after test +boofuzz_log = cur_dir() + "/test.log" +apisix_errorlog = "~/work/apisix/apisix/logs/error.log" Review comment: All the fuzzy scripts are similar. Can we share the common part of them? 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] tokers commented on a change in pull request #3512: feat: the traffic-split plugin supports upstream_id
tokers commented on a change in pull request #3512: URL: https://github.com/apache/apisix/pull/3512#discussion_r582714377 ## File path: apisix/plugins/traffic-split.lua ## @@ -97,7 +97,7 @@ local upstreams_schema = { items = { type = "object", properties = { -upstream_id = schema_def.id_schema,-- todo: support upstream_id method +upstream_id = schema_def.id_schema, Review comment: Anyway, it's trivial. People don't need two upstream in same block, one is `upstream`, the other is `upstream_id`, it's confusing if allow them to coexist. 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] tokers commented on a change in pull request #3512: feat: the traffic-split plugin supports upstream_id
tokers commented on a change in pull request #3512: URL: https://github.com/apache/apisix/pull/3512#discussion_r582716039 ## File path: apisix/plugins/traffic-split.lua ## @@ -97,7 +97,7 @@ local upstreams_schema = { items = { type = "object", properties = { -upstream_id = schema_def.id_schema,-- todo: support upstream_id method +upstream_id = schema_def.id_schema, Review comment: But we can limit this on Dashboard. 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] tokers commented on issue #3616: request help: how nodes will be recovered from unhealthy
tokers commented on issue #3616: URL: https://github.com/apache/apisix/issues/3616#issuecomment-785789041 > > Hi, @yocaning > > You need to pay attention to your configuration. The `http_path` of the active health check should be consistent with the uri that provides the service. Secondly, the value of `"timeout":1` is recommended to be set larger. > > This is an example, you can refer to it > > 1、Add a route and enable health check > > The 1981 and 1982 ports are healthy, but the 1985 port is unhealthy. > > ```shell > > curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d ' > > { > > "id":"1", > > "update_time":1613734165, > > "upstream":{ > > "checks":{ > > "active":{ > > "healthy":{ > > "interval":3, > > "successes":2 > > }, > > "unhealthy":{ > > "interval":10, > > "http_failures":2 > > }, > > "timeout":10, > > "http_path":"/hello", > > "type":"http", > > "req_headers":[ > > "Content-Seq:3" > > ] > > }, > > "passive":{ > > "timeout":5, > > "healthy":{ > > "http_statuses":[ > > 200, > > 201 > > ], > > "successes":3 > > }, > > "type":"http", > > "unhealthy":{ > > "http_statuses":[ > > 500, > > 504 > > ], > > "timeouts":3, > > "tcp_failures":1, > > "http_failures":1 > > } > > } > > }, > > "nodes":{ > > "127.0.0.1:1980":1, > > "127.0.0.1:1981":1, > > "127.0.0.1:1985":1 > > }, > > "timeout":{ > > "connect":3, > > "read":3, > > "send":3 > > }, > > "pass_host":"pass", > > "hash_on":"vars", > > "type":"roundrobin" > > }, > > "methods":[ > > "PUT", > > "GET" > > ], > > "status":1, > > "create_time":1613722689, > > "priority":0, > > "uri":"/hello" > > }' > > ``` > > > > > > 2、Access request and view error.log > > ``` > > $ curl http://127.0.0.1:9080/hello > > hello 1980 > > > > $ tail -f error.log > > 2021/02/22 15:41:42 [warn] 23035#23035: *66190 [lua] healthcheck.lua:1107: log(): [healthcheck] (upstream#/apisix/routes/1) unhealthy TCP increment (1/2) for '(127.0.0.1:1985)', context: ngx.timer, client: 127.0.0.1, server: 0.0.0.0:9080 > > 2021/02/22 15:41:48 [warn] 23035#23035: *66445 [lua] healthcheck.lua:1107: log(): [healthcheck] (upstream#/apisix/routes/1) unhealthy TCP increment (2/2) for '(127.0.0.1:1985)', context: ngx.timer, client: 127.0.0.1, server: 0.0.0.0:9080 > > > > 2021/02/22 15:42:56 [warn] 23036#23036: *69367 [lua] healthcheck.lua:1107: log(): [healthcheck] (upstream#/apisix/routes/1) healthy SUCCESS increment (1/2) for '(127.0.0.1:1980)', context: ngx.timer, client: 127.0.0.1, server: 0.0.0.0:9080 > > 2021/02/22 15:42:56 [warn] 23036#23036: *69367 [lua] healthcheck.lua:1107: log(): [healthcheck] (upstream#/apisix/routes/1) healthy SUCCESS increment (1/2) for '(127.0.0.1:1981)', context: ngx.timer, client: 127.0.0.1, server: 0.0.0.0:9080 > > ``` > > > > > > 3、When the port of `1985` recovered health and view error.log > > When an unhealthy node is restored to a healthy node, it will be automatically marked as healthy. > > ``` > > 2021/02/22 15:57:32 [warn] 23035#23035: *107236 [lua] healthcheck.lua:1107: log(): [healthcheck] (upstream#/apisix/routes/1) healthy SUCCESS increment (2/2) for '(127.0.0.1:1985)', context: ngx.timer, client: 127.0.0.1, server: 0.0.0.0:9080 > > ``` > > What are the requirements for this health check method? when my node is unhealthy , the auto healthy check method work。and response http header status =200 。but still not marked as healthy The active health checker needs more times try to judge whether a node is healthy or unhealthy, not just one time. See https://github.com/apache/apisix/blob/master/apisix/schema_def.lua#L134. You may tweak these args to see the change. 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
[GitHub] [apisix] Firstsawyou commented on pull request #3494: docs: update the docs of the prometheus plugin
Firstsawyou commented on pull request #3494: URL: https://github.com/apache/apisix/pull/3494#issuecomment-785793278 @moonming @juzhiyuan @tokers Please take a look. 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-dashboard] guoqqqi opened a new pull request #1515: test: front-end e2e test for rawDataEditor
guoqqqi opened a new pull request #1515: URL: https://github.com/apache/apisix-dashboard/pull/1515 Please answer these questions before submitting a pull request - Why submit this pull request? - [ ] Bugfix - [ ] New feature provided - [ ] Improve performance - [ ] Backport patches - Related issues resolve #1506 ___ ### Please add the corresponding test cases if necessary. Added tests for Route, Service, Upstream, Consumer for rawDataEditor ___ 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-dashboard] LiteSun commented on a change in pull request #1515: test: front-end e2e test for rawDataEditor
LiteSun commented on a change in pull request #1515: URL: https://github.com/apache/apisix-dashboard/pull/1515#discussion_r582736034 ## File path: web/cypress/integration/route/create-edit-delete-route.spec.js ## @@ -85,6 +85,21 @@ context('Create and Delete Route', () => { cy.url().should('contains', 'routes/list'); }); + it('should view the route', function () { +cy.visit('/'); +cy.contains('Route').click(); + +cy.get(this.domSelector.nameSelector).type(name); +cy.contains('Search').click(); +cy.contains(name).siblings().contains('View').click(); +cy.get('.ant-drawer-content').should('be.visible'); Review comment: ditto ## File path: web/cypress/integration/consumer/create_and_delete_consumer.spec.js ## @@ -56,6 +56,21 @@ context('Create and Delete Consumer', () => { cy.get(this.domSelector.notification).should('contain', this.data.createConsumerSuccess); }); + it('should view the consumer', function () { +cy.visit('/'); +cy.contains('Consumer').click(); + +cy.get(this.domSelector.nameSelector).type(this.data.consumerName); +cy.contains('Search').click(); +cy.contains(this.data.consumerName).siblings().contains('View').click(); +cy.get('.ant-drawer-content').should('be.visible'); Review comment: ```suggestion cy.get(this.domSelector.xxx).should('be.visible'); ``` ## File path: web/cypress/integration/route/create-edit-delete-route.spec.js ## @@ -103,6 +118,15 @@ context('Create and Delete Route', () => { cy.contains('Goto List').click(); cy.url().should('contains', 'routes/list'); cy.contains(newName).siblings().should('contain', this.data.description2); + +// test view +cy.contains(newName).siblings().contains('View').click(); +cy.get('.ant-drawer-content').should('be.visible'); Review comment: ditto ## File path: web/cypress/integration/service/create-edit-delete-service.spec.js ## @@ -40,6 +40,21 @@ context('create and delete service ', () => { cy.get(this.domSelector.notification).should('contain', this.data.createServiceSuccess); }); + it('should view the service', function () { +cy.visit('/'); +cy.contains('Service').click(); + +cy.get(this.domSelector.nameSelector).type(this.data.serviceName); +cy.contains('Search').click(); +cy.contains(this.data.serviceName).siblings().contains('View').click(); +cy.get('.ant-drawer-content').should('be.visible'); Review comment: ditto ## File path: web/cypress/integration/service/create-edit-delete-service.spec.js ## @@ -59,10 +74,20 @@ context('create and delete service ', () => { cy.contains('Next').click(); cy.contains('Submit').click(); cy.get(this.domSelector.notification).should('contain', this.data.editServiceSuccess); + +// test view +cy.contains(this.data.serviceName2).siblings().contains('View').click(); +cy.get('.ant-drawer-content').should('be.visible'); Review comment: ditto ## File path: web/cypress/integration/service/create-edit-delete-service.spec.js ## @@ -59,10 +74,20 @@ context('create and delete service ', () => { cy.contains('Next').click(); cy.contains('Submit').click(); cy.get(this.domSelector.notification).should('contain', this.data.editServiceSuccess); + +// test view +cy.contains(this.data.serviceName2).siblings().contains('View').click(); +cy.get('.ant-drawer-content').should('be.visible'); + +cy.get('.CodeMirror-scroll').within(() => { Review comment: ```suggestion cy.get(this.domSelector.xxx).within(() => { ``` ## File path: web/cypress/integration/upstream/create_and_delete_upstream.spec.js ## @@ -41,6 +41,22 @@ context('Create and Delete Upstream', () => { cy.url().should('contains', 'upstream/list'); }); + it('should view the (roundrobin) upstream', function () { +cy.visit('/'); +cy.contains('Upstream').click(); + +cy.get(this.domSelector.nameSelector).type(this.data.upstreamName); +cy.contains('Search').click(); +cy.contains(this.data.upstreamName).siblings().contains('View').click(); +cy.get('.ant-drawer-content').should('be.visible'); Review comment: ditto 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-dashboard] Jaycean commented on a change in pull request #1502: feat: rewrite e2e test(upstream_test) with ginkgo
Jaycean commented on a change in pull request #1502: URL: https://github.com/apache/apisix-dashboard/pull/1502#discussion_r582741709 ## File path: api/test/e2enew/upstream/upstream_test.go ## @@ -0,0 +1,606 @@ +/* + * 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. + */ +package upstream + +import ( + "encoding/json" + "io/ioutil" + "net/http" + "time" + + "github.com/onsi/ginkgo" + "github.com/stretchr/testify/assert" + + "e2enew/base" +) + +var _ = ginkgo.Describe("Upstream", func() { + ginkgo.It("test upstream create", func() { + base.RunTestCase(base.HttpTestCase{ + Object: base.ManagerApiExpect(), + Method: http.MethodPut, + Path: "/apisix/admin/routes/r1", + Body: `{ +"uri": "/hello", +"upstream_id": "not-exists" +}`, + Headers: map[string]string{"Authorization": base.GetToken()}, + ExpectStatus: http.StatusBadRequest, + }) + }) + + ginkgo.It("create upstream", func() { Review comment: done. ## File path: api/test/e2enew/upstream/upstream_test.go ## @@ -0,0 +1,606 @@ +/* + * 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. + */ +package upstream + +import ( + "encoding/json" + "io/ioutil" + "net/http" + "time" + + "github.com/onsi/ginkgo" + "github.com/stretchr/testify/assert" + + "e2enew/base" +) + +var _ = ginkgo.Describe("Upstream", func() { + ginkgo.It("test upstream create", func() { Review comment: done. ## File path: api/test/e2enew/upstream/upstream_test.go ## @@ -0,0 +1,606 @@ +/* + * 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. + */ +package upstream + +import ( + "encoding/json" + "io/ioutil" + "net/http" + "time" + + "github.com/onsi/ginkgo" + "github.com/stretchr/testify/assert" + + "e2enew/base" +) + +var _ = ginkgo.Describe("Upstream", func() { + ginkgo.It("test upstream create", func() { + base.RunTestCase(base.HttpTestCase{ + Object: base.ManagerApiExpect(), + Method: http.MethodPut, + Path: "/apisix/admin/routes/r1", + Body: `{ +"uri": "/hello", +"upstream_id": "not-exists" +}`, + Headers: map[string]string{"Authorization": base.GetToken()}, +
[GitHub] [apisix-helm-chart] Junnplus commented on pull request #31: feat: add ingress controller helm chart
Junnplus commented on pull request #31: URL: https://github.com/apache/apisix-helm-chart/pull/31#issuecomment-785818175 @tokers We can merge this? 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] spacewander opened a new pull request #3672: chore: use status code directly like other similar places
spacewander opened a new pull request #3672: URL: https://github.com/apache/apisix/pull/3672 See https://github.com/apache/apisix/pull/3629#discussion_r582423351 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? * [ ] 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] spacewander commented on a change in pull request #3629: feat: add dns discovery
spacewander commented on a change in pull request #3629: URL: https://github.com/apache/apisix/pull/3629#discussion_r582750453 ## File path: apisix/upstream.lua ## @@ -179,7 +179,12 @@ function _M.set_by_route(route, api_ctx) if not dis then return 500, "discovery " .. up_conf.discovery_type .. " is uninitialized" end -local new_nodes = dis.nodes(up_conf.service_name) + +local new_nodes, err = dis.nodes(up_conf.service_name) +if not new_nodes then +return http_code_upstream_unavailable, "no valid upstream node: " .. (err or "nil") Review comment: @membphis I have submitted another PR to use the number literal directly: https://github.com/apache/apisix/pull/3672, which is more consistent in the style. 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] GBXing opened a new issue #3673: request help: A node in the K8S environment ETCD cluster died, causing Apisix to fail
GBXing opened a new issue #3673: URL: https://github.com/apache/apisix/issues/3673 ### Issue description Deploy Apisix and ETCD using K8S, configure 3 ETCD nodes by domain name in the Apisix configuration file, one of the ETCD nodes died, resulting in an Apisix error, the log indicates that the ETCD node domain name cannot be resolved.Is resty.etcd unable to determine if the configured nodes are normal?What's the solution ### Environment * apisix version (cmd: `apisix version`): 2.2 * OS (cmd: `uname -a`): CentOS * OpenResty / Nginx version (cmd: `nginx -V` or `openresty -V`): 1.19.3.1 * etcd version, if have (cmd: run `curl http://127.0.0.1:9090/v1/server_info` to get the info from server-info API): v3.4.0 * apisix-dashboard version, if have: 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] spacewander commented on a change in pull request #3629: feat: add dns discovery
spacewander commented on a change in pull request #3629: URL: https://github.com/apache/apisix/pull/3629#discussion_r582764506 ## File path: apisix/upstream.lua ## @@ -179,7 +179,12 @@ function _M.set_by_route(route, api_ctx) if not dis then return 500, "discovery " .. up_conf.discovery_type .. " is uninitialized" end -local new_nodes = dis.nodes(up_conf.service_name) + +local new_nodes, err = dis.nodes(up_conf.service_name) +if not new_nodes then +return http_code_upstream_unavailable, "no valid upstream node: " .. (err or "nil") Review comment: I changed my idea and followed your suggestion. 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] nic-chen opened a new issue #3674: When multiple plugins are configured in plugin_config, only one takes effect
nic-chen opened a new issue #3674: URL: https://github.com/apache/apisix/issues/3674 When I use Admin API to configure `plugin_config`, it works fine with multiple plugins. Here is the data in ETCD that configured by Admin API: ``` /apisix/plugin_configs/1 {"create_time":1614250686,"update_time":1614250686,"plugins":{"response-rewrite":{"headers":{"X-VERSION":"1.0"},"body_base64":false},"uri-blocker":{"rejected_code":403,"block_rules":["root.exe","root.m+"]}},"id":"1"} ``` However, this problem occurs when configure `plugin_config` by Manager API. Here is the data in ETCD that configured by Manager API: ``` /apisix/plugin_configs/1 {"id":"1","create_time":1614250686,"update_time":1614250856,"plugins":{"response-rewrite":{"headers":{"X-VERSION":"1.0"}},"uri-blocker":{"block_rules":["root.exe","root.m+"]}}} ``` At first I thought it was because the Manager API did not automatically fill in the default value(`"rejected_code":403`), but I configured `uri-blocker` separately by Manager API, it worked normally. ``` /apisix/plugin_configs/1 {"id":"1","create_time":1614250686,"update_time":1614251379,"plugins":{"uri-blocker":{"block_rules":["root.exe","root.m+"]}}} ``` please have a look when you have time, thanks. @spacewander ### Environment * apisix version (cmd: `apisix version`): master * OS (cmd: `uname -a`): macOS * OpenResty / Nginx version (cmd: `nginx -V` or `openresty -V`): openresty/1.19.3.1 * 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: master 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] Yiyiyimu commented on a change in pull request #3660: chore: update makefile install to install everything in conf
Yiyiyimu commented on a change in pull request #3660: URL: https://github.com/apache/apisix/pull/3660#discussion_r582769476 ## File path: Makefile ## @@ -143,9 +143,8 @@ install: default $(INSTALL) -d /usr/local/apisix/ $(INSTALL) -d /usr/local/apisix/logs/ $(INSTALL) -d /usr/local/apisix/conf/cert - $(INSTALL) conf/mime.types /usr/local/apisix/conf/mime.types - $(INSTALL) conf/config.yaml /usr/local/apisix/conf/config.yaml - $(INSTALL) conf/config-default.yaml /usr/local/apisix/conf/config-default.yaml + $(INSTALL) conf/*.types /usr/local/apisix/conf/ + $(INSTALL) conf/*.yaml /usr/local/apisix/conf/ Review comment: Changed 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-dashboard] codecov-io commented on pull request #1515: test: front-end e2e test for rawDataEditor
codecov-io commented on pull request #1515: URL: https://github.com/apache/apisix-dashboard/pull/1515#issuecomment-785846719 # [Codecov](https://codecov.io/gh/apache/apisix-dashboard/pull/1515?src=pr&el=h1) Report > Merging [#1515](https://codecov.io/gh/apache/apisix-dashboard/pull/1515?src=pr&el=desc) (8f9589b) into [master](https://codecov.io/gh/apache/apisix-dashboard/commit/25c5b09ecf73112cde6e944c7721dce56247b94c?el=desc) (25c5b09) will **decrease** coverage by `17.22%`. > The diff coverage is `n/a`. [![Impacted file tree graph](https://codecov.io/gh/apache/apisix-dashboard/pull/1515/graphs/tree.svg?width=650&height=150&src=pr&token=Q1HERXN96P)](https://codecov.io/gh/apache/apisix-dashboard/pull/1515?src=pr&el=tree) ```diff @@ Coverage Diff @@ ## master#1515 +/- ## === - Coverage 68.92% 51.69% -17.23% === Files 48 39-9 Lines3047 2600 -447 === - Hits 2100 1344 -756 - Misses707 1082 +375 + Partials 240 174 -66 ``` | [Impacted Files](https://codecov.io/gh/apache/apisix-dashboard/pull/1515?src=pr&el=tree) | Coverage Δ | | |---|---|---| | [api/internal/utils/version.go](https://codecov.io/gh/apache/apisix-dashboard/pull/1515/diff?src=pr&el=tree#diff-YXBpL2ludGVybmFsL3V0aWxzL3ZlcnNpb24uZ28=) | `0.00% <0.00%> (-100.00%)` | :arrow_down: | | [api/internal/filter/request\_id.go](https://codecov.io/gh/apache/apisix-dashboard/pull/1515/diff?src=pr&el=tree#diff-YXBpL2ludGVybmFsL2ZpbHRlci9yZXF1ZXN0X2lkLmdv) | `0.00% <0.00%> (-100.00%)` | :arrow_down: | | [api/internal/core/entity/entity.go](https://codecov.io/gh/apache/apisix-dashboard/pull/1515/diff?src=pr&el=tree#diff-YXBpL2ludGVybmFsL2NvcmUvZW50aXR5L2VudGl0eS5nbw==) | `0.00% <0.00%> (-100.00%)` | :arrow_down: | | [api/internal/core/store/storehub.go](https://codecov.io/gh/apache/apisix-dashboard/pull/1515/diff?src=pr&el=tree#diff-YXBpL2ludGVybmFsL2NvcmUvc3RvcmUvc3RvcmVodWIuZ28=) | `0.00% <0.00%> (-74.49%)` | :arrow_down: | | [api/internal/filter/cors.go](https://codecov.io/gh/apache/apisix-dashboard/pull/1515/diff?src=pr&el=tree#diff-YXBpL2ludGVybmFsL2ZpbHRlci9jb3JzLmdv) | `0.00% <0.00%> (-66.67%)` | :arrow_down: | | [api/internal/filter/schema.go](https://codecov.io/gh/apache/apisix-dashboard/pull/1515/diff?src=pr&el=tree#diff-YXBpL2ludGVybmFsL2ZpbHRlci9zY2hlbWEuZ28=) | `0.00% <0.00%> (-55.47%)` | :arrow_down: | | [api/internal/utils/consts/api\_error.go](https://codecov.io/gh/apache/apisix-dashboard/pull/1515/diff?src=pr&el=tree#diff-YXBpL2ludGVybmFsL3V0aWxzL2NvbnN0cy9hcGlfZXJyb3IuZ28=) | `0.00% <0.00%> (-50.00%)` | :arrow_down: | | [api/internal/handler/data\_loader/route\_import.go](https://codecov.io/gh/apache/apisix-dashboard/pull/1515/diff?src=pr&el=tree#diff-YXBpL2ludGVybmFsL2hhbmRsZXIvZGF0YV9sb2FkZXIvcm91dGVfaW1wb3J0Lmdv) | `27.41% <0.00%> (-37.50%)` | :arrow_down: | | [api/internal/handler/server\_info/server\_info.go](https://codecov.io/gh/apache/apisix-dashboard/pull/1515/diff?src=pr&el=tree#diff-YXBpL2ludGVybmFsL2hhbmRsZXIvc2VydmVyX2luZm8vc2VydmVyX2luZm8uZ28=) | `57.14% <0.00%> (-33.34%)` | :arrow_down: | | [api/internal/utils/closer.go](https://codecov.io/gh/apache/apisix-dashboard/pull/1515/diff?src=pr&el=tree#diff-YXBpL2ludGVybmFsL3V0aWxzL2Nsb3Nlci5nbw==) | `0.00% <0.00%> (-33.34%)` | :arrow_down: | | ... and [29 more](https://codecov.io/gh/apache/apisix-dashboard/pull/1515/diff?src=pr&el=tree-more) | | -- [Continue to review full report at Codecov](https://codecov.io/gh/apache/apisix-dashboard/pull/1515?src=pr&el=continue). > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta) > `Δ = absolute (impact)`, `ø = not affected`, `? = missing data` > Powered by [Codecov](https://codecov.io/gh/apache/apisix-dashboard/pull/1515?src=pr&el=footer). Last update [25c5b09...8f9589b](https://codecov.io/gh/apache/apisix-dashboard/pull/1515?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments). 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-dashboard] codecov-io edited a comment on pull request #1515: test: front-end e2e test for rawDataEditor
codecov-io edited a comment on pull request #1515: URL: https://github.com/apache/apisix-dashboard/pull/1515#issuecomment-785846719 # [Codecov](https://codecov.io/gh/apache/apisix-dashboard/pull/1515?src=pr&el=h1) Report > Merging [#1515](https://codecov.io/gh/apache/apisix-dashboard/pull/1515?src=pr&el=desc) (8f9589b) into [master](https://codecov.io/gh/apache/apisix-dashboard/commit/25c5b09ecf73112cde6e944c7721dce56247b94c?el=desc) (25c5b09) will **decrease** coverage by `8.92%`. > The diff coverage is `n/a`. [![Impacted file tree graph](https://codecov.io/gh/apache/apisix-dashboard/pull/1515/graphs/tree.svg?width=650&height=150&src=pr&token=Q1HERXN96P)](https://codecov.io/gh/apache/apisix-dashboard/pull/1515?src=pr&el=tree) ```diff @@Coverage Diff @@ ## master#1515 +/- ## == - Coverage 68.92% 59.99% -8.93% == Files 48 48 Lines3047 3047 == - Hits 2100 1828 -272 - Misses707 976 +269 - Partials 240 243 +3 ``` | [Impacted Files](https://codecov.io/gh/apache/apisix-dashboard/pull/1515?src=pr&el=tree) | Coverage Δ | | |---|---|---| | [api/internal/core/entity/entity.go](https://codecov.io/gh/apache/apisix-dashboard/pull/1515/diff?src=pr&el=tree#diff-YXBpL2ludGVybmFsL2NvcmUvZW50aXR5L2VudGl0eS5nbw==) | `18.75% <0.00%> (-81.25%)` | :arrow_down: | | [...l/handler/route\_online\_debug/route\_online\_debug.go](https://codecov.io/gh/apache/apisix-dashboard/pull/1515/diff?src=pr&el=tree#diff-YXBpL2ludGVybmFsL2hhbmRsZXIvcm91dGVfb25saW5lX2RlYnVnL3JvdXRlX29ubGluZV9kZWJ1Zy5nbw==) | `7.14% <0.00%> (-66.67%)` | :arrow_down: | | [api/internal/handler/data\_loader/route\_import.go](https://codecov.io/gh/apache/apisix-dashboard/pull/1515/diff?src=pr&el=tree#diff-YXBpL2ludGVybmFsL2hhbmRsZXIvZGF0YV9sb2FkZXIvcm91dGVfaW1wb3J0Lmdv) | `30.24% <0.00%> (-34.68%)` | :arrow_down: | | [api/internal/core/store/storehub.go](https://codecov.io/gh/apache/apisix-dashboard/pull/1515/diff?src=pr&el=tree#diff-YXBpL2ludGVybmFsL2NvcmUvc3RvcmUvc3RvcmVodWIuZ28=) | `45.91% <0.00%> (-28.58%)` | :arrow_down: | | [api/internal/utils/consts/api\_error.go](https://codecov.io/gh/apache/apisix-dashboard/pull/1515/diff?src=pr&el=tree#diff-YXBpL2ludGVybmFsL3V0aWxzL2NvbnN0cy9hcGlfZXJyb3IuZ28=) | `25.00% <0.00%> (-25.00%)` | :arrow_down: | | [api/internal/utils/json\_patch.go](https://codecov.io/gh/apache/apisix-dashboard/pull/1515/diff?src=pr&el=tree#diff-YXBpL2ludGVybmFsL3V0aWxzL2pzb25fcGF0Y2guZ28=) | `34.48% <0.00%> (-24.14%)` | :arrow_down: | | [api/internal/filter/schema.go](https://codecov.io/gh/apache/apisix-dashboard/pull/1515/diff?src=pr&el=tree#diff-YXBpL2ludGVybmFsL2ZpbHRlci9zY2hlbWEuZ28=) | `31.93% <0.00%> (-23.53%)` | :arrow_down: | | [api/internal/log/log.go](https://codecov.io/gh/apache/apisix-dashboard/pull/1515/diff?src=pr&el=tree#diff-YXBpL2ludGVybmFsL2xvZy9sb2cuZ28=) | `30.00% <0.00%> (-20.00%)` | :arrow_down: | | [api/internal/handler/global\_rule/global\_rule.go](https://codecov.io/gh/apache/apisix-dashboard/pull/1515/diff?src=pr&el=tree#diff-YXBpL2ludGVybmFsL2hhbmRsZXIvZ2xvYmFsX3J1bGUvZ2xvYmFsX3J1bGUuZ28=) | `66.12% <0.00%> (-17.75%)` | :arrow_down: | | [api/internal/utils/utils.go](https://codecov.io/gh/apache/apisix-dashboard/pull/1515/diff?src=pr&el=tree#diff-YXBpL2ludGVybmFsL3V0aWxzL3V0aWxzLmdv) | `54.11% <0.00%> (-11.77%)` | :arrow_down: | | ... and [8 more](https://codecov.io/gh/apache/apisix-dashboard/pull/1515/diff?src=pr&el=tree-more) | | -- [Continue to review full report at Codecov](https://codecov.io/gh/apache/apisix-dashboard/pull/1515?src=pr&el=continue). > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta) > `Δ = absolute (impact)`, `ø = not affected`, `? = missing data` > Powered by [Codecov](https://codecov.io/gh/apache/apisix-dashboard/pull/1515?src=pr&el=footer). Last update [25c5b09...8f9589b](https://codecov.io/gh/apache/apisix-dashboard/pull/1515?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments). 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-dashboard] codecov-io edited a comment on pull request #1515: test: front-end e2e test for rawDataEditor
codecov-io edited a comment on pull request #1515: URL: https://github.com/apache/apisix-dashboard/pull/1515#issuecomment-785846719 # [Codecov](https://codecov.io/gh/apache/apisix-dashboard/pull/1515?src=pr&el=h1) Report > Merging [#1515](https://codecov.io/gh/apache/apisix-dashboard/pull/1515?src=pr&el=desc) (8f9589b) into [master](https://codecov.io/gh/apache/apisix-dashboard/commit/25c5b09ecf73112cde6e944c7721dce56247b94c?el=desc) (25c5b09) will **decrease** coverage by `0.32%`. > The diff coverage is `n/a`. [![Impacted file tree graph](https://codecov.io/gh/apache/apisix-dashboard/pull/1515/graphs/tree.svg?width=650&height=150&src=pr&token=Q1HERXN96P)](https://codecov.io/gh/apache/apisix-dashboard/pull/1515?src=pr&el=tree) ```diff @@Coverage Diff @@ ## master#1515 +/- ## == - Coverage 68.92% 68.59% -0.33% == Files 48 48 Lines3047 3047 == - Hits 2100 2090 -10 - Misses707 717 +10 Partials 240 240 ``` | [Impacted Files](https://codecov.io/gh/apache/apisix-dashboard/pull/1515?src=pr&el=tree) | Coverage Δ | | |---|---|---| | [api/internal/core/storage/etcd.go](https://codecov.io/gh/apache/apisix-dashboard/pull/1515/diff?src=pr&el=tree#diff-YXBpL2ludGVybmFsL2NvcmUvc3RvcmFnZS9ldGNkLmdv) | `43.63% <0.00%> (-5.46%)` | :arrow_down: | | [api/internal/core/store/storehub.go](https://codecov.io/gh/apache/apisix-dashboard/pull/1515/diff?src=pr&el=tree#diff-YXBpL2ludGVybmFsL2NvcmUvc3RvcmUvc3RvcmVodWIuZ28=) | `70.40% <0.00%> (-4.09%)` | :arrow_down: | -- [Continue to review full report at Codecov](https://codecov.io/gh/apache/apisix-dashboard/pull/1515?src=pr&el=continue). > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta) > `Δ = absolute (impact)`, `ø = not affected`, `? = missing data` > Powered by [Codecov](https://codecov.io/gh/apache/apisix-dashboard/pull/1515?src=pr&el=footer). Last update [25c5b09...8f9589b](https://codecov.io/gh/apache/apisix-dashboard/pull/1515?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments). 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] Yiyiyimu opened a new pull request #3675: ci: run chaos test on HEAD of PR
Yiyiyimu opened a new pull request #3675: URL: https://github.com/apache/apisix/pull/3675 Signed-off-by: yiyiyimu ### What this PR does / why we need it: fix #3625 Currently, chaos test use lastest docker image as apisix, so it's actually always runs on lastest release. Since we could build docker from local code after https://github.com/apache/apisix-docker/pull/137 got merged, changed to run chaos on current change in PR. ### 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? * [ ] 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-helm-chart] tokers commented on pull request #31: feat: add ingress controller helm chart
tokers commented on pull request #31: URL: https://github.com/apache/apisix-helm-chart/pull/31#issuecomment-785859990 @gxthrj Please take a look. 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] moonming commented on issue #3673: request help: A node in the K8S environment ETCD cluster died, causing Apisix to fail
moonming commented on issue #3673: URL: https://github.com/apache/apisix/issues/3673#issuecomment-785859978 @Yiyiyimu will chaos mesh cover this? 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] tokers commented on a change in pull request #3494: docs: update the docs of the prometheus plugin
tokers commented on a change in pull request #3494: URL: https://github.com/apache/apisix/pull/3494#discussion_r582794663 ## File path: docs/en/latest/plugins/prometheus.md ## @@ -120,12 +120,56 @@ Or you can goto [Grafana official](https://grafana.com/grafana/dashboards/11719) ### Available metrics -* `Status codes`: HTTP status codes returned by upstream services. These are available per service and across all services. +* `Status codes`: HTTP status code returned from upstream services. These status code available per service and across all services. + +Attributes: + +| Name | Description | +| -| | +| code | The HTTP status code returned by the upstream service. | +| route| The `route_id` of the matched route is request. If it does not match, the default value is an empty string. | +| matched_uri | The `uri` of the route matching the request, if it does not match, the default value is an empty string. | +| matched_host | The `host` of the route that matches the request. If it does not match, the default value is an empty string. | +| service | The `service_id` of the route matched by the request. When the route lacks service_id, the default is `$host`. | +| consumer | The `consumer_name` of the consumer that matches the request. If it does not match, the default value is an empty string. | +| node | The `ip` of the upstream node. | + * `Bandwidth`: Total Bandwidth (egress/ingress) flowing through apisix. This metric is available per service and as a sum across all services. + +Attributes: + +| Name | Description | +| -| - | +| type | The type of bandwidth(egress/ingress). | +| route| The `route_id` of the matched route is request. If it does not match, the default value is an empty string.. | +| service | The `service_id` of the route matched by the request. When the route lacks service_id, the default is `$host`. | +| consumer | The `consumer_name` of the consumer that matches the request. If it does not match, the default value is an empty string. | +| node | The `ip` of the upstream node. | + * `etcd reachability`: A gauge type with a value of 0 or 1, representing if etcd can be reached by a apisix or not. * `Connections`: Various Nginx connection metrics like active, reading, writing, and number of accepted connections. * `Batch process entries`: A gauge type, when we use plugins and the plugin used batch process to send data, such as: sys logger, http logger, sls logger, tcp logger, udp logger and zipkin, then the entries which hasn't been sent in batch process will be counted in the metrics. * `Latency`: The per service histogram of request time and the overhead added by APISIX (request time - upstream response time). + +Attributes: + +| Name | Description | +| --| - | +| type | The type of request. | Review comment: What is the type of request? It's hard to understand. 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[apisix-website] branch feat-sync-docs updated (ac6cc94 -> e97fa34)
This is an automated email from the ASF dual-hosted git repository. juzhiyuan pushed a change to branch feat-sync-docs in repository https://gitbox.apache.org/repos/asf/apisix-website.git. from ac6cc94 fix: navbar add e97fa34 trigger CI No new revisions were added by this update. Summary of changes: .github/workflows/deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
[GitHub] [apisix] moonming commented on a change in pull request #3667: test: add fuzzing case for the route with vars
moonming commented on a change in pull request #3667: URL: https://github.com/apache/apisix/pull/3667#discussion_r582795976 ## File path: t/fuzzing/vars_route_test.py ## @@ -0,0 +1,95 @@ +#! /usr/bin/env python + +# +# 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. +# + +import subprocess +from public import * +from boofuzz import * Review comment: “import * ” is not good style in python 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] tokers commented on a change in pull request #3672: chore: return with number literal directly like other similar places
tokers commented on a change in pull request #3672: URL: https://github.com/apache/apisix/pull/3672#discussion_r582796509 ## File path: apisix/upstream.lua ## @@ -191,7 +191,7 @@ function _M.set_by_route(route, api_ctx) local new_nodes, err = dis.nodes(up_conf.service_name) if not new_nodes then -return http_code_upstream_unavailable, "no valid upstream node: " .. (err or "nil") +return HTTP_CODE_UPSTREAM_UNAVAILABLE, "no valid upstream node: " .. (err or "nil") Review comment: Why not use ngx.HTTP_SERVICE_UNAVAILABLE 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] moonming commented on issue #3662: [discuss]: remove the `location /apisix/dashboard` API interface in the ngx_tpl.lua file
moonming commented on issue #3662: URL: https://github.com/apache/apisix/issues/3662#issuecomment-785863413 @Firstsawyou are you fix the rpm package 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] Yiyiyimu commented on issue #3673: request help: A node in the K8S environment ETCD cluster died, causing Apisix to fail
Yiyiyimu commented on issue #3673: URL: https://github.com/apache/apisix/issues/3673#issuecomment-785863392 > will chaos mesh cover this? I'll make a test tomorrow 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[apisix-website] branch feat-sync-docs updated (e97fa34 -> c585f71)
This is an automated email from the ASF dual-hosted git repository. juzhiyuan pushed a change to branch feat-sync-docs in repository https://gitbox.apache.org/repos/asf/apisix-website.git. from e97fa34 trigger CI add c585f71 test: trigger CI No new revisions were added by this update. Summary of changes: .github/workflows/deploy.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)
[apisix-website] branch feat-sync-docs updated (c585f71 -> e346433)
This is an automated email from the ASF dual-hosted git repository. juzhiyuan pushed a change to branch feat-sync-docs in repository https://gitbox.apache.org/repos/asf/apisix-website.git. from c585f71 test: trigger CI add e346433 Update deploy.yml No new revisions were added by this update. Summary of changes: .github/workflows/deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
[GitHub] [apisix-website] Yiyiyimu commented on a change in pull request #205: feat: sync docs & deploy
Yiyiyimu commented on a change in pull request #205: URL: https://github.com/apache/apisix-website/pull/205#discussion_r582805003 ## File path: sync-docs.js ## @@ -38,7 +39,10 @@ const replaceMDImageUrl = (project, paths) => { .match(/\((.+?)\)/g)[0] .replace("(", "") .replace(")", "") -.replaceAll("../", ""); +.replace("../", "") +.replace("../", "") +.replace("../", "") +.replace("../", ""); Review comment: I noticed this change is in https://github.com/apache/apisix-website/pull/205/commits/eda04d98b37a25dbd8dab5383b7e6372256c69fc to pass CI, but I can't get what's the meaning of this 🤣 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-website] juzhiyuan commented on a change in pull request #205: feat: sync docs & deploy
juzhiyuan commented on a change in pull request #205: URL: https://github.com/apache/apisix-website/pull/205#discussion_r582805951 ## File path: sync-docs.js ## @@ -38,7 +39,10 @@ const replaceMDImageUrl = (project, paths) => { .match(/\((.+?)\)/g)[0] .replace("(", "") .replace(")", "") -.replaceAll("../", ""); +.replace("../", "") +.replace("../", "") +.replace("../", "") +.replace("../", ""); Review comment: it's a trick here, to replace some paths like `../../../`, `../../` 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-website] Yiyiyimu commented on a change in pull request #205: feat: sync docs & deploy
Yiyiyimu commented on a change in pull request #205: URL: https://github.com/apache/apisix-website/pull/205#discussion_r582805003 ## File path: sync-docs.js ## @@ -38,7 +39,10 @@ const replaceMDImageUrl = (project, paths) => { .match(/\((.+?)\)/g)[0] .replace("(", "") .replace(")", "") -.replaceAll("../", ""); +.replace("../", "") +.replace("../", "") +.replace("../", "") +.replace("../", ""); Review comment: I noticed this change is in https://github.com/apache/apisix-website/pull/205/commits/eda04d98b37a25dbd8dab5383b7e6372256c69fc to pass CI, but it seems a bit hacky and I can't get what's the meaning of this 🤣 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-website] juzhiyuan commented on a change in pull request #205: feat: sync docs & deploy
juzhiyuan commented on a change in pull request #205: URL: https://github.com/apache/apisix-website/pull/205#discussion_r582808724 ## File path: sync-docs.js ## @@ -38,7 +39,10 @@ const replaceMDImageUrl = (project, paths) => { .match(/\((.+?)\)/g)[0] .replace("(", "") .replace(")", "") -.replaceAll("../", ""); +.replace("../", "") +.replace("../", "") +.replace("../", "") +.replace("../", ""); Review comment: because replaceAll function is not available here, so I use a trick here. This JS file will get improved in the future. 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] spacewander commented on a change in pull request #3672: chore: return with number literal directly like other similar places
spacewander commented on a change in pull request #3672: URL: https://github.com/apache/apisix/pull/3672#discussion_r582810276 ## File path: apisix/upstream.lua ## @@ -191,7 +191,7 @@ function _M.set_by_route(route, api_ctx) local new_nodes, err = dis.nodes(up_conf.service_name) if not new_nodes then -return http_code_upstream_unavailable, "no valid upstream node: " .. (err or "nil") +return HTTP_CODE_UPSTREAM_UNAVAILABLE, "no valid upstream node: " .. (err or "nil") Review comment: I think it is because the status code for this has been changed from 500 to 503. So the original contributor use a variable instead. 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[apisix] branch master updated: feat: the traffic-split plugin supports upstream_id (#3512)
This is an automated email from the ASF dual-hosted git repository. spacewander 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 1d79ce5 feat: the traffic-split plugin supports upstream_id (#3512) 1d79ce5 is described below commit 1d79ce57eb84113e44756618a39f2fd4e0dfc8ee Author: Yuelin Zheng <2226815...@qq.com> AuthorDate: Thu Feb 25 20:59:16 2021 +0800 feat: the traffic-split plugin supports upstream_id (#3512) --- apisix/init.lua | 54 ++-- apisix/plugins/traffic-split.lua| 31 +- docs/en/latest/plugins/traffic-split.md | 42 ++- docs/zh/latest/plugins/traffic-split.md | 42 ++- t/plugin/traffic-split.t| 501 5 files changed, 625 insertions(+), 45 deletions(-) diff --git a/apisix/init.lua b/apisix/init.lua index 5bf9974..26b2bf6 100644 --- a/apisix/init.lua +++ b/apisix/init.lua @@ -352,6 +352,33 @@ function _M.http_access_phase() api_ctx.route_id = route.value.id api_ctx.route_name = route.value.name +if route.value.script then +script.load(route, api_ctx) +script.run("access", api_ctx) +else +local plugins = plugin.filter(route) +api_ctx.plugins = plugins + +plugin.run_plugin("rewrite", plugins, api_ctx) +if api_ctx.consumer then +local changed +route, changed = plugin.merge_consumer_route( +route, +api_ctx.consumer, +api_ctx +) + +core.log.info("find consumer ", api_ctx.consumer.username, + ", config changed: ", changed) + +if changed then +core.table.clear(api_ctx.plugins) +api_ctx.plugins = plugin.filter(route, api_ctx.plugins) +end +end +plugin.run_plugin("access", plugins, api_ctx) +end + local up_id = route.value.upstream_id if up_id then local upstreams = core.config.fetch_created_obj("/upstreams") @@ -419,33 +446,6 @@ function _M.http_access_phase() core.log.info("enabled websocket for route: ", route.value.id) end -if route.value.script then -script.load(route, api_ctx) -script.run("access", api_ctx) -else -local plugins = plugin.filter(route) -api_ctx.plugins = plugins - -plugin.run_plugin("rewrite", plugins, api_ctx) -if api_ctx.consumer then -local changed -route, changed = plugin.merge_consumer_route( -route, -api_ctx.consumer, -api_ctx -) - -core.log.info("find consumer ", api_ctx.consumer.username, - ", config changed: ", changed) - -if changed then -core.table.clear(api_ctx.plugins) -api_ctx.plugins = plugin.filter(route, api_ctx.plugins) -end -end -plugin.run_plugin("access", plugins, api_ctx) -end - if route.value.service_protocol == "grpc" then api_ctx.upstream_scheme = "grpc" end diff --git a/apisix/plugins/traffic-split.lua b/apisix/plugins/traffic-split.lua index bf348cc..c070865 100644 --- a/apisix/plugins/traffic-split.lua +++ b/apisix/plugins/traffic-split.lua @@ -97,7 +97,7 @@ local upstreams_schema = { items = { type = "object", properties = { -upstream_id = schema_def.id_schema,-- todo: support upstream_id method +upstream_id = schema_def.id_schema, upstream = schema_def.upstream, weight = { description = "used to split traffic between different" .. @@ -258,18 +258,19 @@ end local function new_rr_obj(weighted_upstreams) local server_list = {} for i, upstream_obj in ipairs(weighted_upstreams) do -if not upstream_obj.upstream then --- If the `upstream` object has only the `weight` value, it means --- that the `upstream` weight value on the default `route` has been reached. --- Need to set an identifier to mark the empty upstream. -upstream_obj.upstream = "empty_upstream" -end - -if type(upstream_obj.upstream) == "table" then --- Add a virtual id field to uniquely identify the upstream `key`. +if upstream_obj.upstream_id then +server_list[upstream_obj.upstream_id] = upstream_obj.weight +elseif upstream_obj.upstream then +-- Add a virtual id field to uniquely identify the upstream key. upstream_obj.upstream.vid = i +server_list[upstream_obj.upstream] = upstream_obj.weight +else +-- If the upstream object has only the weight value, it means +-- that the upstream weight value on the default route has been reached. +
[GitHub] [apisix] spacewander merged pull request #3512: feat: the traffic-split plugin supports upstream_id
spacewander merged pull request #3512: URL: https://github.com/apache/apisix/pull/3512 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] spacewander closed issue #3094: feat: the traffic-split plugin supports health check and retry mechanism
spacewander closed issue #3094: URL: https://github.com/apache/apisix/issues/3094 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-docker] Yiyiyimu opened a new pull request #140: ci: refactor ci and compose
Yiyiyimu opened a new pull request #140: URL: https://github.com/apache/apisix-docker/pull/140 Signed-off-by: yiyiyimu fix #138 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] spacewander commented on issue #3673: request help: A node in the K8S environment ETCD cluster died, causing Apisix to fail
spacewander commented on issue #3673: URL: https://github.com/apache/apisix/issues/3673#issuecomment-785879497 Maybe we can enable this for APISIX: https://github.com/api7/lua-resty-etcd/pull/109 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[apisix-dashboard] branch master updated: test: front-end e2e test for rawDataEditor (#1515)
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-dashboard.git The following commit(s) were added to refs/heads/master by this push: new 63f9059 test: front-end e2e test for rawDataEditor (#1515) 63f9059 is described below commit 63f9059a3c7d2390e51e8f7b607afd4a1d052ce8 Author: guoqqqi <72343596+guoq...@users.noreply.github.com> AuthorDate: Thu Feb 25 21:08:34 2021 +0800 test: front-end e2e test for rawDataEditor (#1515) --- web/cypress/fixtures/selector.json | 4 ++- .../consumer/create_and_delete_consumer.spec.js| 16 +++ .../route/create-edit-delete-route.spec.js | 25 + .../service/create-edit-delete-service.spec.js | 26 ++ .../upstream/create_and_delete_upstream.spec.js| 32 ++ web/yarn.lock | 7 + 6 files changed, 109 insertions(+), 1 deletion(-) diff --git a/web/cypress/fixtures/selector.json b/web/cypress/fixtures/selector.json index e47045b..8f76ac4 100644 --- a/web/cypress/fixtures/selector.json +++ b/web/cypress/fixtures/selector.json @@ -60,5 +60,7 @@ "errorExplain": ".ant-form-item-explain", "usernameInput": "#control-ref_username", - "passwordInput": "#control-ref_password" + "passwordInput": "#control-ref_password", + "drawer": ".ant-drawer-content", + "codemirrorScroll": ".CodeMirror-scroll" } diff --git a/web/cypress/integration/consumer/create_and_delete_consumer.spec.js b/web/cypress/integration/consumer/create_and_delete_consumer.spec.js index 5896edf..69cd8c5 100644 --- a/web/cypress/integration/consumer/create_and_delete_consumer.spec.js +++ b/web/cypress/integration/consumer/create_and_delete_consumer.spec.js @@ -56,6 +56,21 @@ context('Create and Delete Consumer', () => { cy.get(this.domSelector.notification).should('contain', this.data.createConsumerSuccess); }); + it('should view the consumer', function () { +cy.visit('/'); +cy.contains('Consumer').click(); + +cy.get(this.domSelector.nameSelector).type(this.data.consumerName); +cy.contains('Search').click(); +cy.contains(this.data.consumerName).siblings().contains('View').click(); +cy.get(this.domSelector.drawer).should('be.visible'); + +cy.get(this.domSelector.codemirrorScroll).within(() => { + cy.contains('plugins').should("exist"); + cy.contains(this.data.consumerName).should('exist'); +}); + }); + it('delete the consumer', function () { cy.visit('/'); cy.contains('Consumer').click(); @@ -92,3 +107,4 @@ context('Create and Delete Consumer', () => { cy.get(this.domSelector.notification).should('contain', this.data.pluginErrorAlert); }); }); + diff --git a/web/cypress/integration/route/create-edit-delete-route.spec.js b/web/cypress/integration/route/create-edit-delete-route.spec.js index a0f3119..f799a69 100644 --- a/web/cypress/integration/route/create-edit-delete-route.spec.js +++ b/web/cypress/integration/route/create-edit-delete-route.spec.js @@ -85,6 +85,21 @@ context('Create and Delete Route', () => { cy.url().should('contains', 'routes/list'); }); + it('should view the route', function () { +cy.visit('/'); +cy.contains('Route').click(); + +cy.get(this.domSelector.nameSelector).type(name); +cy.contains('Search').click(); +cy.contains(name).siblings().contains('View').click(); +cy.get(this.domSelector.drawer).should('be.visible'); + +cy.get(this.domSelector.codemirrorScroll).within(() => { + cy.contains('upstream').should("exist"); + cy.contains(name).should('exist'); +}); + }); + it('should edit the route', function () { cy.visit('/'); cy.contains('Route').click(); @@ -103,6 +118,15 @@ context('Create and Delete Route', () => { cy.contains('Goto List').click(); cy.url().should('contains', 'routes/list'); cy.contains(newName).siblings().should('contain', this.data.description2); + +// test view +cy.contains(newName).siblings().contains('View').click(); +cy.get(this.domSelector.drawer).should('be.visible'); + +cy.get(this.domSelector.codemirrorScroll).within(() => { + cy.contains('upstream').should("exist"); + cy.contains(newName).should('exist'); +}); }); it('should delete the route', function () { @@ -114,3 +138,4 @@ context('Create and Delete Route', () => { cy.get(this.domSelector.notification).should('contain', this.data.deleteRouteSuccess); }); }); + diff --git a/web/cypress/integration/service/create-edit-delete-service.spec.js b/web/cypress/integration/service/create-edit-delete-service.spec.js index b112e52..e7e3507 100644 --- a/web/cypress/integration/service/create-edit-delete-service.spec.js +++ b/web/cypress/integration/service/create-edit-delete-service.spec.js @@ -40,6 +40,21 @@ context('create and delete service ', ()
[GitHub] [apisix-dashboard] juzhiyuan closed issue #1506: test: front-end e2e test for rawDataEditor
juzhiyuan closed issue #1506: URL: https://github.com/apache/apisix-dashboard/issues/1506 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix-dashboard] juzhiyuan merged pull request #1515: test: front-end e2e test for rawDataEditor
juzhiyuan merged pull request #1515: URL: https://github.com/apache/apisix-dashboard/pull/1515 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] Yiyiyimu opened a new pull request #3676: chore: update lua-resty-etcd to v1.4.4
Yiyiyimu opened a new pull request #3676: URL: https://github.com/apache/apisix/pull/3676 Signed-off-by: yiyiyimu ### 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] Yiyiyimu commented on issue #3673: request help: A node in the K8S environment ETCD cluster died, causing Apisix to fail
Yiyiyimu commented on issue #3673: URL: https://github.com/apache/apisix/issues/3673#issuecomment-785885676 @GBXing You could give it a try on master branch (`apisix:dev` for docker tag) after #3676 got merged if it's urgent. Or if it's more urgent you could try to [build docker image from local code](https://github.com/apache/apisix-docker#build-an-image-from-source) to have a test. 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] tzssangglass commented on issue #3663: bug: script does not work
tzssangglass commented on issue #3663: URL: https://github.com/apache/apisix/issues/3663#issuecomment-785886841 There is such a case: route has a script, service has a plugin, route is bound to service, then the service's plugin needs to be executed? @membphis 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] membphis commented on issue #3663: bug: script does not work
membphis commented on issue #3663: URL: https://github.com/apache/apisix/issues/3663#issuecomment-785893757 > There is such a case: route has a script, service has a plugin, route is bound to service, then the service's plugin needs to be executed? > @membphis for your case, only `script` can be executed. 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] JanLi-air opened a new issue #3677: bug: proxy-cache plugin has side-effect even if it's not configured in any route
JanLi-air opened a new issue #3677: URL: https://github.com/apache/apisix/issues/3677 ### Issue description If proxy-cache is configured in plugin list, it will override Cache-Control and Expires headers from the upstream. Problem is that even if proxy-cache is not configured in any route, those headers will still be overridden. So we have a side effect for proxy-cache. ### Environment * apisix version (cmd: `apisix version`): 2.0 * OS (cmd: `uname -a`): linux * OpenResty / Nginx version (cmd: `nginx -V` or `openresty -V`): openresty/1.19.3.1 * 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: ### Minimal test code / Steps to reproduce the issue 1. Use the default configuration from apisix 2. Write Cache-Control and Expires headers in upstream 3. Check the response ### What's the actual result? (including assertion message & call stack if applicable) Cache-Control and Expires headers disappeared ### What's the expected result? If proxy-cache is not configured for a route, apisix should not rewrite Cache-Control and Expires headers. 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] membphis commented on issue #3677: bug: proxy-cache plugin has side-effect even if it's not configured in any route
membphis commented on issue #3677: URL: https://github.com/apache/apisix/issues/3677#issuecomment-785895529 it is not easy to fix this bug, I think it needs to change the Nginx core. 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] membphis commented on issue #3677: bug: proxy-cache plugin has side-effect even if it's not configured in any route
membphis commented on issue #3677: URL: https://github.com/apache/apisix/issues/3677#issuecomment-785895958 disable `proxy-cache` plugin is a simple way for most users 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] JanLi-air commented on issue #3677: bug: proxy-cache plugin has side-effect even if it's not configured in any route
JanLi-air commented on issue #3677: URL: https://github.com/apache/apisix/issues/3677#issuecomment-785896803 Agree, but proxy-cache might be used in some scenarios. The fix might not be available to all users. 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] tzssangglass commented on issue #3663: bug: script does not work
tzssangglass commented on issue #3663: URL: https://github.com/apache/apisix/issues/3663#issuecomment-785901586 got 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [apisix] spacewander commented on a change in pull request #3676: chore: update lua-resty-etcd to v1.4.4
spacewander commented on a change in pull request #3676: URL: https://github.com/apache/apisix/pull/3676#discussion_r582839316 ## File path: rockspec/apisix-master-0.rockspec ## @@ -34,7 +34,7 @@ dependencies = { "lua-resty-ctxdump = 0.1-0", "lua-resty-dns-client = 5.2.0", "lua-resty-template = 1.9", -"lua-resty-etcd = 1.4.3", +"lua-resty-etcd = 1.4.4", Review comment: AFAIK, the health check is not enabled by default. 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org