(apisix) branch master updated: feat: support gcp secret manager (#11436)
This is an automated email from the ASF dual-hosted git repository. bzp2010 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 2fcfbd83e feat: support gcp secret manager (#11436) 2fcfbd83e is described below commit 2fcfbd83e22301aea4f027738d628f19c262a458 Author: HuanXin-Chen <111850224+huanxin-c...@users.noreply.github.com> AuthorDate: Sun Sep 22 11:53:48 2024 +0800 feat: support gcp secret manager (#11436) --- apisix/secret/gcp.lua| 202 ++ apisix/utils/google-cloud-oauth.lua | 130 ++ docs/en/latest/terminology/secret.md | 54 +++ docs/zh/latest/terminology/secret.md | 56 ++- t/lib/server.lua | 186 + t/secret/conf/error.json | 9 + t/secret/conf/success.json | 10 + t/secret/gcp.t | 737 +++ 8 files changed, 1383 insertions(+), 1 deletion(-) diff --git a/apisix/secret/gcp.lua b/apisix/secret/gcp.lua new file mode 100644 index 0..6b6e661c4 --- /dev/null +++ b/apisix/secret/gcp.lua @@ -0,0 +1,202 @@ +-- +-- 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. +-- + +--- GCP Tools. +local core = require("apisix.core") +local http = require("resty.http") +local google_oauth = require("apisix.utils.google-cloud-oauth") + +local str_sub = core.string.sub +local str_find = core.string.find +local decode_base64 = ngx.decode_base64 + +local lrucache = core.lrucache.new({ ttl = 300, count = 8 }) + +local schema = { +type = "object", +properties = { +auth_config = { +type = "object", +properties = { +client_email = { type = "string" }, +private_key = { type = "string" }, +project_id = { type = "string" }, +token_uri = { +type = "string", +default = "https://oauth2.googleapis.com/token"; +}, +scope = { +type = "array", +items = { +type = "string" +}, +default = { +"https://www.googleapis.com/auth/cloud-platform"; +} +}, +entries_uri = { +type = "string", +default = "https://secretmanager.googleapis.com/v1"; +}, +}, +required = { "client_email", "private_key", "project_id" } +}, +ssl_verify = { +type = "boolean", +default = true +}, +auth_file = { type = "string" }, +}, +oneOf = { +{ required = { "auth_config" } }, +{ required = { "auth_file" } }, +}, +} + +local _M = { +schema = schema +} + +local function fetch_oauth_conf(conf) +if conf.auth_config then +return conf.auth_config +end + +local file_content, err = core.io.get_file(conf.auth_file) +if not file_content then +return nil, "failed to read configuration, file: " .. conf.auth_file .. ", err: " .. err +end + +local config_tab, err = core.json.decode(file_content) +if not config_tab then +return nil, "config parse failure, data: " .. file_content .. ", err: " .. err +end + +local config = { +auth_config = { +client_email = config_tab.client_email, +private_key = config_tab.private_key, +project_id = config_tab.project_id +} +} + +local ok, err = core.schema.check(schema, config) +if not ok then +return nil, "config parse failure, file: " .. conf.auth_file .. ", err: " .. err +end + +return config_tab +end + + +local function get_secret(oauth, secrets_id)
(apisix) branch master updated: feat: support aws secret manager (#11417)
This is an automated email from the ASF dual-hosted git repository. bzp2010 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 9c81c9363 feat: support aws secret manager (#11417) 9c81c9363 is described below commit 9c81c93635e079900088ae3e4d92e3e957f16ba1 Author: HuanXin-Chen <111850224+huanxin-c...@users.noreply.github.com> AuthorDate: Wed Aug 28 14:41:19 2024 +0800 feat: support aws secret manager (#11417) --- apisix-master-0.rockspec | 3 +- apisix/secret/aws.lua| 135 +++ ci/init-common-test-service.sh | 6 + ci/pod/docker-compose.common.yml | 9 + docs/en/latest/terminology/secret.md | 105 +++- docs/zh/latest/terminology/secret.md | 104 t/secret/aws.t | 316 +++ 7 files changed, 676 insertions(+), 2 deletions(-) diff --git a/apisix-master-0.rockspec b/apisix-master-0.rockspec index ac8da1e61..913a4defe 100644 --- a/apisix-master-0.rockspec +++ b/apisix-master-0.rockspec @@ -81,7 +81,8 @@ dependencies = { "lua-resty-ldap = 0.1.0-0", "lua-resty-t1k = 1.1.5", "brotli-ffi = 0.3-1", -"lua-ffi-zlib = 0.6-0" +"lua-ffi-zlib = 0.6-0", +"api7-lua-resty-aws == 2.0.1-1", } build = { diff --git a/apisix/secret/aws.lua b/apisix/secret/aws.lua new file mode 100644 index 0..e194fff08 --- /dev/null +++ b/apisix/secret/aws.lua @@ -0,0 +1,135 @@ +-- +-- 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. +-- + +--- AWS Tools. +local core = require("apisix.core") +local http = require("resty.http") +local aws = require("resty.aws") + +local sub = core.string.sub +local find = core.string.find +local env = core.env +local unpack = unpack + +local schema = { +type = "object", +properties = { +access_key_id = { +type = "string", +}, +secret_access_key = { +type = "string", +}, +session_token = { +type = "string", +}, +region = { +type = "string", +default = "us-east-1", +}, +endpoint_url = core.schema.uri_def, +}, +required = {"access_key_id", "secret_access_key"}, +} + +local _M = { +schema = schema +} + +local function make_request_to_aws(conf, key) +local aws_instance = aws() + +local region = conf.region + +local access_key_id = env.fetch_by_uri(conf.access_key_id) or conf.access_key_id + +local secret_access_key = env.fetch_by_uri(conf.secret_access_key) or conf.secret_access_key + +local session_token = env.fetch_by_uri(conf.session_token) or conf.session_token + +local credentials = aws_instance:Credentials({ +accessKeyId = access_key_id, +secretAccessKey = secret_access_key, +sessionToken = session_token, +}) + +local default_endpoint = "https://secretsmanager."; .. region .. ".amazonaws.com" +local scheme, host, port, _, _ = unpack(http:parse_uri(conf.endpoint_url or default_endpoint)) +local endpoint = scheme .. "://" .. host + +local sm = aws_instance:SecretsManager({ +credentials = credentials, +endpoint = endpoint, +region = region, +port = port, +}) + +local res, err = sm:getSecretValue({ +SecretId = key, +VersionStage = "AWSCURRENT", +}) + +if not res then +return nil, err +end + +if res.status ~= 200 then +local data = core.json.encode(res.body) +if data then +return nil, "invalid status code " .. res.status .. ", " .. data +end + +return nil, "invalid status code " .. res.status +end + +return res.body.SecretString +end + +-- key is the aws secretId +function _M.get(conf, key) +core.log.info("fetching data from aws for key: ", key) + +
(apisix) branch release/3.10 updated: docs: update docs for the removal of `config-default.yaml` (3.10.0) (#11504)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a commit to branch release/3.10 in repository https://gitbox.apache.org/repos/asf/apisix.git The following commit(s) were added to refs/heads/release/3.10 by this push: new 5433dce25 docs: update docs for the removal of `config-default.yaml` (3.10.0) (#11504) 5433dce25 is described below commit 5433dce25de6c3aabb14919f899d9e8aa6a16c4b Author: Traky Deng AuthorDate: Thu Aug 22 14:18:36 2024 +0800 docs: update docs for the removal of `config-default.yaml` (3.10.0) (#11504) --- docs/en/latest/FAQ.md | 6 ++-- docs/en/latest/benchmark.md | 2 +- docs/en/latest/customize-nginx-configuration.md | 4 +-- docs/en/latest/install-dependencies.md | 2 +- docs/en/latest/installation-guide.md| 8 + docs/en/latest/plugin-develop.md| 44 - docs/en/latest/plugins/aws-lambda.md| 2 +- docs/en/latest/plugins/azure-functions.md | 2 +- docs/en/latest/plugins/inspect.md | 27 +-- docs/en/latest/pubsub.md| 8 +++-- docs/en/latest/terminology/plugin.md| 39 +++--- docs/zh/latest/FAQ.md | 6 ++-- docs/zh/latest/benchmark.md | 2 +- docs/zh/latest/customize-nginx-configuration.md | 4 +-- docs/zh/latest/install-dependencies.md | 2 +- docs/zh/latest/installation-guide.md| 7 +--- docs/zh/latest/plugin-develop.md| 44 +++-- docs/zh/latest/terminology/plugin.md| 39 +++--- 18 files changed, 157 insertions(+), 91 deletions(-) diff --git a/docs/en/latest/FAQ.md b/docs/en/latest/FAQ.md index 8a669b0f9..a19b5e96f 100644 --- a/docs/en/latest/FAQ.md +++ b/docs/en/latest/FAQ.md @@ -756,15 +756,15 @@ deployment: password: etcd_password # password for etcd ``` -For other ETCD configurations, such as expiration times, retries, and so on, you can refer to the `ETCD` section in the `conf/config-default.yaml` file. +For other ETCD configurations, such as expiration times, retries, and so on, you can refer to the `etcd` section in the sample configuration `conf/config.yaml.example` file. -## What is the difference between SSLs and tls.client_cert in upstream configurations, and ssl_trusted_certificate in config-default.yaml? +## What is the difference between SSLs, `tls.client_cert` in upstream configurations, and `ssl_trusted_certificate` in `config.yaml`? The `ssls` is managed through the `/apisix/admin/ssls` API. It's used for managing TLS certificates. These certificates may be used during TLS handshake (between Apache APISIX and its clients). Apache APISIX uses Server Name Indication (SNI) to differentiate between certificates of different domains. The `tls.client_cert`, `tls.client_key`, and `tls.client_cert_id` in upstream are used for mTLS communication with the upstream. -The `ssl_trusted_certificate` in config-default.yaml configures a trusted CA certificate. It is used for verifying some certificates signed by private authorities within APISIX, to avoid APISIX rejects the certificate. Note that it is not used to trust the certificates of APISIX upstream, because APISIX does not verify the legality of the upstream certificates. Therefore, even if the upstream uses an invalid TLS certificate, it can still be accessed without configuring a root certificate. +The `ssl_trusted_certificate` in `config.yaml` configures a trusted CA certificate. It is used for verifying some certificates signed by private authorities within APISIX, to avoid APISIX rejects the certificate. Note that it is not used to trust the certificates of APISIX upstream, because APISIX does not verify the legality of the upstream certificates. Therefore, even if the upstream uses an invalid TLS certificate, it can still be accessed without configuring a root certificate. ## Where can I find more answers? diff --git a/docs/en/latest/benchmark.md b/docs/en/latest/benchmark.md index bc86cf97d..8c6ba 100644 --- a/docs/en/latest/benchmark.md +++ b/docs/en/latest/benchmark.md @@ -140,7 +140,7 @@ For more reference on how to run the benchmark test, you can see this [PR](https :::tip -If you want to run the benchmark with a large number of connections, You may have to update the **keepalive** config in the [conf/config-default.yaml](https://github.com/apache/apisix/blob/master/conf/config-default.yaml#L242). Connections exceeding this number will become short connections. You can run the following command to test the benchmark with a large number of connections: +If you want to run the benchmark with a large number of connections, You may have to update the [**keepalive**](https://github.com/apache/apisix/blob/master/conf/config.yaml.example#L241) config by addin
(apisix) branch master updated: fix(ci): use docker compose plugin instead of docker-compose (#11469)
This is an automated email from the ASF dual-hosted git repository. bzp2010 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 564247d7c fix(ci): use docker compose plugin instead of docker-compose (#11469) 564247d7c is described below commit 564247d7c5481d3af9b6df7caa8bceca7b5b0dc9 Author: Shreemaan Abhishek AuthorDate: Sun Aug 4 18:18:05 2024 +0545 fix(ci): use docker compose plugin instead of docker-compose (#11469) --- Makefile | 2 +- ci/init-last-test-service.sh | 10 +- ci/init-plugin-test-service.sh | 6 +++--- t/cli/test_etcd_healthcheck.sh | 4 ++-- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/Makefile b/Makefile index c4cbc6842..21a238963 100644 --- a/Makefile +++ b/Makefile @@ -37,7 +37,7 @@ ENV_TAR?= tar ENV_INSTALL?= install ENV_RM ?= rm -vf ENV_DOCKER ?= docker -ENV_DOCKER_COMPOSE ?= docker-compose --project-directory $(CURDIR) -p $(project_name) -f $(project_compose_ci) +ENV_DOCKER_COMPOSE ?= docker compose --project-directory $(CURDIR) -p $(project_name) -f $(project_compose_ci) ENV_NGINX ?= $(ENV_NGINX_EXEC) -p $(CURDIR) -c $(CURDIR)/conf/nginx.conf ENV_NGINX_EXEC := $(shell command -v openresty 2>/dev/null || command -v nginx 2>/dev/null) ENV_OPENSSL_PREFIX ?= /usr/local/openresty/openssl3 diff --git a/ci/init-last-test-service.sh b/ci/init-last-test-service.sh index 5c3feeec7..694349056 100755 --- a/ci/init-last-test-service.sh +++ b/ci/init-last-test-service.sh @@ -22,14 +22,14 @@ before() { } after() { -docker exec -i apache-apisix_kafka-server1_1 /opt/bitnami/kafka/bin/kafka-topics.sh --create --zookeeper zookeeper-server1:2181 --replication-factor 1 --partitions 1 --topic test2 -docker exec -i apache-apisix_kafka-server1_1 /opt/bitnami/kafka/bin/kafka-topics.sh --create --zookeeper zookeeper-server1:2181 --replication-factor 1 --partitions 3 --topic test3 -docker exec -i apache-apisix_kafka-server2_1 /opt/bitnami/kafka/bin/kafka-topics.sh --create --zookeeper zookeeper-server2:2181 --replication-factor 1 --partitions 1 --topic test4 -docker exec -i apache-apisix_kafka-server1_1 /opt/bitnami/kafka/bin/kafka-topics.sh --create --zookeeper zookeeper-server1:2181 --replication-factor 1 --partitions 1 --topic test-consumer +docker exec -i apache-apisix-kafka-server1-1 /opt/bitnami/kafka/bin/kafka-topics.sh --create --zookeeper zookeeper-server1:2181 --replication-factor 1 --partitions 1 --topic test2 +docker exec -i apache-apisix-kafka-server1-1 /opt/bitnami/kafka/bin/kafka-topics.sh --create --zookeeper zookeeper-server1:2181 --replication-factor 1 --partitions 3 --topic test3 +docker exec -i apache-apisix-kafka-server2-1 /opt/bitnami/kafka/bin/kafka-topics.sh --create --zookeeper zookeeper-server2:2181 --replication-factor 1 --partitions 1 --topic test4 +docker exec -i apache-apisix-kafka-server1-1 /opt/bitnami/kafka/bin/kafka-topics.sh --create --zookeeper zookeeper-server1:2181 --replication-factor 1 --partitions 1 --topic test-consumer # create messages for test-consumer for i in `seq 30` do -docker exec -i apache-apisix_kafka-server1_1 bash -c "echo "testmsg$i" | /opt/bitnami/kafka/bin/kafka-console-producer.sh --bootstrap-server 127.0.0.1:9092 --topic test-consumer" +docker exec -i apache-apisix-kafka-server1-1 bash -c "echo "testmsg$i" | /opt/bitnami/kafka/bin/kafka-console-producer.sh --bootstrap-server 127.0.0.1:9092 --topic test-consumer" echo "Produces messages to the test-consumer topic, msg: testmsg$i" done echo "Kafka service initialization completed" diff --git a/ci/init-plugin-test-service.sh b/ci/init-plugin-test-service.sh index aa0ccf190..400465bf1 100755 --- a/ci/init-plugin-test-service.sh +++ b/ci/init-plugin-test-service.sh @@ -17,9 +17,9 @@ # after() { -docker exec -i apache-apisix_kafka-server1_1 /opt/bitnami/kafka/bin/kafka-topics.sh --create --zookeeper zookeeper-server1:2181 --replication-factor 1 --partitions 1 --topic test2 -docker exec -i apache-apisix_kafka-server1_1 /opt/bitnami/kafka/bin/kafka-topics.sh --create --zookeeper zookeeper-server1:2181 --replication-factor 1 --partitions 3 --topic test3 -docker exec -i apache-apisix_kafka-server2_1 /opt/bitnami/kafka/bin/kafka-topics.sh --create --zookeeper zookeeper-server2:2181 --replication-factor 1 --partitions 1 --topic test4 +docker exec -i apache-apisix-kafka-server1-1 /opt/bitnami/kafka/bin/kafka-topics.sh --create --zookeeper zookeeper-server1:2181 --replication-factor 1 --partitions 1 --topic test2 +docker exec -i apache-apisix-kafka-server1-1 /opt/bitnami/kafka/bin/kafka-topics.sh --create --zookeeper zookeepe
(apisix-website) branch master updated: blog: remove duplicates by fixing the title (#1814)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/apisix-website.git The following commit(s) were added to refs/heads/master by this push: new 853f4c5a7b6 blog: remove duplicates by fixing the title (#1814) 853f4c5a7b6 is described below commit 853f4c5a7b6055b01f8045f0b27c3bd5f3c90236 Author: Nicolas Fränkel AuthorDate: Wed Jul 31 16:27:42 2024 +0200 blog: remove duplicates by fixing the title (#1814) --- blog/en/blog/2024/07/25/different-rate-limits-apisix.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blog/en/blog/2024/07/25/different-rate-limits-apisix.md b/blog/en/blog/2024/07/25/different-rate-limits-apisix.md index 2628d69ad39..436c4a5a988 100644 --- a/blog/en/blog/2024/07/25/different-rate-limits-apisix.md +++ b/blog/en/blog/2024/07/25/different-rate-limits-apisix.md @@ -1,5 +1,5 @@ --- -title: Advanced URL rewriting with Apache APISIX +title: Differentiating rate limits in Apache APISIX authors: - name: Nicolas Fränkel title: Author
(apisix) branch master updated: chore(deps): update casbin to 1.41.9 (#11400)
This is an automated email from the ASF dual-hosted git repository. bzp2010 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 a17655bb7 chore(deps): update casbin to 1.41.9 (#11400) a17655bb7 is described below commit a17655bb7541f1c47441afbbc2e1103fdc45c73c Author: Michele Righi AuthorDate: Mon Jul 15 18:57:08 2024 +0200 chore(deps): update casbin to 1.41.9 (#11400) --- apisix-master-0.rockspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apisix-master-0.rockspec b/apisix-master-0.rockspec index e4c82f1af..6a65f502e 100644 --- a/apisix-master-0.rockspec +++ b/apisix-master-0.rockspec @@ -69,7 +69,7 @@ dependencies = { "lua-resty-consul = 0.3-2", "penlight = 1.13.1", "ext-plugin-proto = 0.6.1", -"casbin = 1.41.8-1", +"casbin = 1.41.9-1", "inspect == 3.1.1", "lualdap = 1.2.6-1", "lua-resty-rocketmq = 0.3.0-0",
(apisix) branch master updated: chore(chaitin-waf): update dep lua-resty-t1k to 1.1.5 (#11391)
This is an automated email from the ASF dual-hosted git repository. bzp2010 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 54ebd05a2 chore(chaitin-waf): update dep lua-resty-t1k to 1.1.5 (#11391) 54ebd05a2 is described below commit 54ebd05a243fe2ce44c1def319d4ea218f53ca45 Author: xbingW <150229899+xbi...@users.noreply.github.com> AuthorDate: Sun Jul 14 00:21:51 2024 +0800 chore(chaitin-waf): update dep lua-resty-t1k to 1.1.5 (#11391) --- apisix-master-0.rockspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apisix-master-0.rockspec b/apisix-master-0.rockspec index 75b90d949..e4c82f1af 100644 --- a/apisix-master-0.rockspec +++ b/apisix-master-0.rockspec @@ -79,7 +79,7 @@ dependencies = { "nanoid = 0.1-1", "lua-resty-mediador = 0.1.2-1", "lua-resty-ldap = 0.1.0-0", -"lua-resty-t1k = 1.1.3", +"lua-resty-t1k = 1.1.5", "brotli-ffi = 0.3-1", "lua-ffi-zlib = 0.6-0" }
(apisix) branch master updated: docs: add http-dubbo docs (#11322)
This is an automated email from the ASF dual-hosted git repository. bzp2010 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 4dbecfd56 docs: add http-dubbo docs (#11322) 4dbecfd56 is described below commit 4dbecfd560a0d47eb78391b5f8660dd51da9afec Author: ShenFeng312 AuthorDate: Wed Jul 3 10:28:43 2024 +0800 docs: add http-dubbo docs (#11322) Co-authored-by: Traky Deng --- docs/en/latest/config.json | 3 +- docs/en/latest/plugins/http-dubbo.md | 128 +++ docs/zh/latest/config.json | 3 +- docs/zh/latest/plugins/http-dubbo.md | 124 + 4 files changed, 256 insertions(+), 2 deletions(-) diff --git a/docs/en/latest/config.json b/docs/en/latest/config.json index 12c037859..cd6aeb94b 100644 --- a/docs/en/latest/config.json +++ b/docs/en/latest/config.json @@ -217,7 +217,8 @@ "items": [ "plugins/dubbo-proxy", "plugins/mqtt-proxy", -"plugins/kafka-proxy" +"plugins/kafka-proxy", +"plugins/http-dubbo" ] } ] diff --git a/docs/en/latest/plugins/http-dubbo.md b/docs/en/latest/plugins/http-dubbo.md new file mode 100755 index 0..f55009835 --- /dev/null +++ b/docs/en/latest/plugins/http-dubbo.md @@ -0,0 +1,128 @@ +--- +title: http-dubbo +keywords: + - Apache APISIX + - API Gateway + - Plugin + - http-dubbo + - http to dubbo + - transcode +description: This document contains information about the Apache APISIX http-dubbo Plugin. +--- + + + +## Description + +The `http-dubbo` plugin can transcode between http and Dubbo (Note: in +Dubbo 2.x, the serialization type of the upstream service must be fastjson). + +## Attributes + +| Name | Type| Required | Default | Valid values | Description [...] +|--|-|--|-|--|-- [...] +| service_name | string | True | | | Dubbo service name [...] +| service_version | string | False| 0.0.0 | | Dubbo service version [...] +| method | string | True | | | Dubbo service method name [...] +| params_type_desc | string | True | | | Description of the Dubbo service method signature [...] +| serialization_h
(apisix) branch master updated: feat: move tinyyaml to lyaml (#11312)
This is an automated email from the ASF dual-hosted git repository. bzp2010 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 cf8429249 feat: move tinyyaml to lyaml (#11312) cf8429249 is described below commit cf8429249e7e28fa1fcdcec5f4d4b7b8612f4ca3 Author: Zeping Bai AuthorDate: Mon Jun 3 23:13:00 2024 +0800 feat: move tinyyaml to lyaml (#11312) --- apisix-master-0.rockspec | 1 - apisix/cli/file.lua| 19 +++-- apisix/core/config_yaml.lua| 4 +- apisix/debug.lua | 4 +- conf/config-default.yaml | 4 +- docs/en/latest/plugins/body-transformer.md | 4 +- t/cli/test_admin.sh| 3 +- t/cli/test_main.sh | 8 ++-- t/cli/test_prometheus_run_in_privileged.sh | 18 - t/config-center-yaml/consumer.t| 19 +++-- t/config-center-yaml/plugin-configs.t | 8 ++-- t/config-center-yaml/plugin-metadata.t | 2 +- t/config-center-yaml/plugin.t | 29 -- t/core/config_etcd.t | 8 ++-- t/core/etcd-mtls.t | 2 + t/kubernetes/discovery/kubernetes2.t | 36 - t/kubernetes/discovery/kubernetes3.t | 8 ++-- t/kubernetes/discovery/stream/kubernetes.t | 4 +- t/node/grpc-proxy-mtls.t | 4 +- t/node/healthcheck2.t | 6 +-- t/node/https-proxy.t | 6 +-- t/node/least_conn.t| 17 +++- t/node/priority-balancer/health-checker.t | 8 ++-- t/node/priority-balancer/sanity.t | 24 --- t/node/upstream-discovery.t| 6 +-- t/node/upstream-domain-with-special-dns.t | 15 +++ t/node/upstream-domain-with-special-ipv6-dns.t | 3 +- t/plugin/body-transformer.t| 4 +- t/plugin/dubbo-proxy/route.t | 10 + t/plugin/log-rotate2.t | 7 +--- t/plugin/opentelemetry3.t | 5 ++- t/plugin/prometheus4.t | 55 ++ t/plugin/zipkin3.t | 4 +- t/router/radixtree-host-uri2.t | 8 ++-- t/stream-node/priority-balancer.t | 9 ++--- 35 files changed, 157 insertions(+), 215 deletions(-) diff --git a/apisix-master-0.rockspec b/apisix-master-0.rockspec index f94aed127..ddd0d41e1 100644 --- a/apisix-master-0.rockspec +++ b/apisix-master-0.rockspec @@ -51,7 +51,6 @@ dependencies = { "lua-protobuf = 0.5.0-1", "lua-resty-openidc = 1.7.6-3", "luafilesystem = 1.7.0-2", -"api7-lua-tinyyaml = 0.4.4", "nginx-lua-prometheus-api7 = 0.20240201-1", "jsonschema = 0.9.8", "lua-resty-ipmatcher = 0.6.1", diff --git a/apisix/cli/file.lua b/apisix/cli/file.lua index 88d0522a7..c01736d16 100644 --- a/apisix/cli/file.lua +++ b/apisix/cli/file.lua @@ -15,7 +15,7 @@ -- limitations under the License. -- -local yaml = require("tinyyaml") +local yaml = require("lyaml") local profile = require("apisix.core.profile") local util = require("apisix.cli.util") local dkjson = require("dkjson") @@ -23,7 +23,6 @@ local dkjson = require("dkjson") local pairs = pairs local type = type local tonumber = tonumber -local getmetatable = getmetatable local getenv = os.getenv local str_gmatch = string.gmatch local str_find = string.find @@ -157,14 +156,6 @@ local function replace_by_reserved_env_vars(conf) end -local function tinyyaml_type(t) -local mt = getmetatable(t) -if mt then -return mt.__type -end -end - - local function path_is_multi_type(path, type_val) if str_sub(path, 1, 14) == "nginx_config->" and (type_val == "number" or type_val == "string") then @@ -188,7 +179,7 @@ local function merge_conf(base, new_tab, ppath) for key, val in pairs(new_tab) do if type(val) == "table" then -if tinyyaml_type(val) == "null" then +if val == yaml.null then base[key] = nil elseif tab_is_array(val) then @@ -243,7 +234,7 @@ function _M.read_yaml_conf(apisix_home) return nil, err end -local default_conf = yaml.parse(default_conf_yaml) +local default_conf = yaml.load(default_conf_yaml) if not default_conf then return nil, "invalid config-default.yaml file" end @@ -266,7 +257,7 @@ function _M.read_yaml_conf(apisix_home) end if not is_empty_file then -local user
(apisix-website) branch master updated: blog: add may monthly report (#1798)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/apisix-website.git The following commit(s) were added to refs/heads/master by this push: new 389f205c584 blog: add may monthly report (#1798) 389f205c584 is described below commit 389f205c584835fc0b84549a7ef8647d983283b1 Author: Yilia Lin <114121331+yilial...@users.noreply.github.com> AuthorDate: Fri May 31 17:37:31 2024 +0800 blog: add may monthly report (#1798) Co-authored-by: Traky Deng --- blog/en/blog/2024/05/31/monthly-report.md | 33 +++ blog/zh/blog/2024/05/31/monthly-report.md | 28 ++ 2 files changed, 61 insertions(+) diff --git a/blog/en/blog/2024/05/31/monthly-report.md b/blog/en/blog/2024/05/31/monthly-report.md new file mode 100644 index 000..87b9c700926 --- /dev/null +++ b/blog/en/blog/2024/05/31/monthly-report.md @@ -0,0 +1,33 @@ +--- +title: "Monthly Report (May 01 - May 31)" +keywords: ["Apache APISIX", "API Gateway", "Monthly Report", "Contributor"] +description: Our monthly Apache APISIX community report generates insights into the project's monthly developments. The reports provide a pathway into the Apache APISIX community, ensuring that you stay well-informed and actively involved. +tags: [Community] +image: https://static.apiseven.com/uploads/2024/05/31/cYKGTnFs_may-cover-en.png +--- + +> We have recently made some additions and improvements to specific features within Apache APISIX. These include supporting hcv namespace in HashiCorp Vault, and allowing setting headers in introspection request. For detailed information, please read the monthly report. + +## Introduction + +From its inception, the Apache APISIX project has embraced the ethos of open-source community collaboration, propelling it into the ranks of the most active global open-source API gateway projects. The proverbial wisdom of 'teamwork makes the dream work' rings true in our way and is made possible by the collective effort of our community. + +From May 1 to May 31, a total of 7 contributors made 9 commits to Apache APISIX. We sincerely appreciate your contributions to Apache APISIX. + +## Contributor Statistics + +![Apache APISIX Contributors List](https://static.apiseven.com/uploads/2024/05/31/HwuInTPw_contributors-list-may.png) + +![Apache APISIX New Contributors](https://static.apiseven.com/uploads/2024/05/31/paTYXQAh_new-contributors-may.png) + +## Recent Feature Highlights + +- [Support hcv namespace in HashiCorp Vault](https://github.com/apache/apisix/pull/11277)(Contributor: [bzp2010](https://github.com/bzp2010)) + +- [Allow setting headers in introspection request](https://github.com/apache/apisix/pull/11090)(Contributor: [yuweizzz](https://github.com/yuweizzz)) + +## Recent Blog Recommendations + +- [Five Ways to Pass Parameters to Apache APISIX](https://apisix.apache.org/blog/2024/05/02/pass-parameters-apisix/) + +The official website and GitHub Issues of Apache APISIX provide a wealth of documentation of tutorials and real-world use cases. If you encounter any issues, you can refer to the documentation, search for keywords in Issues, or participate in discussions on Issues to share your ideas and practical experiences. diff --git a/blog/zh/blog/2024/05/31/monthly-report.md b/blog/zh/blog/2024/05/31/monthly-report.md new file mode 100644 index 000..681bf5b38ba --- /dev/null +++ b/blog/zh/blog/2024/05/31/monthly-report.md @@ -0,0 +1,28 @@ +--- +title: "社区月报 (05.01 - 05.31)" +keywords: ["Apache APISIX", "API 网关", "社区月报", "贡献者"] +description: Apache APISIX 社区的月报旨在帮助社区成员更全面地了解社区的最新动态,方便大家参与到 Apache APISIX 社区中来。 +tags: [Community] +image: https://static.apiseven.com/uploads/2024/05/31/Z09ywV24_may-cover-cn.png +--- +> 最近,我们新增并改进了 Apache APISIX 的部分功能,包含在 HashiCorp Vault 中支持 hcv namespace 和 在 OIDC 插件中允许在自省请求中设置标头。有关更多功能新亮点,请阅读本期月报。 + +## 导语 + +Apache APISIX 项目始终秉承着开源社区协作的精神,自问世起便崭露头角,如今已经成为全球最活跃的开源 API 网关项目之一。正如谚语所言,“众人拾柴火焰高”,这一辉煌成就,得益于整个社区伙伴的协同努力。 + +从 2024.05.01 至 2024.05.31,有 7 名开发者提交了 9 个 commit,为 Apache APISIX 做出了重要贡献。感谢这些伙伴们对 Apache APISIX 的无私支持!正是因为你们的付出,才能让 Apache APISIX 项目不断改进、提升和壮大。 + +## 贡献者统计 + +![贡献者名单](https://static.apiseven.com/uploads/2024/05/31/HwuInTPw_contributors-list-may.png) + +![新晋贡献者](https://static.apiseven.com/uploads/2024/05/31/paTYXQAh_new-contributors-may.png) + +## 近期亮点功能 + +- [在 HashiCorp Vault 中支持 hcv namespace](https://github.com/apache/apisix/pull/11277)(贡献者:[bzp2010](https://github.com/bzp2010)) + +- [在 OIDC 插件中允许在自省请求中设置标头](https://github.com/apache/apisix/pull/11090)(贡献者:[yuweizzz](https://github.com/yuweizzz)) + +Apache APISIX 的项目官网和 Github 上的 Issue 上已经积累了比较丰富的文档教程和使用经验,如果您遇到问题可以翻阅文档,用关键词在 Issue 中搜索,也可以参与 Issue 上的讨论,提出自己的想法和实践经验。
(apisix-website) branch master updated: docs: fix tag of cve-2024-32638.md (#1796)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/apisix-website.git The following commit(s) were added to refs/heads/master by this push: new 26173097885 docs: fix tag of cve-2024-32638.md (#1796) 26173097885 is described below commit 261730978851752dccdea86c9636924067a7e0a0 Author: Yilia Lin <114121331+yilial...@users.noreply.github.com> AuthorDate: Mon May 6 10:25:50 2024 +0800 docs: fix tag of cve-2024-32638.md (#1796) --- blog/en/blog/2024/05/02/cve-2024-32638.md | 19 ++- blog/zh/blog/2024/05/02/cve-2024-32638.md | 15 --- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/blog/en/blog/2024/05/02/cve-2024-32638.md b/blog/en/blog/2024/05/02/cve-2024-32638.md index 116afd76b72..6eca3c0c72f 100644 --- a/blog/en/blog/2024/05/02/cve-2024-32638.md +++ b/blog/en/blog/2024/05/02/cve-2024-32638.md @@ -1,31 +1,32 @@ --- -title: "Forward-Auth Plugin Request Smuggling( CVE-2024-32638 )" +title: "HTTP Request Smuggling in forward-auth Plugin (CVE-2024-32638)" keywords: - Vulnerability - forward-auth - Smuggling -description: Inconsistent Interpretation of HTTP Requests ('HTTP Request Smuggling') vulnerability in Apache APISIX when using `forward-auth` plugin. -tags: [Security] +description: Enabling the `forward-auth` plugin allows Apache APISIX to trigger illegal requests (HTTP Request Smuggling), resulting in a security vulnerability. +tags: [Vulnerabilities] +image: https://static.apiseven.com/uploads/2024/05/06/Wq940JRt_CVE-2024-32638.png --- -> In APISIX 3.8.0, 3.9.0, there is a problem of HTTP Request Smuggling caused by the `forward-auth` plugin. +> For APISIX versions 3.8.0 and 3.9.0, enabling the forward-auth plugin allows APISIX to trigger illegal requests (HTTP Request Smuggling). ## Problem Description -Inconsistent Interpretation of HTTP Requests ('HTTP Request Smuggling') vulnerability in Apache APISIX when using `forward-auth` plugin. +Enabling the `forward-auth` plugin allows Apache APISIX to trigger illegal requests (HTTP Request Smuggling), resulting in a security vulnerability. ## Affected Versions -This issue affects Apache APISIX: from 3.8.0, 3.9.0 . +This issue affects Apache APISIX versions: 3.8.0 and 3.9.0. ## Solution -If you are using version 3.8.0, 3.9.0, highly recommended to upgrade to version 3.8.1, 3.9.1 or higher, which fixes the issue. +For Apache APISIX users using versions 3.8.0 and 3.9.0, it is recommended to upgrade to versions 3.8.1, 3.9.1, or higher, in which the issue is fixed. ## Vulnerability details -Severity:low +Severity: Low Vulnerability public date: May 2, 2024 @@ -33,4 +34,4 @@ CVE details: https://nvd.nist.gov/vuln/detail/CVE-2024-32638 ## Contributor Profile -Discovered and reported by Brandon Arp and Bruno Green of Topsort. Thank you for your contribution to the Apache APISIX community. +This vulnerability was discovered and reported by Brandon Arp and Bruno Green from Topsort. Thank you for your contribution to the Apache APISIX community. diff --git a/blog/zh/blog/2024/05/02/cve-2024-32638.md b/blog/zh/blog/2024/05/02/cve-2024-32638.md index f9c746832d5..66bfe5becbd 100644 --- a/blog/zh/blog/2024/05/02/cve-2024-32638.md +++ b/blog/zh/blog/2024/05/02/cve-2024-32638.md @@ -1,23 +1,24 @@ --- -title: "Forward-Auth 插件能够发出非法 Smuggling 请求 ( CVE-2024-32638 )" +title: "Forward-Auth 插件能够发出非法 Smuggling 请求 (CVE-2024-32638)" keywords: - 安全漏洞 - forward-auth - Smuggling -description: 使用 “forward-auth” 插件时,Apache APISIX 能够发出 HTTP 非法请求(“HTTP Request Smuggling”)导致安全漏洞 -tags: [Security] +description: 使用 `forward-auth` 插件时,Apache APISIX 能够发出 HTTP 非法请求(HTTP Request Smuggling)导致安全漏洞 +tags: [Vulnerabilities] +image: https://static.apiseven.com/uploads/2024/05/06/Wq940JRt_CVE-2024-32638.png --- -> 对于 APISIX 3.8.0, 3.9.0 版本,启用 “forward-auth” 插件时,APISIX 能够发出非法请求(HTTP Request Smuggling)。 +> 对于 APISIX 3.8.0, 3.9.0 版本,启用 `forward-auth` 插件时,APISIX 能够发出非法请求(HTTP Request Smuggling)。 ## 问题描述 -启用 “forward-auth” 插件时,APISIX 能够发出非法请求(HTTP Request Smuggling)导致安全漏洞。 +启用 `forward-auth` 插件时,APISIX 能够发出非法请求(HTTP Request Smuggling)导致安全漏洞。 ## 影响版本 -该风险会影响 Apache APISIX `3.8.0` 和 `3.9.0` 两版本。 +该风险会影响 Apache APISIX `3.8.0` 和 `3.9.0` 两个版本。 ## 解决方案 @@ -33,4 +34,4 @@ CVE 详细信息:https://nvd.nist.gov/vuln/detail/CVE-2024-32638 ## 贡献者简介 -该漏洞有来自 Topsort 公司的 Brandon Arp 和 Bruno Green 发现并报告。感谢各位对 Apache APISIX 社区的贡献。 +该漏洞由来自 Topsort 公司的 Brandon Arp 和 Bruno Green 发现并报告。感谢各位对 Apache APISIX 社区的贡献。
(apisix-website) branch master updated: docs: add monthly-report (0129-0229) (#1776)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/apisix-website.git The following commit(s) were added to refs/heads/master by this push: new 18d061c942e docs: add monthly-report (0129-0229) (#1776) 18d061c942e is described below commit 18d061c942ef842e485d2126b2678827b5297546 Author: Yilia Lin <114121331+yilial...@users.noreply.github.com> AuthorDate: Wed Mar 6 11:39:34 2024 +0800 docs: add monthly-report (0129-0229) (#1776) --- blog/en/blog/2024/03/05/monthly-report.md | 48 +++ blog/zh/blog/2024/03/05/monthly-report.md | 47 ++ 2 files changed, 95 insertions(+) diff --git a/blog/en/blog/2024/03/05/monthly-report.md b/blog/en/blog/2024/03/05/monthly-report.md new file mode 100644 index 000..b1a961ee8d2 --- /dev/null +++ b/blog/en/blog/2024/03/05/monthly-report.md @@ -0,0 +1,48 @@ +--- +title: "Monthly Report (January 29 - February 29)" +keywords: ["Apache APISIX", "API Gateway", "Monthly Report", "Contributor"] +description: Our monthly Apache APISIX community report is your window into the project's monthly developments. It is a tool to facilitate your seamless integration into the Apache APISIX community, ensuring that you stay well-informed and actively involved. +tags: [Community] +image: https://static.apiseven.com/uploads/2024/03/05/NjtLBF1e_monthly-02-en.png +--- + +> We have recently made some additions and improvements to specific features within Apache APISIX. For detailed information, please read the monthly report. + + +## Introduction + +From its inception, the Apache APISIX project has embraced the ethos of open-source community collaboration, propelling it into the ranks of the most active global open-source API gateway projects. The proverbial wisdom of 'Many hands make light work' rings true in our way, made possible by the collective dedication of our community. + +From 01.29 to 02.29, a total of 25 contributors made 53 commits to Apache APISIX. We sincerely appreciate your contributions to Apache APISIX. + +## Contributor Statistics + +![Apache APISIX Contributors List](https://static.apiseven.com/uploads/2024/03/04/rtlMzaYq_overall-contributors-202402.png) + +![Apache APISIX New Contributors](https://static.apiseven.com/uploads/2024/03/04/wlzKrOf7_new-contributors-202402.png) + +## Recent Highlights Features + +- [Add support for OpenResty 1.25.3.1](https://github.com/apache/apisix/pull/10887)(Contributor: [zll600](https://github.com/zll600)) + +- [Add support for EndpointSlices in Kubernetes discovery](https://github.com/apache/apisix/pull/10916)(Contributor: [dongjiang1989](https://github.com/dongjiang1989)) + +- [Add options for redis and redis-cluster in limit-req plugin](https://github.com/apache/apisix/pull/10874)(Contributor: [theweakgod](https://github.com/theweakgod)) + +- [Add options for redis and redis-cluster in limit-conn plugin](https://github.com/apache/apisix/pull/10866)(Contributor: [theweakgod](https://github.com/theweakgod)) + +- [Move `plugin/reload` under admin API to Control API](https://github.com/apache/apisix/pull/10905)(Contributor: [sheharyaar](https://github.com/sheharyaar)) + +- [Support setting ttl for Prometheus metrics](https://github.com/apache/apisix/pull/10869)(Contributor: [monkeyDluffy6017](https://github.com/monkeyDluffy6017)) + +- [Add http-dubbo plugin](https://github.com/apache/apisix/pull/10703)(Contributor: [ShenFeng312](https://github.com/ShenFeng312)) + +- [Allow configuring `allow-headers` in grpc-web plugin](https://github.com/apache/apisix/pull/10904)(Contributor: [smileby](https://github.com/smileby)) + +- [Allow configuring `status_code` in forward-auth plugin](https://github.com/apache/apisix/pull/10898)(Contributor: [smileby](https://github.com/smileby)) + +- [Add support of `include_req_body` and `include_resp_body` in logging plugins](https://github.com/apache/apisix/pull/10888)(Contributor: [smileby](https://github.com/smileby)) + +- [Support built-in variables in response_headers in mocking plugin](https://github.com/apache/apisix/pull/10872)(Contributor: [MonkeyDLufy](https://github.com/MonkeyDLufy)) + +The official website and GitHub Issues of Apache APISIX have accumulated rich documentation tutorials and usage experiences. If you encounter any issues, you can refer to the documentation, search for keywords in Issues, or participate in discussions on Issues to share your ideas and practical experiences. diff --git a/blog/zh/blog/2024/03/05/monthly-report.md b/blog/zh/blog/2024/03/05/monthly-report.md new file mode 100644 index 000..ca1fc817141 --- /dev/null +++ b/blog/zh/blog/2024/03/05/monthly-report.md @@ -0,0 +1,47 @@ +--- +title: "社区月报 (01.29 - 02.29)" +keywords: ["Apache APISIX", "API 网关&
(apisix) branch master updated: fix: missing etcd init_dir and unable to list resource (#10569)
This is an automated email from the ASF dual-hosted git repository. bzp2010 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 783660158 fix: missing etcd init_dir and unable to list resource (#10569) 783660158 is described below commit 7836601581651061287c4bc7d8ed0c515b3bfb8b Author: AlinsRan AuthorDate: Thu Nov 30 21:41:01 2023 +0800 fix: missing etcd init_dir and unable to list resource (#10569) --- apisix/core/etcd.lua | 32 +++- t/admin/routes.t | 52 t/core/config_etcd.t | 2 +- t/core/etcd.t| 28 +++- 4 files changed, 95 insertions(+), 19 deletions(-) diff --git a/apisix/core/etcd.lua b/apisix/core/etcd.lua index 5cd103858..a537c8840 100644 --- a/apisix/core/etcd.lua +++ b/apisix/core/etcd.lua @@ -154,16 +154,6 @@ local function kvs_to_node(kvs) end _M.kvs_to_node = kvs_to_node -local function kvs_to_nodes(res) -res.body.node.dir = true -res.body.node.nodes = setmetatable({}, array_mt) -for i=2, #res.body.kvs do -res.body.node.nodes[i-1] = kvs_to_node(res.body.kvs[i]) -end -return res -end - - local function not_found(res) res.body.message = "Key not found" res.reason = "Not found" @@ -211,13 +201,22 @@ function _M.get_format(res, real_key, is_dir, formatter) else -- In etcd v2, the direct key asked for is `node`, others which under this dir are `nodes` -- While in v3, this structure is flatten and all keys related the key asked for are `kvs` -res.body.node = kvs_to_node(res.body.kvs[1]) -if not res.body.kvs[1].value then --- remove last "/" when necessary -if string.byte(res.body.node.key, -1) == 47 then -res.body.node.key = string.sub(res.body.node.key, 1, #res.body.node.key-1) +res.body.node = { +key = real_key, +dir = true, +nodes = setmetatable({}, array_mt) +} +local kvs = res.body.kvs +if #kvs >= 1 and not kvs[1].value then +res.body.node.createdIndex = tonumber(kvs[1].create_revision) +res.body.node.modifiedIndex = tonumber(kvs[1].mod_revision) +for i=2, #kvs do +res.body.node.nodes[i-1] = kvs_to_node(kvs[i]) +end +else +for i=1, #kvs do +res.body.node.nodes[i] = kvs_to_node(kvs[i]) end -res = kvs_to_nodes(res) end end @@ -316,7 +315,6 @@ function _M.get(key, is_dir) if not res then return nil, err end - return _M.get_format(res, key, is_dir) end diff --git a/t/admin/routes.t b/t/admin/routes.t index 17b30dc4c..835d4b390 100644 --- a/t/admin/routes.t +++ b/t/admin/routes.t @@ -734,3 +734,55 @@ GET /t --- error_code: 400 --- response_body_like {"error_msg":"invalid configuration: property \\"host\\" validation failed: failed to match pattern .* + + + +=== TEST 23: removing the init_dir key from etcd can still list all routes +--- config +location /t { +content_by_lua_block { +local t = require("lib.test_admin").test +local json = require("toolkit.json") +local etcd = require("apisix.core.etcd") + +local code, body = t('/apisix/admin/routes/del_init_dir_1', + ngx.HTTP_PUT, + [[{ +"upstream": { +"nodes": { +"127.0.0.1:8080": 1 +}, +"type": "roundrobin" +}, +"uri": "/index.html" +}]] +) +assert(code == 200 or code == 201, "failed to add route") + +local code, body = t('/apisix/admin/routes/del_init_dir_2', + ngx.HTTP_PUT, + [[{ +"upstream": { +"nodes": { +"127.0.0.1:8080": 1 +}, +"type": "roundrobin" +}, +"uri": "/index.html" +}]] +) +assert(code == 200 or code == 201, "failed to add route") + +-- remove the init_dir key from etcd +assert(etcd.delete("/routes/")) + +-- list all routes and check them +local code, body, res = t('/apisix/admin/routes', ngx.HTTP_GET) +ngx.status = code +ngx.say(res) +
(apisix-website) branch master updated: feat: improve compatibility with macOS (#1727)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/apisix-website.git The following commit(s) were added to refs/heads/master by this push: new cfc766326f9 feat: improve compatibility with macOS (#1727) cfc766326f9 is described below commit cfc766326f907a0e28b8855dc33d53ee827545fe Author: Young AuthorDate: Tue Nov 28 20:59:16 2023 +0800 feat: improve compatibility with macOS (#1727) --- package.json| 5 +++-- scripts/package.json| 7 --- scripts/special-process-v2md.sh | 14 +++--- 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index 279fb0deec7..94ed14aeb0b 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,8 @@ ] }, "scripts": { -"sync-docs": "bash ./scripts/generate-event-poster-card.sh && yarn workspace scripts sync-docs", +"sync-docs": "yarn workspace scripts sync-docs", +"generate-event-poster-card": "yarn workspace scripts generate-event-poster-card", "generate-repos-info": "yarn workspace scripts generate-repos-info", "generate-picked-posts": "yarn workspace scripts generate-picked-posts", "update-sitemap": "yarn workspace scripts update-sitemap", @@ -43,7 +44,7 @@ "build:blog:zh:preview:serve": "yarn build:blog:zh:preview && yarn serve:blog:zh", "build:blog:en:preview:serve": "yarn build:blog:en:preview && yarn serve:blog:en", "prepare": "husky install", -"prepare-data": "yarn sync-docs && yarn generate-repos-info && yarn generate-picked-posts", +"prepare-data": "yarn generate-event-poster-card && yarn sync-docs && yarn generate-repos-info && yarn generate-picked-posts", "postinstall": "patch-package" }, "devDependencies": { diff --git a/scripts/package.json b/scripts/package.json index 48303d57e5d..52bac0256e1 100644 --- a/scripts/package.json +++ b/scripts/package.json @@ -2,13 +2,14 @@ "name": "scripts", "version": "1.0.0", "scripts": { -"sync-docs": "node sync-docs.js && sh special-process-v2md.sh", -"process-ingress-mdx": "sh special-process-v2md.sh", +"sync-docs": "node sync-docs.js && yarn process-ingress-mdx", +"process-ingress-mdx": "bash special-process-v2md.sh", "link-checker": "node link-checker.js", "generate-repos-info": "node generate-repos-info.js", "update-sitemap": "node update-sitemap-loc.js", "generate-website": "node generate-website.js", -"generate-picked-posts": "node --experimental-modules generate-picked-posts-info.mjs" +"generate-picked-posts": "node --experimental-modules generate-picked-posts-info.mjs", +"generate-event-poster-card": "bash generate-event-poster-card.sh" }, "devDependencies": { "@types/node": "^14.17.21", diff --git a/scripts/special-process-v2md.sh b/scripts/special-process-v2md.sh index eb171d413b5..cf28861b68b 100644 --- a/scripts/special-process-v2md.sh +++ b/scripts/special-process-v2md.sh @@ -1,9 +1,17 @@ -#!/usr/bin/env sh +#!/usr/bin/env bash # remove and # in /apisix-ingress-controller/references/v2.mdx # after synced docs BASEDIR=$(dirname $0)/.. -sed -i '//I,+1d; //I,+1d;' $BASEDIR/doc/docs/apisix-ingress-controller/references/v2.mdx -sed -i '//I,+1d; //I,+1d;' $BASEDIR/doc/docs-apisix-ingress-controller_versioned_docs/version-1.7.0/references/v2.mdx +if [[ "$OSTYPE" == "linux-gnu"* ]]; then + sed -i '//I,+1d; //I,+1d;' $BASEDIR/doc/docs/apisix-ingress-controller/references/v2.mdx + sed -i '//I,+1d; //I,+1d;' $BASEDIR/doc/docs-apisix-ingress-controller_versioned_docs/version-1.7.0/references/v2.mdx +elif [[ "$OSTYPE" == "darwin"* ]]; then + sed -i '' '//I,+1d; //I,+1d;' $BASEDIR/doc/docs/apisix-ingress-controller/references/v2.mdx + sed -i '' '//I,+1d; //I,+1d;' $BASEDIR/doc/docs-apisix-ingress-controller_versioned_docs/version-1.7.0/references/v2.mdx +else + echo "Unsupported OS: $OSTYPE" + exit 1 +fi
[apisix-website] branch master updated: docs: update wecity-uses-apisix.md (#1691)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/apisix-website.git The following commit(s) were added to refs/heads/master by this push: new b697a895a47 docs: update wecity-uses-apisix.md (#1691) b697a895a47 is described below commit b697a895a470e6c04db58653d2e7352dbddba670 Author: Yilia <114121331+yilial...@users.noreply.github.com> AuthorDate: Fri Sep 22 11:26:25 2023 +0800 docs: update wecity-uses-apisix.md (#1691) --- blog/en/blog/2023/09/20/wecity-uses-apisix.md | 4 1 file changed, 4 deletions(-) diff --git a/blog/en/blog/2023/09/20/wecity-uses-apisix.md b/blog/en/blog/2023/09/20/wecity-uses-apisix.md index e73e088de7a..4f6854ab6e4 100644 --- a/blog/en/blog/2023/09/20/wecity-uses-apisix.md +++ b/blog/en/blog/2023/09/20/wecity-uses-apisix.md @@ -3,12 +3,8 @@ title: "Charting the Future of Urban Connectivity: WeCity Collaborates with APIS authors: - name: Arjen Hof title: Author -url: -image_url: - name: Tim van Densen title: Author -url: -image_url: keywords: - WeCity - API Gateway
[apisix-website] branch master updated: blog: add release notes for 3.5.0 minor release (#1672)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/apisix-website.git The following commit(s) were added to refs/heads/master by this push: new 2ddfb132d22 blog: add release notes for 3.5.0 minor release (#1672) 2ddfb132d22 is described below commit 2ddfb132d229c247aab825f00e03156eb0c75809 Author: Traky Deng AuthorDate: Sun Sep 3 15:04:43 2023 +0800 blog: add release notes for 3.5.0 minor release (#1672) --- .../blog/2023/09/01/release-apache-apisix-3.5.0.md | 263 + .../blog/2023/09/01/release-apache-apisix-3.5.0.md | 263 + 2 files changed, 526 insertions(+) diff --git a/blog/en/blog/2023/09/01/release-apache-apisix-3.5.0.md b/blog/en/blog/2023/09/01/release-apache-apisix-3.5.0.md new file mode 100644 index 000..d8e3c5ddd99 --- /dev/null +++ b/blog/en/blog/2023/09/01/release-apache-apisix-3.5.0.md @@ -0,0 +1,263 @@ +--- +title: "Release Apache APISIX 3.5.0" +authors: + - name: "Xin Rong" +title: "Author" +url: "https://github.com/AlinsRan"; +image_url: "https://avatars.githubusercontent.com/u/79972061?v=4"; + - name: "Traky Deng" +title: "Technical Writer" +url: "https://github.com/kayx23"; +image_url: "https://avatars.githubusercontent.com/u/39619599?v=4"; +keywords: +- Apache APISIX +- API Gateway +- API Management Platform +- New Release +- Cloud Native +description: The Apache APISIX 3.5.0 version is released on September 1, 2023. This release includes many exciting new features and improvements to user experiences. +tags: [Community] +--- + +We are pleased to present Apache APISIX 3.5.0 with exciting new features and improvements to user experiences. + + + +This new release adds a number of new features, including the dynamic configuration of TLS versions at the host level, integration with Chaitin WAF, forced deletion of resources, the use of environmental variables in configuration file when deploying APISIX in standalone mode, and more. + +There are a few important changes included in this release. Should you find these changes impacting your operations, it is strongly recommended that you plan accordingly for a seamless upgrade. + +## Breaking Changes + +### Remove snowflake algorithm support in `request-id` plugin + +Remove snowflake algorithm support in `request-id` plugin. The algorithm introduces an unnecessary dependency on etcd, which could significantly impact APISIX performance when etcd becomes unavailable. Please consider using the `uuid` option in algorithm instead. + +For more background information, see the [proposal](https://lists.apache.org/thread/p4mtf024pnbccs5psncxg8yqvh9c) in the mailing list. + +PR for this change is [#9715](https://github.com/apache/apisix/pull/9715). + +### Remove the support for OpenResty 1.19 + +If you are currently using this version, please plan for an upgrade to OpenResty version 1.21 and above. + +PR for this change is [#9913](https://github.com/apache/apisix/pull/9913). + +### Improve the usability of L4 and L7 proxies and remove `apisix.stream_proxy.only` + +Improve the usability of L4 and L7 proxies. This change removes the `apisix.stream_proxy.only` option and simplifies the usage to enable and disable L4 and L7 proxies. + +L4 and L7 proxies are now be enabled as follows in the `config.yaml` file: + +- To enable L7 proxy (enabled by default): `apisix.proxy_mode: http` +- To enable L4 proxy: `apisix.proxy_mode: stream` +- To enable both L7 and L4 proxy: `apisix.proxy_mode: http&stream` + +For more information about how to work with stream proxy after the change, see [how to enable stream proxy](https://apisix.apache.org/docs/apisix/next/stream-proxy/#how-to-enable-stream-proxy). + +PR for this change is [#9607](https://github.com/apache/apisix/pull/9607). + +### Do not allow the use of `allowlist` and `denylist` at the same time in `ua-restriction` plugin + +The use of `allowlist` and `denylist` in `ua-restriction` plugin is now mutually exclusive. You should configure only one of the two options. + +PR for this change is [#9841](https://github.com/apache/apisix/pull/9841). + +### Refactor and improve the plugin interface in Admin API + +The interface of getting properties of all plugins via `/apisix/admin/plugins?all=true` will be deprecated soon. Going forward, Admin API will only support getting properties of one plugin at a time. It is recommended that you use the following endpoint and parameters for your requirements: + +```text +/apisix/admin/plugins/{plugin_name}?subsystem={subsystem} +``` + +The `subsystem` parameter is optional and defaults to `http` if not configured. The value could be set to `http`, `stream` or `http&stream`, corresponding to plugins available on L7 and/or L4. + +Alternatively
[apisix-website] branch master updated: blog: rate limit with APISIX (#1660)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/apisix-website.git The following commit(s) were added to refs/heads/master by this push: new c81441ed406 blog: rate limit with APISIX (#1660) c81441ed406 is described below commit c81441ed4063cd9293010fe6fb401b0793bec41a Author: Navendu Pottekkat AuthorDate: Mon Aug 14 12:28:01 2023 +0530 blog: rate limit with APISIX (#1660) Signed-off-by: Navendu Pottekkat --- blog/en/blog/2023/08/14/rate-limit.md | 284 ++ 1 file changed, 284 insertions(+) diff --git a/blog/en/blog/2023/08/14/rate-limit.md b/blog/en/blog/2023/08/14/rate-limit.md new file mode 100644 index 000..24eb657bdc0 --- /dev/null +++ b/blog/en/blog/2023/08/14/rate-limit.md @@ -0,0 +1,284 @@ +--- +title: Rate Limit Your APIs With Apache APISIX +authors: + - name: Navendu Pottekkat +title: Author +url: https://github.com/navendu-pottekkat +image_url: https://avatars.githubusercontent.com/u/49474499 +keywords: + - Rate limit + - APISIX + - Redis + - Traffic control +description: A guide to using the rate limit plugins in Apache APISIX with some practical examples. +tags: [Plugins] +image: https://static.apiseven.com/uploads/2023/08/07/jIphRpzX_rate-limit.png +--- + +> In this article, we will look at examples of how we can use the rate limiting plugins in APISIX. + + + + +https://navendu.me/posts/rate-limit/"; /> + + +Setting up rate limits is a solid way to improve the reliability of your services. + +You can ensure your services are not overloaded by setting up rate limits, providing consistent performance for the end users. It can also help enhance security by preventing denial-of-service (DoS) attacks which can take down your services. + +Rate limiting can also be part of your business requirement where you want separate quotas for different tiers of users. For example, you can have a free version of your API where users can only make a small number of API calls and a paid version that allows ample API usage. + +If you are using [Apache APISIX](https://apisix.apache.org) as your API gateway, you can leverage the rate limiting plugins, [limit-req](https://apisix.apache.org/docs/apisix/plugins/limit-req/), [limit-conn](https://apisix.apache.org/docs/apisix/plugins/limit-conn/), and [limit-count](https://apisix.apache.org/docs/apisix/plugins/limit-count/) to achieve this. + +You can always set this up in your services directly without configuring it in APISIX. But as the number of your services increases, with each service having different constraints, setting up and managing different rate limits and updating them in each of these services becomes a pain point for development teams. + +In this article, we will look at examples of how we can use the rate limiting plugins in APISIX. You can find the complete configuration files and instructions to deploy for this article in [this repository](https://github.com/navendu-pottekkat/rate-limit). + +## Rate Limit All Requests + +Setting up a rate limit for all your requests is a good place to start. + +APISIX allows configuring [global rules](https://apisix.apache.org/docs/apisix/terminology/global-rule/) that are applied on all requests to APISIX. We can configure a global rule with the `limit-req` plugin, as shown below: + +```shell +curl localhost:9180/apisix/admin/global_rules/rate_limit_all -X PUT -d ' +{ + "plugins": { +"limit-req": { + "rate": 30, + "burst": 30, + "key_type": "var", + "key": "remote_addr", + "rejected_code": 429, + "rejected_msg": "rate limit exceeded!" +} + } +}' +``` + +The configuration above will allow 30 requests per second (rate) to your upstream services. When the number of requests exceeds 30 but is under 60 (burst), the additional requests are delayed to match the 30 requests per second limit. If the number of requests exceeds 60, the additional requests are rejected. In short, the upstream services will always have a maximum of 30 requests per second. + +A global rate limit can be helpful when you want to set hard limits on the number of requests your upstream should receive in a second. But sometimes, you might want to rate limit the requests to a particular route instead of all requests. + +To do this, you can configure the plugin on a specific route. The example below shows how you can configure the `limit-count` plugin on a particular route: + +```shell +curl localhost:9180/apisix/admin/routes/rate_limit_route -X PUT -d ' +{ + "uri": "/api", + "upstream": { +"type": "roundrobin", +"nodes": { + "upstream:80": 1 +} + }, + "
[apisix-website] branch master updated: feat: add commiter Fucheng Jiang (#1661)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/apisix-website.git The following commit(s) were added to refs/heads/master by this push: new 761a5c5a798 feat: add commiter Fucheng Jiang (#1661) 761a5c5a798 is described below commit 761a5c5a798830798282a8d4fb343bfb0cab709c Author: Fucheng Jiang AuthorDate: Thu Aug 10 14:00:53 2023 +0800 feat: add commiter Fucheng Jiang (#1661) --- config/team.js | 6 ++ 1 file changed, 6 insertions(+) diff --git a/config/team.js b/config/team.js index e32a29bbf5b..2075827eb24 100644 --- a/config/team.js +++ b/config/team.js @@ -319,6 +319,12 @@ module.exports = [ githubUsername: 'kingluo', avatarUrl: 'https://avatars.githubusercontent.com/u/4401042?v=4', }, + { +name: 'Fucheng Jiang', +username: 'jiangfucheng', +githubUsername: 'jiangfucheng', +avatarUrl: 'https://avatars.githubusercontent.com/u/33349046?v=4' + }, ], }, ];
[apisix-website] branch master updated: feat: release APISIX 3.4.1 (#1651)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/apisix-website.git The following commit(s) were added to refs/heads/master by this push: new cf9746fb70f feat: release APISIX 3.4.1 (#1651) cf9746fb70f is described below commit cf9746fb70f338f449b5487de0576243ff1e647d Author: Sn0rt AuthorDate: Tue Jul 25 11:37:26 2023 +0800 feat: release APISIX 3.4.1 (#1651) Signed-off-by: Sn0rt --- config/docs.js | 4 ++-- config/downloads.js | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/config/docs.js b/config/docs.js index fa052427221..156cef6dc30 100644 --- a/config/docs.js +++ b/config/docs.js @@ -6,8 +6,8 @@ module.exports = [ shape: 'triangle', color: '#e8433e', githubRepo: 'apache/apisix', -version: '3.4.0', -releaseDate: '2023-06-30', +version: '3.4.1', +releaseDate: '2023-07-21', firstDocPath: '/getting-started', }, { diff --git a/config/downloads.js b/config/downloads.js index 4d463d52334..63eae801bf4 100644 --- a/config/downloads.js +++ b/config/downloads.js @@ -7,12 +7,12 @@ module.exports = [ color: '#e8433e', githubRepo: 'apache/apisix', githubBranch: 'master', -downloadPath: 'apisix/3.4.0/apache-apisix-3.4.0-src', +downloadPath: 'apisix/3.4.1/apache-apisix-3.4.1-src', dockerhubPath: 'apisix', -version: '3.4.0', +version: '3.4.1', LTSDownloadPath: 'apisix/3.2.1/apache-apisix-3.2.1-src', LTSVersion: '3.2.1', -releaseDate: '2023-06-30', +releaseDate: '2023-07-21', firstDocPath: '/getting-started', }, {
[apisix-website] branch master updated: fix: release-apache-apisix-3.4.0.md (#1635)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/apisix-website.git The following commit(s) were added to refs/heads/master by this push: new 8e87d5f4d5b fix: release-apache-apisix-3.4.0.md (#1635) 8e87d5f4d5b is described below commit 8e87d5f4d5bfc7c789abac1ae5af9f49685f975c Author: Traky Deng AuthorDate: Fri Jul 7 17:47:26 2023 +0800 fix: release-apache-apisix-3.4.0.md (#1635) --- blog/zh/blog/2023/06/30/release-apache-apisix-3.4.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blog/zh/blog/2023/06/30/release-apache-apisix-3.4.0.md b/blog/zh/blog/2023/06/30/release-apache-apisix-3.4.0.md index 10fcf5a1ee1..d0467abca3c 100644 --- a/blog/zh/blog/2023/06/30/release-apache-apisix-3.4.0.md +++ b/blog/zh/blog/2023/06/30/release-apache-apisix-3.4.0.md @@ -21,7 +21,7 @@ tags: [Community] 我们很高兴地介绍 Apache APISIX 3.4.0,它带来了令人兴奋的新功能和性能改进。 -`` + 此版本提供了一个新的插件 `loki-logger`,可将日志转发到 [Grafana Loki](https://grafana.com/oss/loki/),并允许在路由级别上建立 mTLS 连接。此外,此版本还还引入了许多新的特性,旨在优化对 APISIX 的使用体验。
[apisix-website] branch master updated: fix: table in events page (#1631)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/apisix-website.git The following commit(s) were added to refs/heads/master by this push: new 7df58926e47 fix: table in events page (#1631) 7df58926e47 is described below commit 7df58926e473c9821ed2c0887ac3883c8202bef5 Author: Navendu Pottekkat AuthorDate: Thu Jun 29 18:41:23 2023 +0530 fix: table in events page (#1631) Signed-off-by: Navendu Pottekkat --- website/docs/general/events.md | 34 -- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/website/docs/general/events.md b/website/docs/general/events.md index 42c61541cac..fefd7c1e454 100644 --- a/website/docs/general/events.md +++ b/website/docs/general/events.md @@ -36,6 +36,7 @@ See below to learn more about the events. ### Malaysia Meetup **Date**: 4th July 2023, 10 AM to 4 PM + **Location**: [Level 5, Tower 2, Avenue 3, Bangsar South, Kuala Lumpur](https://goo.gl/maps/26m6CHbn86RszbtZ7) To join the event for FREE, [submit this form](https://forms.gle/sUmjdBQAMPjDehYR8). @@ -44,30 +45,35 @@ To join the event for FREE, [submit this form](https://forms.gle/sUmjdBQAMPjDehY [Download the PDF version](https://bit.ly/apisix-meetup-malaysia). -| Welcome remarks | Navendu Pottekkat | 10:15 | -| APISIX-the past, present, and the future | Ming Wen | 10:30 | -| How banking companies use APISIX | Yuansheng Wang | 11:00 | -| Dynamic, user credentials-based routing | Bobur Umurzokov | 11:30 | -| Powering the world's data centers with AMD | Koh Lian Chong | 12:00 | -| Elevating Apache APISIX to the cloud | Chao Zhang | 1:30 | -| Introduction to Apache CloudStack | Kiran Chavala | 2:00 | -| Managing data residency | Nicolas Fränkel | 2:30 | -| How is APISIX fast? | Navendu Pottekkat | 3:00 | -| Using ChatGPT to write custom APISIX plugins | Bobur Umurzokov | 3:30 | +| Talk | Speaker | Time | +| | - | - | +| Welcome remarks | Navendu Pottekkat | 10:15 | +| APISIX-the past, present, and the future | Ming Wen | 10:30 | +| How banking companies use APISIX | Yuansheng Wang| 11:00 | +| Dynamic, user credentials-based routing | Bobur Umurzokov | 11:30 | +| Powering the world's data centers with AMD | Koh Lian Chong| 12:00 | +| Elevating Apache APISIX to the cloud | Chao Zhang| 1:30 | +| Introduction to Apache CloudStack| Kiran Chavala | 2:00 | +| Managing data residency | Nicolas Fränkel | 2:30 | +| How is APISIX fast? | Navendu Pottekkat | 3:00 | +| Using ChatGPT to write custom APISIX plugins | Bobur Umurzokov | 3:30 | ### Singapore Meetup **Date**: 8th July 2023, 10 AM to 1 PM + **Location**: [HackerspaceSG, 336D, King George's Avenue, Singapore](https://goo.gl/maps/gv1qSY8fxftn3Siv6) To join the event for FREE, [submit this form](https://forms.gle/JSzVmfXon9HCTSee9). Schedule -| Welcome remarks | Navendu Pottekkat | 10:15 | -| How companies use APISIX | Yuansheng Wang | 10:30 | -| Best practices for building reliable APIs | Navendu Pottekkat | 11:00 | -| Hands-on with Apache APISIX | Zhiyuan Ju | 11:30 | +| Talk | Speaker | Time | +| - | - | - | +| Welcome remarks | Navendu Pottekkat | 10:15 | +| How companies using APISIX| Yuansheng Wang | 10:30 | +| Best practices for building reliable APIs | Navendu Pottekkat | 11:00 | +| Hands-on with Apache APISIX | Zhiyuan Ju | 11:30 | | Contributing to an Apache Software Foundation project | Apache APISIX maintainers | 12:00 | ## Monthly Community Meetings
[apisix-website] branch master updated: docs: add lenovo-uses-apisix.md (#1603)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/apisix-website.git The following commit(s) were added to refs/heads/master by this push: new d3450c895c9 docs: add lenovo-uses-apisix.md (#1603) d3450c895c9 is described below commit d3450c895c9c85f454e3e434eb8e8297c5783f82 Author: Yilia <114121331+yilial...@users.noreply.github.com> AuthorDate: Tue Jun 6 14:07:36 2023 +0800 docs: add lenovo-uses-apisix.md (#1603) --- blog/en/blog/2023/06/02/lenovo-uses-apisix.md | 160 ++ 1 file changed, 160 insertions(+) diff --git a/blog/en/blog/2023/06/02/lenovo-uses-apisix.md b/blog/en/blog/2023/06/02/lenovo-uses-apisix.md new file mode 100644 index 000..0be5108b600 --- /dev/null +++ b/blog/en/blog/2023/06/02/lenovo-uses-apisix.md @@ -0,0 +1,160 @@ +--- +title: APISIX Boosts Lenovo to Build Lightweight and Decentralized Gateway +description: "Lenovo established a decentralized gateway and centralized dev portal based on APISIX, resolving the bottlenecks of its previous system." +slug: /blog/lenovo-uses-apisix +category: Case Study +published_at: 2023-05-30T00:00:00Z +tags: + - APISIX Basics + - Best API Gateway + - Lenovo + - API gateway case study + - Kong Alternatives +author_name: Leon Yang +author_avatar_url: "" +author_bio: "" +canonical_url: "" +cover_url: "https://static.apiseven.com/uploads/2023/06/05/PBdaOToi_Lenovo-cover-APISIX.png"; +--- + +## Overview + +I'm Leon Yang, a Senior IT Architect at Lenovo, dedicated to promoting the reuse of software engineering components and building a sharing technology ecosystem. In the past two years, I have published more than 20 patents in enterprise software, big data, and artificial intelligence. + +Lenovo Group Limited, which was founded on November 1, 1984, as Legend and is commonly referred to as Lenovo, is an American-Chinese multinational technology company specializing in designing, manufacturing, and marketing consumer electronics, personal computers, software, business solutions, and related services. + +## Background + +Nowadays, businesses are becoming more and more complex. Technologies are changing with each passing day, which has greatly impacted software development. We have been looking for a more efficient way for project delivery at a lower cost, that is reusing original system resources by componentization. + +![Lenovo-system-architecture](https://static.apiseven.com/uploads/2023/06/05/qTyereco_Lenovo-system-architecture.jpeg) + +The first step is to build an out-of-the-box reusable internal API ecosystem with a large number of components. Therefore, our team can reuse existing software assets by componentizing technical functions and standardizing the architecture. It is an effective way for enterprises, enabling developers no longer need to face a variety of technology selections. + +Consequently, our team started developing its internal applications based on component-based patterns, reducing engineering application development costs, and improving software delivery with quality and efficiency. Meantime, we established a high-quality enterprise API service ecosystem for fully reusing the capabilities of internal systems and external partners, thus constructing powerful business solutions. + +## Challenges of Centralized API Gateway Architecture in Complex Enterprise Environments + +The API gateway plays a vital role in the API ecosystem. The following picture shows how we use the API gateway in different scenarios. + +![Challenges-of-Centralized-API-Gateway](https://static.apiseven.com/uploads/2023/06/05/gI5G0TAE_Challenges-of-Centralized-API-Gateway.jpeg) + +In a large enterprise, there will be an intranet and a DMZ (demilitarized zone). In the intranet, if hundreds of application systems need to implement API calls through the API gateway, a centralized intranet gateway will be established to be responsible for API routing, authentication, WAF control, etc. If the API service is to provide external network services, according to the strict architecture design, a centralized gateway needs to be deployed in the DMZ. The API call goes through [...] + +There are many challenges in this process. + +- Distributed API information and incorrect use of API bring **high operational costs**. + +- **Limited scalability and availability** because of a single point of failure. If the gateway fails, all requests will be blocked, resulting in downtime and disruption of services (centralized team resource). + +- Too many API scenarios and routes deployed in one gateway node can **easily become overwhelming and cause latency issues**. + +- **Excessive resource usage or failure** by an API can negatively impact the performance of all APIs. + +- Installing an etcd / ZK for each API gateway makes the **archit
[apisix-website] branch master updated: site: add details of in-person community meetups (#1605)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/apisix-website.git The following commit(s) were added to refs/heads/master by this push: new 38cc8370fc4 site: add details of in-person community meetups (#1605) 38cc8370fc4 is described below commit 38cc8370fc4c65e6cd6da4d57a5d684f23999c0d Author: Navendu Pottekkat AuthorDate: Tue Jun 6 06:46:33 2023 +0530 site: add details of in-person community meetups (#1605) Signed-off-by: Navendu Pottekkat --- website/docs/general/events.md | 32 +++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/website/docs/general/events.md b/website/docs/general/events.md index 3f90e61de94..58d5a610b84 100644 --- a/website/docs/general/events.md +++ b/website/docs/general/events.md @@ -19,7 +19,37 @@ To add your event to the calendar, please open an issue in the [specified format https://calendar.google.com/calendar/embed?height=600&wkst=1&bgcolor=%23ea5451&ctz=UTC&showCalendars=0&showTabs=0&showPrint=0&title&showTitle=0&showNav=1&showDate=1&src=Y19zb25ubDg2OXZoNnRqZDlmcmo3dDZyY21hMEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t&color=%23D5"; width="800" height="600" frameborder="0" scrolling="no"> -## Apache APISIX Community Meeting +## Apache APISIX Community Meetup Malaysia and Singapore + +Apache APISIX Community Meetups are a place where APISIX users, contributors, and maintainers come together to discuss everything APISIX. + +As an attendee, you can expect talks and workshops related to but not limited to: + +- API management +- API-first design +- APISIX best practices +- Apache community +- Open source + +See below to learn more about the events. + +### Malaysia Meetup + +**Date**: 4th July 2023, 10 AM +**Location**: Tower 2, Avenue 3, Bangsar South, Kuala Lumpur + +To join the event for FREE, [submit this form](https://forms.gle/sUmjdBQAMPjDehYR8). + +If you are a maintainer, contributor, or user of APISIX, we would love to hear from you! Please [propose your talk](https://forms.gle/fnQ9SCXYueg7ncXX7). + +### Singapore Meetup + +**Date**: 8th July 2023, 10 AM +**Location**: HackerspaceSG, 336D, King George's Avenue, Singapore + +CFP and RSVP will open soon! + +## Monthly Community Meetings APISIX users, contributors, and maintainers get together once a month in an online meeting to discuss new features, share user stories, highlight contributors, and have more APISIX-related discussions.
[apisix-website] branch bzp2010-patch-1 created (now 270d8d2a9a0)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a change to branch bzp2010-patch-1 in repository https://gitbox.apache.org/repos/asf/apisix-website.git at 270d8d2a9a0 Update package.json No new revisions were added by this update.
[apisix] branch master updated: docs: updated explanation for`filter_func` in Admin API (#9362)
This is an automated email from the ASF dual-hosted git repository. bzp2010 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 67ca7bc3b docs: updated explanation for`filter_func` in Admin API (#9362) 67ca7bc3b is described below commit 67ca7bc3b6af9731fcd99b4a4ef366e50d79ef96 Author: Traky Deng AuthorDate: Fri Apr 28 16:07:39 2023 +0800 docs: updated explanation for`filter_func` in Admin API (#9362) --- docs/en/latest/admin-api.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/en/latest/admin-api.md b/docs/en/latest/admin-api.md index e2d7457b1..f61eef7b7 100644 --- a/docs/en/latest/admin-api.md +++ b/docs/en/latest/admin-api.md @@ -270,7 +270,7 @@ Route resource request address: /apisix/admin/routes/{id}?ttl=0 | methods | False| Match Rules | Matches with the specified methods. Matches all methods if empty or unspecified. | ["GET", "POST"] | | priority | False| Match Rules | If different Routes matches to the same `uri`, then the Route is matched based on its `priority`. A higher value corresponds to higher priority. It is set to `0` by default. | priority = 10 | | vars | False| Match Rules | Matches based on the specified variables consistent with variables in Nginx. Takes the form `[[var, operator, val], [var, operator, val], ...]]`. Note that this is case sensitive when matching a cookie name. See [lua-resty-expr](https://github.com/api7/lua-resty-expr) for more details. | [["arg_name", "==", "json"], ["arg_age", ">", 18]] | -| filter_func | False| Match Rules | Matches based on a user-defined filtering function. Used in scenarios requiring complex matching. These functions can accept an input parameter `vars` which can be used to access the Nginx variables. | function(vars) return vars["arg_name"] == "json" end | +| filter_func | False| Match Rules | Matches using a user-defined function in Lua. Used in scenarios where `vars` is not sufficient. Functions accept an argument `vars` which provides access to built-in variables (including Nginx variables). | function(vars) return tonumber(vars.arg_userid) % 4 > 2; end | | plugins | False| Plugin | Plugins that are executed during the request/response cycle. See [Plugin](terminology/plugin.md) for more. | | | script | False| Script | Used for writing arbitrary Lua code or directly calling existing plugins to be executed. See [Script](terminology/script.md) for more. | | | upstream | False| Upstream| Configuration of the [Upstream](./terminology/upstream.md). | |
[apisix] branch master updated: fix: cli test on master (#9075)
This is an automated email from the ASF dual-hosted git repository. bzp2010 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 8a9d1b753 fix: cli test on master (#9075) 8a9d1b753 is described below commit 8a9d1b753c5460005dc6e65f308ec73955c79983 Author: Zeping Bai AuthorDate: Thu Mar 16 11:30:27 2023 +0800 fix: cli test on master (#9075) --- ci/linux_apisix_master_luarocks_runner.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/linux_apisix_master_luarocks_runner.sh b/ci/linux_apisix_master_luarocks_runner.sh index d40ce8a7f..8931ad82c 100755 --- a/ci/linux_apisix_master_luarocks_runner.sh +++ b/ci/linux_apisix_master_luarocks_runner.sh @@ -42,7 +42,7 @@ script() { install_rust # install APISIX by luarocks -sudo luarocks install $APISIX_MAIN > build.log 2>&1 || (cat build.log && exit 1) +luarocks install $APISIX_MAIN > build.log 2>&1 || (cat build.log && exit 1) cp ../bin/apisix /usr/local/bin/apisix # show install files
[apisix] branch master updated: feat: bump lua-resty-ldap version for ldap-auth (#9037)
This is an automated email from the ASF dual-hosted git repository. bzp2010 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 e1aabd38b feat: bump lua-resty-ldap version for ldap-auth (#9037) e1aabd38b is described below commit e1aabd38bdaae42accfbe7f5561371fe6fe62a33 Author: Zeping Bai AuthorDate: Wed Mar 15 18:10:01 2023 +0800 feat: bump lua-resty-ldap version for ldap-auth (#9037) --- apisix/plugins/ldap-auth.lua | 32 +- ci/centos7-ci.sh | 13 +--- ci/common.sh | 19 ++ ci/linux_apisix_current_luarocks_runner.sh | 7 +-- ci/linux_apisix_master_luarocks_runner.sh | 3 +++ ci/linux_openresty_common_runner.sh| 3 +++ rockspec/apisix-master-0.rockspec | 2 +- t/chaos/utils/Dockerfile | 6 ++ 8 files changed, 65 insertions(+), 20 deletions(-) diff --git a/apisix/plugins/ldap-auth.lua b/apisix/plugins/ldap-auth.lua index 6486f9a13..41156c1bf 100644 --- a/apisix/plugins/ldap-auth.lua +++ b/apisix/plugins/ldap-auth.lua @@ -18,7 +18,7 @@ local core = require("apisix.core") local ngx = ngx local ngx_re = require("ngx.re") local consumer_mod = require("apisix.consumer") -local ldap = require("resty.ldap") +local ok, ldap_cli = pcall(require, "resty.ldap.client") local schema = { type = "object", @@ -100,6 +100,11 @@ local function extract_auth_header(authorization) end function _M.rewrite(conf, ctx) +if not ok then -- ensure rasn library loaded +core.log.error("failed to load lua-resty-ldap lib: ", ldap_cli) +return 501 +end + core.log.info("plugin rewrite phase, conf: ", core.json.delay_encode(conf)) -- 1. extract authorization from header @@ -117,20 +122,19 @@ function _M.rewrite(conf, ctx) -- 2. try authenticate the user against the ldap server local ldap_host, ldap_port = core.utils.parse_addr(conf.ldap_uri) - -local userdn = conf.uid .. "=" .. user.username .. "," .. conf.base_dn -local ldapconf = { -timeout = 1, +local ldap_client = ldap_cli:new(ldap_host, ldap_port, { start_tls = false, -ldap_host = ldap_host, -ldap_port = ldap_port or 389, ldaps = conf.use_tls, -tls_verify = conf.tls_verify, -base_dn = conf.base_dn, -attribute = conf.uid, -keepalive = 6, -} -local res, err = ldap.ldap_authenticate(user.username, user.password, ldapconf) +ssl_verify = conf.tls_verify, +socket_timeout = 1, +keepalive_pool_name = ldap_host .. ":" .. ldap_port .. "_ldapauth" +.. (conf.use_tls and "_tls" or ""), +keepalive_pool_size = 5, +keepalive_timeout = 6, +}) + +local user_dn = conf.uid .. "=" .. user.username .. "," .. conf.base_dn +local res, err = ldap_client:simple_bind(user_dn, user.password) if not res then core.log.warn("ldap-auth failed: ", err) return 401, { message = "Invalid user authorization" } @@ -143,7 +147,7 @@ function _M.rewrite(conf, ctx) end local consumers = consumer_mod.consumers_kv(plugin_name, consumer_conf, "user_dn") -local consumer = consumers[userdn] +local consumer = consumers[user_dn] if not consumer then return 401, {message = "Invalid user authorization"} end diff --git a/ci/centos7-ci.sh b/ci/centos7-ci.sh index 5a0339064..251dd3363 100755 --- a/ci/centos7-ci.sh +++ b/ci/centos7-ci.sh @@ -23,10 +23,14 @@ install_dependencies() { # install build & runtime deps yum install -y wget tar gcc automake autoconf libtool make unzip \ -git sudo openldap-devel which +git sudo openldap-devel which ca-certificates openssl-devel \ +epel-release + +# install newer curl +yum makecache +yum install -y libnghttp2-devel +install_curl -# curl with http2 -wget https://github.com/moparisthebest/static-curl/releases/download/v7.79.1/curl-amd64 -qO /usr/bin/curl # install openresty to make apisix's rpm test work yum install -y yum-utils && yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo yum install -y openresty openresty-debug openresty-openssl111-debug-devel pcre pcre-devel @@ -69,6 +73,9 @@ install_dependencies() { # install nodejs install_nodejs +# install rust +install_rust + # grpc-web server && client cd t/plugin/grpc-web ./setup.sh diff --git a/ci/common.sh b/ci/common.sh index 769cc1305..509647b00 100644 --- a/ci/co
[apisix-dashboard] branch master updated: feat: add search functionality for id, host, and description fields (#2750)
This is an automated email from the ASF dual-hosted git repository. bzp2010 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 df0452e3 feat: add search functionality for id, host, and description fields (#2750) df0452e3 is described below commit df0452e3e8af28eb9fbac000cbab723b9b85d01b Author: Anil Baki Durmus AuthorDate: Thu Mar 9 08:39:55 2023 +0200 feat: add search functionality for id, host, and description fields (#2750) Co-authored-by: Anil Durmus --- api/internal/handler/route/route.go | 17 + api/internal/handler/service/service.go | 10 ++ api/internal/handler/upstream/upstream.go | 9 + web/cypress/e2e/route/search-route.cy.js | 3 +++ web/src/pages/Route/List.tsx | 4 +--- web/src/pages/Route/service.ts| 5 - web/src/pages/Service/List.tsx| 4 +--- web/src/pages/Service/service.ts | 2 ++ web/src/pages/Upstream/List.tsx | 2 -- web/src/pages/Upstream/service.ts | 2 ++ 10 files changed, 49 insertions(+), 9 deletions(-) diff --git a/api/internal/handler/route/route.go b/api/internal/handler/route/route.go index fae4429d..d100c85b 100644 --- a/api/internal/handler/route/route.go +++ b/api/internal/handler/route/route.go @@ -194,6 +194,9 @@ type ListInput struct { URIstring `auto_read:"uri,query"` Label string `auto_read:"label,query"` Status string `auto_read:"status,query"` + Host string `auto_read:"host,query"` + ID string `auto_read:"id,query"` + Desc string `auto_read:"desc,query"` store.Pagination } @@ -236,6 +239,20 @@ func (h *Handler) List(c droplet.Context) (interface{}, error) { return false } + if input.Host != "" && !strings.Contains(obj.(*entity.Route).Host, input.Host) { + return false + } + + if input.Desc != "" && !strings.Contains(obj.(*entity.Route).Desc, input.Desc) { + return false + } + + if obj != nil && obj.(*entity.Route) != nil && obj.(*entity.Route).ID != nil && input.ID != "" { + if !strings.Contains(utils.InterfaceToString(obj.(*entity.Route).ID), input.ID) { + return false // IDs do not match, so object should not be included in the filtered result + } + } + return true }, Format: func(obj interface{}) interface{} { diff --git a/api/internal/handler/service/service.go b/api/internal/handler/service/service.go index fe382b06..ab94bfd8 100644 --- a/api/internal/handler/service/service.go +++ b/api/internal/handler/service/service.go @@ -90,6 +90,8 @@ func (h *Handler) Get(c droplet.Context) (interface{}, error) { type ListInput struct { Name string `auto_read:"name,query"` + ID string `auto_read:"id,query"` + Desc string `auto_read:"desc,query"` store.Pagination } @@ -135,6 +137,14 @@ func (h *Handler) List(c droplet.Context) (interface{}, error) { if input.Name != "" { return strings.Contains(obj.(*entity.Service).Name, input.Name) } + + if input.Desc != "" { + return strings.Contains(obj.(*entity.Service).Desc, input.Desc) + } + + if input.ID != "" { + return strings.Contains(utils.InterfaceToString(obj.(*entity.Service).ID), input.ID) + } return true }, Format: func(obj interface{}) interface{} { diff --git a/api/internal/handler/upstream/upstream.go b/api/internal/handler/upstream/upstream.go index 3157fdda..55c08a50 100644 --- a/api/internal/handler/upstream/upstream.go +++ b/api/internal/handler/upstream/upstream.go @@ -96,6 +96,8 @@ func (h *Handler) Get(c droplet.Context) (interface{}, error) { type ListInput struct { Name string `auto_read:"name,query"` + ID string `auto_read:"id,query"` + Desc string `auto_read:"desc,query"` store.Pagination } @@ -141,6 +143,13 @@ func (h *Handler) List(c droplet.Context) (interface{}, error) { if input.Name != "" { return
[apisix] 01/01: chore: add license
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a commit to branch feat-ldap-advanced in repository https://gitbox.apache.org/repos/asf/apisix.git commit 3b3369dab4c01a5c228aaac27e23c972f4037495 Author: Zeping Bai AuthorDate: Tue Mar 7 16:03:39 2023 +0800 chore: add license --- ci/pod/openldap/memberof.ldif | 19 ++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/ci/pod/openldap/memberof.ldif b/ci/pod/openldap/memberof.ldif index 00ac88a87..2d40a354b 100644 --- a/ci/pod/openldap/memberof.ldif +++ b/ci/pod/openldap/memberof.ldif @@ -1,3 +1,20 @@ +# +# 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. +# + dn: cn=module,cn=config cn: module objectClass: olcModuleList @@ -16,4 +33,4 @@ objectClass: olcOverlayConfig objectClass: olcRefintConfig objectClass: top olcOverlay: refint -olcRefintAttribute: memberof member manager owner \ No newline at end of file +olcRefintAttribute: memberof member manager owner
[apisix] branch feat-ldap-advanced created (now 3b3369dab)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a change to branch feat-ldap-advanced in repository https://gitbox.apache.org/repos/asf/apisix.git at 3b3369dab chore: add license This branch includes the following new commits: new 3b3369dab chore: add license The 1 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.
[apisix-docker] branch release/apisix-dashboard-3.0.0 created (now 66b034f)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a change to branch release/apisix-dashboard-3.0.0 in repository https://gitbox.apache.org/repos/asf/apisix-docker.git at 66b034f feat: bump dashboard to 3.0.0 (#418) No new revisions were added by this update.
[apisix-dashboard] branch master updated: feat: change etcd prefix for ssl and proto (#2693)
This is an automated email from the ASF dual-hosted git repository. bzp2010 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 38557d3b2 feat: change etcd prefix for ssl and proto (#2693) 38557d3b2 is described below commit 38557d3b26240c7b3454a8c3d1cb65cd2330f9cf Author: Zeping Bai AuthorDate: Thu Dec 22 09:40:38 2022 +0800 feat: change etcd prefix for ssl and proto (#2693) --- .github/workflows/backend-e2e-test.yml | 5 -- api/go.mod | 8 +-- api/go.sum | 20 --- api/internal/core/store/storehub.go| 4 +- api/test/docker/apisix_config.yaml | 22 +++ api/test/docker/apisix_config2.yaml| 22 +++ api/test/docker/docker-compose.yaml| 8 +-- api/test/e2e/go.mod| 18 -- api/test/e2e/go.sum| 101 ++--- 9 files changed, 118 insertions(+), 90 deletions(-) diff --git a/.github/workflows/backend-e2e-test.yml b/.github/workflows/backend-e2e-test.yml index 8db50c23e..85ec37d55 100644 --- a/.github/workflows/backend-e2e-test.yml +++ b/.github/workflows/backend-e2e-test.yml @@ -47,11 +47,6 @@ jobs: sed -i 's@0.0.0.0/0:9000@127.0.0.1:9000@' ./api/conf/conf.yaml sed -i 's/enabled: false/enabled: true/' ./api/conf/conf.yaml - - name: download file Dockerfile-apisix -working-directory: ./api/test/docker -run: | - curl -o Dockerfile-apisix https://raw.githubusercontent.com/apache/apisix-docker/master/alpine/Dockerfile - - name: build docker images working-directory: ./api/test/docker continue-on-error: true diff --git a/api/go.mod b/api/go.mod index e9af9b167..885f5d7ac 100644 --- a/api/go.mod +++ b/api/go.mod @@ -8,18 +8,18 @@ require ( github.com/getkin/kin-openapi v0.33.0 github.com/gin-contrib/gzip v0.0.3 github.com/gin-contrib/static v0.0.0-20200916080430-d45d9a37d28e - github.com/gin-gonic/gin v1.6.3 + github.com/gin-gonic/gin v1.7.0 github.com/golang-jwt/jwt v3.2.2+incompatible github.com/gorilla/sessions v1.2.1 github.com/juliangruber/go-intersect v1.1.0 github.com/pkg/errors v0.9.1 github.com/satori/go.uuid v1.2.0 - github.com/shiningrush/droplet v0.2.6-0.20210127040147-53817015cd1b - github.com/shiningrush/droplet/wrapper/gin v0.2.1 + github.com/shiningrush/droplet v0.3.0 + github.com/shiningrush/droplet/wrapper/gin v0.3.0 github.com/sony/sonyflake v1.0.0 github.com/spf13/cobra v1.6.1 github.com/spf13/viper v1.8.1 - github.com/stretchr/testify v1.7.1 + github.com/stretchr/testify v1.8.0 github.com/tidwall/gjson v1.6.7 github.com/xeipuuv/gojsonschema v1.2.0 github.com/yuin/gopher-lua v0.0.0-20200816102855-ee81675732da diff --git a/api/go.sum b/api/go.sum index e192d1063..776477378 100644 --- a/api/go.sum +++ b/api/go.sum @@ -130,8 +130,9 @@ github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm github.com/gin-contrib/static v0.0.0-20200916080430-d45d9a37d28e h1:8bZpGwoPxkaivQPrAbWl+7zjjUcbFUnYp7yQcx2r2N0= github.com/gin-contrib/static v0.0.0-20200916080430-d45d9a37d28e/go.mod h1:VhW/Ch/3FhimwZb8Oj+qJmdMmoB8r7lmJ5auRjm50oQ= github.com/gin-gonic/gin v1.5.0/go.mod h1:Nd6IXA8m5kNZdNEHMBd93KT+mdY3+bewLgRvmCsR2Do= -github.com/gin-gonic/gin v1.6.3 h1:ahKqKTFpO5KTPHxWZjEdPScmYaGtLo8Y4DMHoEsnp14= github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= +github.com/gin-gonic/gin v1.7.0 h1:jGB9xAJQ12AIGNB4HguylppmDK1Am9ppF7XnGXXJuoU= +github.com/gin-gonic/gin v1.7.0/go.mod h1:jD2toBW3GZUr5UMcdrwQA10I7RuaFOl/SGeDjXkfUtY= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= @@ -154,8 +155,9 @@ github.com/go-playground/universal-translator v0.16.0/go.mod h1:1AnU7NaIRDWWzGEK github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD876Lmtgy7VtROAbHHXk8no= github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= -github.com/go-playground/validator/v10 v10.3.0 h1:nZU+7q+yJoFmwvNgv/LnPUkwPal62+b2xXj0AU1Es7o= github.com/go-playground/validator/v10 v10.3.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= +github.com/go-playground/validator/v10 v10.4.1 h1:pH2c5ADXtd66mxoE0Zm9SUhxE20r7aM3F26W0hOn+GE= +github.com/go-
[apisix-dashboard] branch master updated: fix: remove cases external service dependency (#2697)
This is an automated email from the ASF dual-hosted git repository. bzp2010 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 8d6d1c7b3 fix: remove cases external service dependency (#2697) 8d6d1c7b3 is described below commit 8d6d1c7b3fd5272ee46eaa53ea80fa577ec14448 Author: Zeping Bai AuthorDate: Wed Dec 21 17:17:21 2022 +0800 fix: remove cases external service dependency (#2697) --- api/test/docker/docker-compose.yaml| 6 + api/test/e2e/base/base.go | 1 + api/test/e2e/upstream/upstream_test.go | 197 +++-- 3 files changed, 96 insertions(+), 108 deletions(-) diff --git a/api/test/docker/docker-compose.yaml b/api/test/docker/docker-compose.yaml index f10c68a22..974edbed6 100644 --- a/api/test/docker/docker-compose.yaml +++ b/api/test/docker/docker-compose.yaml @@ -57,6 +57,12 @@ services: apisix_dashboard_e2e: ipv4_address: 172.16.238.21 + upstream_httpbin: +image: kennethreitz/httpbin +networks: + apisix_dashboard_e2e: +ipv4_address: 172.16.238.22 + apisix: hostname: apisix_server1 image: apache/apisix:2.15.1-debian diff --git a/api/test/e2e/base/base.go b/api/test/e2e/base/base.go index 59365517e..7fbaf8afd 100644 --- a/api/test/e2e/base/base.go +++ b/api/test/e2e/base/base.go @@ -39,6 +39,7 @@ var ( UpstreamIp = "upstream" UpstreamGrpcIp = "upstream_grpc" + UpstreamHTTPBinIp = "upstream_httpbin" APISIXHost = "http://127.0.0.1:9080"; APISIXAdminAPIHost = "http://127.0.0.1:9180"; APISIXInternalUrl = "http://apisix:9080"; diff --git a/api/test/e2e/upstream/upstream_test.go b/api/test/e2e/upstream/upstream_test.go index 3f0443e9f..69fe19ce4 100644 --- a/api/test/e2e/upstream/upstream_test.go +++ b/api/test/e2e/upstream/upstream_test.go @@ -329,114 +329,95 @@ var _ = Describe("Upstream", func() { }) }) -var _ = Describe("Upstream update with domain", func() { - It("create upstream success", func() { - createUpstreamBody := make(map[string]interface{}) - createUpstreamBody["name"] = "upstream1" - createUpstreamBody["nodes"] = []map[string]interface{}{ - { - "host": base.UpstreamIp, - "port": 1980, - "weight": 1, - "priority": 10, - }, - } - createUpstreamBody["type"] = "roundrobin" - _createUpstreamBody, err := json.Marshal(createUpstreamBody) - Expect(err).To(BeNil()) - base.RunTestCase(base.HttpTestCase{ - Object: base.ManagerApiExpect(), - Method: http.MethodPut, - Path: "/apisix/admin/upstreams/1", - Body: string(_createUpstreamBody), - Headers: map[string]string{"Authorization": base.GetToken()}, - ExpectStatus: http.StatusOK, - ExpectBody: `"code":0`, - }) - }) - It("create route using the upstream(use proxy rewriteproxy rewrite plugin)", func() { - base.RunTestCase(base.HttpTestCase{ - Object: base.ManagerApiExpect(), - Method: http.MethodPut, - Path: "/apisix/admin/routes/1", - Body: `{ - "name": "route1", -"uri": "/*", -"upstream_id": "1", -"plugins": { - "proxy-rewrite": { - "uri": "/", - "scheme": "https" - } - } -}`, - Headers: map[string]string{"Authorization": base.GetToken()}, - ExpectStatus: http.StatusOK, - Sleep:base.SleepTime, - }) - }) - It("update upstream with domain", func() { - createUpstreamBody := make(map[string]interface{}) - createUpstreamBody["nodes"] = []map[string]interface{}{
[apisix-dashboard] branch master updated (c1cf4d4f8 -> d16811962)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/apisix-dashboard.git from c1cf4d4f8 chore: optimize "allow_origins_by_regex tooltip" description (#2690) add d16811962 chore: simplify e2e environment (#2694) No new revisions were added by this update. Summary of changes: .github/workflows/backend-e2e-test.yml | 12 +- api/test/docker/apisix_config.yaml | 74 +-- api/test/docker/apisix_config2.yaml| 74 +-- api/test/docker/docker-compose.yaml| 85 +-- api/test/e2e/auth/auth_suite_test.go | 9 +- api/test/e2e/auth/authentication_test.go | 14 +- api/test/e2e/balancer/balancer_suite_test.go | 11 +- api/test/e2e/balancer/balancer_test.go | 58 +- api/test/e2e/base/base.go | 64 +- api/test/e2e/consumer/consumer_suite_test.go | 7 +- api/test/e2e/consumer/consumer_test.go | 3 +- api/test/e2e/consumer/consumer_with_labels_test.go | 2 +- .../consumer/consumer_with_plugin_key_auth_test.go | 2 +- api/test/e2e/data_loader/data_loader_suite_test.go | 9 +- api/test/e2e/data_loader/openapi3_test.go | 4 +- api/test/e2e/global_rule/global_rule_suite_test.go | 7 +- api/test/e2e/global_rule/global_rule_test.go | 3 +- api/test/e2e/go.mod| 3 +- api/test/e2e/go.sum| 71 ++ api/test/e2e/healthz/healthz_suite_test.go | 13 +- api/test/e2e/healthz/healthz_test.go | 8 +- .../e2e/id_compatible/id_compatible_suite_test.go | 8 +- api/test/e2e/id_compatible/id_crossing_test.go | 6 +- api/test/e2e/id_compatible/id_not_in_body_test.go | 6 +- api/test/e2e/id_compatible/id_using_int_test.go| 2 +- api/test/e2e/id_compatible/id_using_string_test.go | 2 +- api/test/e2e/label/label_suite_test.go | 11 +- api/test/e2e/label/label_test.go | 715 ++--- api/test/e2e/middlewares/gzip_test.go | 2 +- api/test/e2e/middlewares/invalid_request_test.go | 2 +- api/test/e2e/middlewares/middlewares_suite_test.go | 9 +- api/test/e2e/migrate/migrate_suite_test.go | 8 +- api/test/e2e/migrate/migrate_test.go | 3 +- api/test/e2e/oidc/oidc_suite_test.go | 11 +- api/test/e2e/oidc/oidc_test.go | 58 +- .../e2e/plugin_config/plugin_config_suite_test.go | 11 +- api/test/e2e/plugin_config/plugin_config_test.go | 323 +- api/test/e2e/proto/proto_suite_test.go | 17 +- api/test/e2e/proto/proto_test.go | 438 ++--- api/test/e2e/route/host_test.go| 6 +- api/test/e2e/route/route_export_test.go| 344 +- api/test/e2e/route/route_service_upstream_test.go | 133 ++-- api/test/e2e/route/route_suite_test.go | 18 +- api/test/e2e/route/route_test.go | 5 +- .../e2e/route/route_with_management_fields_test.go | 121 ++-- api/test/e2e/route/route_with_methods_test.go | 65 +- api/test/e2e/route/route_with_plugin_cors_test.go | 31 +- .../route/route_with_plugin_http_logger_test.go| 53 +- api/test/e2e/route/route_with_plugin_jwt_test.go | 102 +-- .../route/route_with_plugin_limit_count_test.go| 99 ++- .../route/route_with_plugin_orchestration_test.go | 47 +- .../e2e/route/route_with_plugin_prometheus_test.go | 174 +++-- .../route/route_with_plugin_proxy_rewrite_test.go | 195 +++--- .../route/route_with_plugin_uri_blocker_test.go| 165 +++-- api/test/e2e/route/route_with_priority_test.go | 129 ++-- api/test/e2e/route/route_with_remote_addr_test.go | 49 +- .../e2e/route/route_with_script_luacode_test.go| 65 +- api/test/e2e/route/route_with_uri_uris_test.go | 171 +++-- api/test/e2e/route/route_with_vars_test.go | 72 +-- .../route_online_debug_suite_test.go | 13 +- .../route_online_debug/route_online_debug_test.go | 172 +++-- api/test/e2e/schema/plugin_test.go | 18 +- api/test/e2e/schema/schema_suite_test.go | 15 +- api/test/e2e/schema/schema_test.go | 12 +- api/test/e2e/server_info/server_info_suite_test.go | 13 +- api/test/e2e/server_info/server_info_test.go | 34 +- api/test/e2e/service/service_suite_test.go | 15 +- api/test/e2e/service/service_test.go | 156 +++-- api/test/e2e/ssl/ssl_suite_test.go | 14 +- api/test/e2e/ssl/ssl_test.go | 71 +- .../e2e/stream_route/stream_route_suite_test.go| 15 +- api/test/e2e/stream_route/stream_route_test.go | 3 +- .../e2e/system_config/system_config_suite_test.go | 18 +- api/test/e2e/system_config/system_config_test.go | 5 +-
[apisix-dashboard] branch feat-change-etcd-prefix created (now a719657da)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a change to branch feat-change-etcd-prefix in repository https://gitbox.apache.org/repos/asf/apisix-dashboard.git at a719657da fix: move admin api to spearate port This branch includes the following new commits: new a719657da fix: move admin api to spearate port The 1 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.
[apisix-dashboard] 01/01: fix: move admin api to spearate port
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a commit to branch feat-change-etcd-prefix in repository https://gitbox.apache.org/repos/asf/apisix-dashboard.git commit a719657da16c7afdfaf93075242a4446fe5ba124 Author: Zeping Bai AuthorDate: Fri Dec 16 14:38:14 2022 +0800 fix: move admin api to spearate port --- api/test/e2e/base/base.go | 6 ++ api/test/e2e/id_compatible/id_crossing_test.go| 4 ++-- api/test/e2e/id_compatible/id_not_in_body_test.go | 4 ++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/api/test/e2e/base/base.go b/api/test/e2e/base/base.go index a3aa943bc..8a32bb5ac 100644 --- a/api/test/e2e/base/base.go +++ b/api/test/e2e/base/base.go @@ -40,6 +40,7 @@ var ( UpstreamIp = "172.16.238.20" UpstreamGrpcIp = "172.16.238.21" APISIXHost = "http://127.0.0.1:9080"; + APISIXAdminAPIHost = "http://127.0.0.1:9180"; APISIXInternalUrl = "http://172.16.238.30:9080"; APISIXSingleWorkerHost = "http://127.0.0.1:9081"; ManagerAPIHost = "http://127.0.0.1:9000"; @@ -82,6 +83,11 @@ func APISIXExpect() *httpexpect.Expect { return httpexpect.New(t, APISIXHost) } +func APISIXAdminAPIExpect() *httpexpect.Expect { + t := getTestingHandle() + return httpexpect.New(t, APISIXAdminAPIHost) +} + func APISIXStreamProxyExpect(port uint16, sni string) *httpexpect.Expect { if port == 0 { port = 10090 diff --git a/api/test/e2e/id_compatible/id_crossing_test.go b/api/test/e2e/id_compatible/id_crossing_test.go index b768dafb3..4d1d28c5b 100644 --- a/api/test/e2e/id_compatible/id_crossing_test.go +++ b/api/test/e2e/id_compatible/id_crossing_test.go @@ -29,7 +29,7 @@ var _ = DescribeTable("Id Crossing", base.RunTestCase(tc) }, Entry("create upstream by admin api", base.HttpTestCase{ - Object: base.APISIXExpect(), + Object: base.APISIXAdminAPIExpect(), Method: http.MethodPut, Path: "/apisix/admin/upstreams", Body: `{ @@ -45,7 +45,7 @@ var _ = DescribeTable("Id Crossing", ExpectStatus: http.StatusCreated, }), Entry("create route by admin api", base.HttpTestCase{ - Object: base.APISIXExpect(), + Object: base.APISIXAdminAPIExpect(), Method: http.MethodPut, Path: "/apisix/admin/routes/3", Body: `{ diff --git a/api/test/e2e/id_compatible/id_not_in_body_test.go b/api/test/e2e/id_compatible/id_not_in_body_test.go index 1e155d8fe..183268ff1 100644 --- a/api/test/e2e/id_compatible/id_not_in_body_test.go +++ b/api/test/e2e/id_compatible/id_not_in_body_test.go @@ -43,7 +43,7 @@ var _ = DescribeTable("Id Not In Body", }), Entry("create route that has no ID in request body by admin api", func() { base.RunTestCase(base.HttpTestCase{ - Object: base.APISIXExpect(), + Object: base.APISIXAdminAPIExpect(), Method: http.MethodPut, Path: "/apisix/admin/routes/r1", Body: `{ @@ -102,7 +102,7 @@ var _ = DescribeTable("Id Not In Body", }), Entry("create route that has no ID in request body by admin api (POST)", func() { base.RunTestCase(base.HttpTestCase{ - Object: base.APISIXExpect(), + Object: base.APISIXAdminAPIExpect(), Method: http.MethodPost, Path: "/apisix/admin/routes", Body: `{
[apisix-docker] branch release/apisix-dashboard-2.15.0 created (now e6cbbea)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a change to branch release/apisix-dashboard-2.15.0 in repository https://gitbox.apache.org/repos/asf/apisix-docker.git at e6cbbea fix: wrong etcd advertise in release test (#393) No new revisions were added by this update.
[apisix-docker] branch master updated: fix: wrong etcd advertise in release test (#393)
This is an automated email from the ASF dual-hosted git repository. bzp2010 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 e6cbbea fix: wrong etcd advertise in release test (#393) e6cbbea is described below commit e6cbbea24963f5e3990f4da7b1f542ff54e1ba4e Author: Zeping Bai AuthorDate: Wed Dec 14 15:58:27 2022 +0800 fix: wrong etcd advertise in release test (#393) --- compose/dashboard-compose.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compose/dashboard-compose.yaml b/compose/dashboard-compose.yaml index 5e6d1cf..bb195ab 100644 --- a/compose/dashboard-compose.yaml +++ b/compose/dashboard-compose.yaml @@ -40,7 +40,7 @@ services: ETCD_DATA_DIR: /etcd_data ETCD_ENABLE_V2: "true" ALLOW_NONE_AUTHENTICATION: "yes" - ETCD_ADVERTISE_CLIENT_URLS: "http://0.0.0.0:2379"; + ETCD_ADVERTISE_CLIENT_URLS: "http://etcd:2379"; ETCD_LISTEN_CLIENT_URLS: "http://0.0.0.0:2379"; ports: - "2379:2379/tcp"
[apisix-dashboard] branch master updated: chore: optimize "allow_origins_by_regex tooltip" description (#2690)
This is an automated email from the ASF dual-hosted git repository. bzp2010 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 c1cf4d4f8 chore: optimize "allow_origins_by_regex tooltip" description (#2690) c1cf4d4f8 is described below commit c1cf4d4f8239de2307d54f3ca0fa433ca0170c4c Author: Joanthan Chen AuthorDate: Wed Dec 14 15:12:33 2022 +0800 chore: optimize "allow_origins_by_regex tooltip" description (#2690) --- web/src/components/Plugin/locales/en-US.ts | 2 +- web/src/components/Plugin/locales/tr-TR.ts | 2 +- web/src/components/Plugin/locales/zh-CN.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/web/src/components/Plugin/locales/en-US.ts b/web/src/components/Plugin/locales/en-US.ts index 9bdf01131..555c9d756 100644 --- a/web/src/components/Plugin/locales/en-US.ts +++ b/web/src/components/Plugin/locales/en-US.ts @@ -49,7 +49,7 @@ export default { 'component.pluginForm.cors.allow_origins_by_metadata.tooltip': 'Match which origin is allowed to enable CORS by referencing allow_origins set in plugin metadata.', 'component.pluginForm.cors.allow_origins_by_regex.tooltip': -'Use regex expressions to match which origin is allowed to enable CORS, for example, [".*.test.com"] can use to match all subdomain of test.com.', +'Use regex expressions to match which origin is allowed to enable CORS. Each input box can only be configured with a single, standalone regular expression, such as ".*.test.com" which can match any subdomain of test.com.', // referer-restriction 'component.pluginForm.referer-restriction.whitelist.tooltip': diff --git a/web/src/components/Plugin/locales/tr-TR.ts b/web/src/components/Plugin/locales/tr-TR.ts index 88b9674e6..2dff5864b 100644 --- a/web/src/components/Plugin/locales/tr-TR.ts +++ b/web/src/components/Plugin/locales/tr-TR.ts @@ -49,7 +49,7 @@ export default { 'component.pluginForm.cors.allow_origins_by_metadata.tooltip': 'Eklenti meta verilerindeki allow_origins kümesine başvurarak CORSu etkinleştirmek için hangi Origine izin verildiğini eşleştirin.', 'component.pluginForm.cors.allow_origins_by_regex.tooltip': -'CORSu etkinleştirmek için hangi Origine izin verildiğini eşleştirmek için normal ifade ifadeleri kullanın, örneğin, [".*.test.com"], test.comun tüm alt alan adlarını eşleştirmek için kullanabilir.', +'CORSu etkinleştirmek için izin verilen kaynakları eşleştirmek için regex ifadelerini kullanın. Her giriş kutusu yalnızca bir bağımsız normal ifade ile yapılandırılabilir, örneğin ".*.test.com" gibi, test.com\'un her alt etki alanını eşleştirebilir.', // referer-restriction 'component.pluginForm.referer-restriction.whitelist.tooltip': 'Whiteliste alınacak ana bilgisayar adı listesi. Ana bilgisayar adı, joker karakter olarak * ile başlatılabilir.', diff --git a/web/src/components/Plugin/locales/zh-CN.ts b/web/src/components/Plugin/locales/zh-CN.ts index 34e0ae85c..94a5673ae 100644 --- a/web/src/components/Plugin/locales/zh-CN.ts +++ b/web/src/components/Plugin/locales/zh-CN.ts @@ -48,7 +48,7 @@ export default { 'component.pluginForm.cors.allow_origins_by_metadata.tooltip': '通过引用插件元数据的 allow_origins 配置允许跨域访问的 Origin。', 'component.pluginForm.cors.allow_origins_by_regex.tooltip': -'使用正则表达式数组来匹配允许跨域访问的 Origin, 如[".*.test.com"] 可以匹配任何test.com的子域名 * 。', +'使用正则表达式来匹配允许跨域访问的 Origin, 每一个输入框仅可以配置一个独立的正则表达式,如".*.test.com" 可以匹配任何test.com的子域名 * 。', // referer-restriction 'component.pluginForm.referer-restriction.whitelist.tooltip':
[apisix-docker] branch release/apisix-dashboard-2.15.0 created (now b5ce8d3)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a change to branch release/apisix-dashboard-2.15.0 in repository https://gitbox.apache.org/repos/asf/apisix-docker.git at b5ce8d3 fix: wrong env usage in docker compose (#392) No new revisions were added by this update.
[apisix-docker] branch master updated: fix: wrong env usage in docker compose (#392)
This is an automated email from the ASF dual-hosted git repository. bzp2010 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 b5ce8d3 fix: wrong env usage in docker compose (#392) b5ce8d3 is described below commit b5ce8d3be8ad5956a3fc5cef10df8b6f751df8e5 Author: Zeping Bai AuthorDate: Wed Dec 14 14:06:31 2022 +0800 fix: wrong env usage in docker compose (#392) --- compose/dashboard-compose.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compose/dashboard-compose.yaml b/compose/dashboard-compose.yaml index 7305b38..5e6d1cf 100644 --- a/compose/dashboard-compose.yaml +++ b/compose/dashboard-compose.yaml @@ -19,7 +19,7 @@ version: "3" services: dashboard: -image: "apache/apisix-dashboard:${APISIX_DASHBOARD_TAG}" +image: "apache/apisix-dashboard:${APISIX_DASHBOARD_VERSION}" restart: always volumes: - ../example/dashboard_conf/conf.yaml:/usr/local/apisix-dashboard/conf/conf.yaml:ro
[apisix-docker] branch release/apisix-dashboard-2.15.0 created (now c084d08)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a change to branch release/apisix-dashboard-2.15.0 in repository https://gitbox.apache.org/repos/asf/apisix-docker.git at c084d08 fix: makefile build-dashboard phony missing (#390) No new revisions were added by this update.
[apisix-docker] branch release/apisix-dashboard-2.15.0 created (now 8529dcc)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a change to branch release/apisix-dashboard-2.15.0 in repository https://gitbox.apache.org/repos/asf/apisix-docker.git at 8529dcc feat: bump APISIX Dashboard to 2.15.0 (#389) No new revisions were added by this update.
[apisix-docker] branch master updated: feat: bump APISIX Dashboard to 2.15.0 (#389)
This is an automated email from the ASF dual-hosted git repository. bzp2010 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 8529dcc feat: bump APISIX Dashboard to 2.15.0 (#389) 8529dcc is described below commit 8529dcc5498b5ce81c99ad2c2f3a558f0be0a811 Author: Zeping Bai AuthorDate: Wed Dec 14 10:51:16 2022 +0800 feat: bump APISIX Dashboard to 2.15.0 (#389) --- .github/workflows/dashboard_all_in_one_ci.yaml | 4 ++-- .github/workflows/dashboard_push_docker_hub.yaml | 2 +- Makefile | 24 all-in-one/apisix-dashboard/Dockerfile | 4 ++-- dashboard/Dockerfile.alpine | 4 ++-- dashboard/Dockerfile.centos | 4 ++-- example/docker-compose-arm64.yml | 2 +- example/docker-compose.yml | 2 +- 8 files changed, 15 insertions(+), 31 deletions(-) diff --git a/.github/workflows/dashboard_all_in_one_ci.yaml b/.github/workflows/dashboard_all_in_one_ci.yaml index e11e1dc..cc1825d 100644 --- a/.github/workflows/dashboard_all_in_one_ci.yaml +++ b/.github/workflows/dashboard_all_in_one_ci.yaml @@ -13,14 +13,14 @@ jobs: runs-on: ubuntu-latest env: - APISIX_DASHBOARD_BRANCH: "2.14.0" # GitHub release tag id + APISIX_DASHBOARD_VERSION: "2.15.0" # in semver steps: - uses: actions/checkout@v2 - name: Build and Test run: | - docker build -t apache/apisix-dashboard:whole --build-arg APISIX_DASHBOARD_VERSION=v${APISIX_DASHBOARD_BRANCH} -f ./all-in-one/apisix-dashboard/Dockerfile . + docker build -t apache/apisix-dashboard:whole --build-arg APISIX_DASHBOARD_TAG=v${APISIX_DASHBOARD_VERSION} -f ./all-in-one/apisix-dashboard/Dockerfile . docker run -v `pwd`/all-in-one/apisix/config.yaml:/usr/local/apisix/conf/config.yaml -v `pwd`/all-in-one/apisix-dashboard/conf.yaml:/usr/local/apisix-dashboard/conf/conf.yaml -p 9080:9080 -p 2379:2379 -p 9000:9000 -d apache/apisix-dashboard:whole sleep 30 curl http://127.0.0.1:9080/apisix/admin/schema/service -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' diff --git a/.github/workflows/dashboard_push_docker_hub.yaml b/.github/workflows/dashboard_push_docker_hub.yaml index e6c2017..56cd963 100644 --- a/.github/workflows/dashboard_push_docker_hub.yaml +++ b/.github/workflows/dashboard_push_docker_hub.yaml @@ -15,7 +15,7 @@ jobs: runs-on: ubuntu-latest env: - APISIX_DASHBOARD_TAG: "2.14.0" + APISIX_DASHBOARD_VERSION: "2.15.0" # in semver steps: - name: Check out the repo diff --git a/Makefile b/Makefile index bdee588..8857025 100644 --- a/Makefile +++ b/Makefile @@ -26,7 +26,7 @@ MAX_APISIX_VERSION ?= 3.0.0 IMAGE_NAME = apache/apisix IMAGE_TAR_NAME = apache_apisix -APISIX_DASHBOARD_VERSION ?= 2.14.0 +APISIX_DASHBOARD_VERSION ?= $(shell echo ${APISIX_DASHBOARD_VERSION:=2.15.0}) APISIX_DASHBOARD_IMAGE_NAME = apache/apisix-dashboard APISIX_DASHBOARD_IMAGE_TAR_NAME = apache_apisix_dashboard @@ -205,39 +205,23 @@ save-debian-tar: @$(call func_echo_success_status, "$@ -> [ Done ]") -### build-dashboard-centos : Build apache/dashboard:tag image on centos -.PHONY: build-dashboard-centos -build-dashboard-centos: - @$(call func_echo_status, "$@ -> [ Start ]") - $(ENV_DOCKER) build -t $(APISIX_DASHBOARD_IMAGE_NAME):$(APISIX_DASHBOARD_VERSION) -f ./dashboard/Dockerfile.centos . - @$(call func_echo_success_status, "$@ -> [ Done ]") - - -### build-dashboard-alpine : Build apache/dashboard:tag image on alpine -.PHONY: build-dashboard-alpine -build-dashboard-alpine: - @$(call func_echo_status, "$@ -> [ Start ]") - $(ENV_DOCKER) build -t $(APISIX_DASHBOARD_IMAGE_NAME):$(APISIX_DASHBOARD_VERSION) -f ./dashboard/Dockerfile.alpine . - @$(call func_echo_success_status, "$@ -> [ Done ]") - - ### push-multiarch-dashboard : Build and push multiarch apache/dashboard:tag image .PHONY: push-multiarch-dashboard push-multiarch-dashboard: @$(call func_echo_status, "$@ -> [ Start ]") $(ENV_DOCKER) buildx build --push \ -t $(APISIX_DASHBOARD_IMAGE_NAME):$(APISIX_DASHBOARD_VERSION)-alpine \ - --build-arg APISIX_DASHBOARD_VERSION=release/$(APISIX_DASHBOARD_VERSION) \ + --build-arg APISIX_DASHBOARD_TAG=v$(APISIX_DASHBOARD_VERSION) \ --platform linux/amd64,linux/arm64 \ -f ./dashboard/Dockerfile.alpine . $(ENV_DOCKER) buildx build --push \ -t $(APISIX_DASHBOARD_IMAGE_NAME):$(APISIX_DASHBOARD_VERSION)-centos \ - --build-arg APISIX_DASHBOARD_VERSION=release/$(APISIX
[apisix-dashboard] tag v2.15.0 created (now a1ffd338f)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a change to tag v2.15.0 in repository https://gitbox.apache.org/repos/asf/apisix-dashboard.git at a1ffd338f (commit) No new revisions were added by this update.
[apisix-website] branch master updated: chore: add @AlinsRan to Team page (#1438)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/apisix-website.git The following commit(s) were added to refs/heads/master by this push: new 7340b2073d3 chore: add @AlinsRan to Team page (#1438) 7340b2073d3 is described below commit 7340b2073d35087e9f38d69529e3b2f6ba05fa5e Author: Xin Rong AuthorDate: Thu Dec 8 17:27:15 2022 +0800 chore: add @AlinsRan to Team page (#1438) --- config/team.js | 6 ++ 1 file changed, 6 insertions(+) diff --git a/config/team.js b/config/team.js index b68dd5c50d6..a417e77682f 100644 --- a/config/team.js +++ b/config/team.js @@ -289,6 +289,12 @@ module.exports = [ githubUsername: 'SkyeYoung', avatarUrl: 'https://avatars.githubusercontent.com/u/48400568?v=4', }, + { +name: 'Xin Rong', +username: 'AlinsRan', +githubUsername: 'AlinsRan', +avatarUrl: 'https://avatars.githubusercontent.com/u/79972061?v=4', + }, ], }, ];
[apisix-dashboard] branch release/2.15 created (now a1ffd338f)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a change to branch release/2.15 in repository https://gitbox.apache.org/repos/asf/apisix-dashboard.git at a1ffd338f feat: release 2.15.0 (#2685) No new revisions were added by this update.
[apisix-dashboard] branch master updated: feat: release 2.15.0 (#2685)
This is an automated email from the ASF dual-hosted git repository. bzp2010 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 a1ffd338f feat: release 2.15.0 (#2685) a1ffd338f is described below commit a1ffd338fabf7ab0394924651449deb9727a43ba Author: Zeping Bai AuthorDate: Wed Dec 7 17:41:04 2022 +0800 feat: release 2.15.0 (#2685) --- CHANGELOG.md | 11 +++ README.md | 2 +- api/VERSION| 2 +- docs/en/latest/config.json | 2 +- docs/en/latest/develop.md | 2 +- docs/en/latest/install.md | 4 ++-- web/package.json | 2 +- 7 files changed, 18 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b614931aa..015a6b6d0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ # Table of Contents +- [2.15.0](#2150) - [2.14.0](#2140) - [2.13.1](#2131) - [2.13.0](#2130) @@ -41,6 +42,16 @@ - [1.5.0](#150) - [1.0.0](#100) +## 2.15.0 + +### Core + +- feat: basic support Apache APISIX 2.15.0 [#2680](https://github.com/apache/apisix-dashboard/pull/2680) + +### Bugfix + +- fix: bump go version to 1.16 [#2678](https://github.com/apache/apisix-dashboard/pull/2678) + ## 2.14.0 ### Core diff --git a/README.md b/README.md index 49eb05e65..92ed7f2b9 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ - The master version should be used with Apache APISIX master version. -- The latest released version is [2.14.0](https://apisix.apache.org/downloads/) and is compatible with [Apache APISIX 2.14.x](https://apisix.apache.org/downloads/). +- The latest released version is [2.15.0](https://apisix.apache.org/downloads/) and is compatible with [Apache APISIX 2.15.x](https://apisix.apache.org/downloads/). ## What's Apache APISIX Dashboard diff --git a/api/VERSION b/api/VERSION index edcfe40d1..68e69e405 100644 --- a/api/VERSION +++ b/api/VERSION @@ -1 +1 @@ -2.14.0 +2.15.0 diff --git a/docs/en/latest/config.json b/docs/en/latest/config.json index 6a60ef416..0925d9e22 100644 --- a/docs/en/latest/config.json +++ b/docs/en/latest/config.json @@ -1,5 +1,5 @@ { - "version": "2.14.0", + "version": "2.15.0", "sidebar": [ { "type": "category", diff --git a/docs/en/latest/develop.md b/docs/en/latest/develop.md index b193be602..5e9830bb6 100644 --- a/docs/en/latest/develop.md +++ b/docs/en/latest/develop.md @@ -30,7 +30,7 @@ Before development, refer to this [guide](./install.md) to install dependencies. ## Clone the project ```sh -$ git clone -b release/2.14 https://github.com/apache/apisix-dashboard.git +$ git clone -b release/2.15 https://github.com/apache/apisix-dashboard.git ``` ## Start developing diff --git a/docs/en/latest/install.md b/docs/en/latest/install.md index 0a4ab6ca4..8b6139478 100644 --- a/docs/en/latest/install.md +++ b/docs/en/latest/install.md @@ -48,7 +48,7 @@ Please replace `` to your configure file path. ```shell # 1. install RPM package -sudo yum install -y https://github.com/apache/apisix-dashboard/releases/download/v2.14.0/apisix-dashboard-2.14.0-0.el7.x86_64.rpm +sudo yum install -y https://github.com/apache/apisix-dashboard/releases/download/v2.15.0/apisix-dashboard-2.15.0-0.el7.x86_64.rpm ``` ### Launch @@ -91,7 +91,7 @@ For `web`: ### Download {#source-download} ```shell -git clone -b release/2.14 https://github.com/apache/apisix-dashboard.git && cd apisix-dashboard +git clone -b release/2.15 https://github.com/apache/apisix-dashboard.git && cd apisix-dashboard ``` ### Build {#source-build} diff --git a/web/package.json b/web/package.json index c6a083be2..1492e9bff 100644 --- a/web/package.json +++ b/web/package.json @@ -1,6 +1,6 @@ { "name": "apisix-dashboard", - "version": "2.14.0", + "version": "2.15.0", "private": true, "description": "Dashboard for Apache APISIX", "scripts": {
[apisix-dashboard] branch release/2.15 created (now 960ccca61)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a change to branch release/2.15 in repository https://gitbox.apache.org/repos/asf/apisix-dashboard.git at 960ccca61 feat: basic support Apache APISIX 2.15.0 (#2680) No new revisions were added by this update.
[apisix-dashboard] branch master updated: feat: basic support Apache APISIX 2.15.0 (#2680)
This is an automated email from the ASF dual-hosted git repository. bzp2010 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 960ccca61 feat: basic support Apache APISIX 2.15.0 (#2680) 960ccca61 is described below commit 960ccca612776f3a6f455d49e883cc049a5ab48c Author: Zeping Bai AuthorDate: Wed Dec 7 10:45:47 2022 +0800 feat: basic support Apache APISIX 2.15.0 (#2680) --- api/conf/conf.yaml | 42 +- api/conf/schema.json | 2643 api/test/e2e/schema/schema_test.go | 22 +- web/src/components/Plugin/data.tsx | 256 ++-- 4 files changed, 2531 insertions(+), 432 deletions(-) diff --git a/api/conf/conf.yaml b/api/conf/conf.yaml index 13ce71b14..01d404882 100644 --- a/api/conf/conf.yaml +++ b/api/conf/conf.yaml @@ -91,49 +91,79 @@ oidc: redirect_url: http://127.0.0.1:9000/apisix/admin/oidc/callback scope: openid -plugins: # plugin list (sorted in alphabetical order) +plugins: - api-breaker + - authz-casbin + - authz-casdoor - authz-keycloak + - aws-lambda + - azure-functions - basic-auth - - batch-requests + # - batch-requests + - clickhouse-logger + - client-control - consumer-restriction - cors + - csrf + - datadog # - dubbo-proxy - echo - # - error-log-logger + - error-log-logger # - example-plugin + - ext-plugin-post-req + - ext-plugin-post-resp + - ext-plugin-pre-req - fault-injection + - file-logger + - forward-auth + - google-cloud-logging - grpc-transcode + - grpc-web + - gzip - hmac-auth - http-logger - ip-restriction - jwt-auth - kafka-logger + - kafka-proxy - key-auth + - ldap-auth - limit-conn - limit-count - limit-req + - loggly # - log-rotate + - mocking # - node-status + - opa - openid-connect + - opentelemetry + - openwhisk - prometheus - proxy-cache + - proxy-control - proxy-mirror - proxy-rewrite + - public-api + - real-ip - redirect - referer-restriction - request-id - request-validation - response-rewrite + - rocketmq-logger + - server-info - serverless-post-function - serverless-pre-function - # - skywalking + - skywalking + - skywalking-logger - sls-logger + - splunk-hec-logging - syslog - tcp-logger + - traffic-split + - ua-restriction - udp-logger - uri-blocker - wolf-rbac - zipkin - - server-info - - traffic-split diff --git a/api/conf/schema.json b/api/conf/schema.json index 08a3b2eeb..db680cd5f 100644 --- a/api/conf/schema.json +++ b/api/conf/schema.json @@ -721,43 +721,6 @@ "type": "object" }, "passive": { - "default": { - "healthy": { - "http_statuses": [ - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 226, - 300, - 301, - 302, - 303, - 304, -
[apisix-dashboard] branch master updated: feat: release 2.14.0 (#2677)
This is an automated email from the ASF dual-hosted git repository. bzp2010 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 7be071517 feat: release 2.14.0 (#2677) 7be071517 is described below commit 7be0715176e384057e59e50b67e7f003ab384836 Author: Zeping Bai AuthorDate: Wed Dec 7 10:13:46 2022 +0800 feat: release 2.14.0 (#2677) --- CHANGELOG.md | 56 ++ README.md | 2 +- api/VERSION| 2 +- docs/en/latest/config.json | 2 +- docs/en/latest/develop.md | 2 +- docs/en/latest/install.md | 4 ++-- web/package.json | 2 +- 7 files changed, 63 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f92d50e22..b614931aa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ # Table of Contents +- [2.14.0](#2140) - [2.13.1](#2131) - [2.13.0](#2130) - [2.11.0](#2110) @@ -40,6 +41,61 @@ - [1.5.0](#150) - [1.0.0](#100) +## 2.14.0 + +### Core + +- feat: basic support Apache APISIX 2.14.1 [#2464](https://github.com/apache/apisix-dashboard/pull/2464) +- feat: refactor OpenAPI 3 parse and convert [#2460](https://github.com/apache/apisix-dashboard/pull/2460) +- feat: integrate data loader interface to import handler [#2474](https://github.com/apache/apisix-dashboard/pull/2474) +- feat: support data loader in frontend [#2480](https://github.com/apache/apisix-dashboard/pull/2480) +- feat: translating Turkish for new features [#2487](https://github.com/apache/apisix-dashboard/pull/2487) +- feat: add batch delete function for route [#2502](https://github.com/apache/apisix-dashboard/pull/2502) +- feat: support show all enable plugin list tab [#2585](https://github.com/apache/apisix-dashboard/pull/2585) +- feat: Add config struct of OpenID-Connect Login [#2597](https://github.com/apache/apisix-dashboard/pull/2597) +- feat: Adding a Loading state to buttons [#2630](https://github.com/apache/apisix-dashboard/pull/2630) +- feat: add login filter of OpenID-Connect [#2608](https://github.com/apache/apisix-dashboard/pull/2608) +- feat: add etcd store auto re-initialize [#2650](https://github.com/apache/apisix-dashboard/pull/2650) +- feat: add enable flag to oidc function [#2672](https://github.com/apache/apisix-dashboard/pull/2672) +- feat: support purge method [#2674](https://github.com/apache/apisix-dashboard/pull/2674) +- feat: support more upstream scheme [#2675](https://github.com/apache/apisix-dashboard/pull/2675) + +### Docs + +- docs: add data loader and new OpenAPI 3 loader [#2484](https://github.com/apache/apisix-dashboard/pull/2484) +- docs: add new import and export docs to sidebar [#2485](https://github.com/apache/apisix-dashboard/pull/2485) +- docs: update deploy-with-docker.md [#2472](https://github.com/apache/apisix-dashboard/pull/2472) +- docs: add a notice about the compatibility of Ingress and Dashboard [#2552](https://github.com/apache/apisix-dashboard/pull/2552) +- docs: add correct csp rule [#2548](https://github.com/apache/apisix-dashboard/pull/2548) +- docs: add Slack invitation link badge [#2617](https://github.com/apache/apisix-dashboard/pull/2617) + +### Bugfix + +- fix: advance matching in the route create page causes the page to crash [#2440](https://github.com/apache/apisix-dashboard/pull/2440) +- fix: Users can create a Consumer in Dashboard without enabling the plugin [#2442](https://github.com/apache/apisix-dashboard/pull/2442) +- fix: block arbitrary file index [#2497](https://github.com/apache/apisix-dashboard/pull/2497) +- fix: route duplicate ID [#2501](https://github.com/apache/apisix-dashboard/pull/2501) +- fix: add a judgement for last_report_time [#2551](https://github.com/apache/apisix-dashboard/pull/2551) +- fix: drawer components delete plugin not working [#2573](https://github.com/apache/apisix-dashboard/pull/2573) +- fix: page refresh causes deletion exception [#2593](https://github.com/apache/apisix-dashboard/pull/2593) +- fix: plugin_config missing on service exist [#2657](https://github.com/apache/apisix-dashboard/pull/2657) +- fix: ant-table unable to request [#2641](https://github.com/apache/apisix-dashboard/pull/2641) +- fix: change default CSP value [#2601](https://github.com/apache/apisix-dashboard/pull/2601) + +### Test + +- test: remove stale E2E cases [#2475](https://github.com/apache/apisix-dashboard/pull/2475) +- fix: cli test invalid etcd [#2544](https://github.com/apache/apisix-dashboard/pull/2544) +- feat: fix actions version to root version [#2521](https://github.com/apache/apisix-dashboard/pull/2521) +- test: reduce fe ci time [#2557](https://github.com/apache/apisix-dashboard/pull/2557) +- feat: set serverUrlMap with env, update cypress, update stylelint [#2583](https://github.com/apache/apisix-dashboard/pull/2583) +- feat: add tip and preset
[apisix-dashboard] branch release/2.14.0 created (now 4c237685f)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a change to branch release/2.14.0 in repository https://gitbox.apache.org/repos/asf/apisix-dashboard.git at 4c237685f feat: release 2.14.0 (#2676) No new revisions were added by this update.
[apisix-docker] branch release/apisix-dashboard-2.14.0 created (now aa29713)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a change to branch release/apisix-dashboard-2.14.0 in repository https://gitbox.apache.org/repos/asf/apisix-docker.git at aa29713 feat: bump APISIX Dashboard to 2.14.0 (#388) No new revisions were added by this update.
[apisix-docker] branch master updated: feat: bump APISIX Dashboard to 2.14.0 (#388)
This is an automated email from the ASF dual-hosted git repository. bzp2010 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 aa29713 feat: bump APISIX Dashboard to 2.14.0 (#388) aa29713 is described below commit aa29713bb969db11e6e6ca40e800ec4a81ceb60d Author: Zeping Bai AuthorDate: Mon Dec 5 17:29:14 2022 +0800 feat: bump APISIX Dashboard to 2.14.0 (#388) --- .github/workflows/dashboard_all_in_one_ci.yaml | 2 +- .github/workflows/dashboard_push_docker_hub.yaml | 2 +- Makefile | 2 +- example/docker-compose-arm64.yml | 2 +- example/docker-compose.yml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/dashboard_all_in_one_ci.yaml b/.github/workflows/dashboard_all_in_one_ci.yaml index 0aa8b08..e11e1dc 100644 --- a/.github/workflows/dashboard_all_in_one_ci.yaml +++ b/.github/workflows/dashboard_all_in_one_ci.yaml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest env: - APISIX_DASHBOARD_BRANCH: "2.13.1" # GitHub release tag id + APISIX_DASHBOARD_BRANCH: "2.14.0" # GitHub release tag id steps: - uses: actions/checkout@v2 diff --git a/.github/workflows/dashboard_push_docker_hub.yaml b/.github/workflows/dashboard_push_docker_hub.yaml index c21c5d7..e6c2017 100644 --- a/.github/workflows/dashboard_push_docker_hub.yaml +++ b/.github/workflows/dashboard_push_docker_hub.yaml @@ -15,7 +15,7 @@ jobs: runs-on: ubuntu-latest env: - APISIX_DASHBOARD_TAG: "2.13.1" + APISIX_DASHBOARD_TAG: "2.14.0" steps: - name: Check out the repo diff --git a/Makefile b/Makefile index 96fa7f1..bdee588 100644 --- a/Makefile +++ b/Makefile @@ -26,7 +26,7 @@ MAX_APISIX_VERSION ?= 3.0.0 IMAGE_NAME = apache/apisix IMAGE_TAR_NAME = apache_apisix -APISIX_DASHBOARD_VERSION ?= 2.13.1 +APISIX_DASHBOARD_VERSION ?= 2.14.0 APISIX_DASHBOARD_IMAGE_NAME = apache/apisix-dashboard APISIX_DASHBOARD_IMAGE_TAR_NAME = apache_apisix_dashboard diff --git a/example/docker-compose-arm64.yml b/example/docker-compose-arm64.yml index 7e2a6f3..9993e73 100644 --- a/example/docker-compose-arm64.yml +++ b/example/docker-compose-arm64.yml @@ -19,7 +19,7 @@ version: "3" services: apisix-dashboard: -image: apache/apisix-dashboard:2.13.1-alpine +image: apache/apisix-dashboard:2.14.0-alpine restart: always volumes: - ./dashboard_conf/conf.yaml:/usr/local/apisix-dashboard/conf/conf.yaml diff --git a/example/docker-compose.yml b/example/docker-compose.yml index f8bb634..fb9108e 100644 --- a/example/docker-compose.yml +++ b/example/docker-compose.yml @@ -19,7 +19,7 @@ version: "3" services: apisix-dashboard: -image: apache/apisix-dashboard:2.13.1-alpine +image: apache/apisix-dashboard:2.14.0-alpine restart: always volumes: - ./dashboard_conf/conf.yaml:/usr/local/apisix-dashboard/conf/conf.yaml
[apisix-dashboard] tag v2.14.0 created (now 4c237685f)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a change to tag v2.14.0 in repository https://gitbox.apache.org/repos/asf/apisix-dashboard.git at 4c237685f (commit) No new revisions were added by this update.
[apisix-dashboard] branch release/2.14 updated: feat: release 2.14.0 (#2676)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a commit to branch release/2.14 in repository https://gitbox.apache.org/repos/asf/apisix-dashboard.git The following commit(s) were added to refs/heads/release/2.14 by this push: new 4c237685f feat: release 2.14.0 (#2676) 4c237685f is described below commit 4c237685f3c2a7b3db2a6ae9d8164e1d2f6f64af Author: Zeping Bai AuthorDate: Wed Nov 30 16:58:20 2022 +0800 feat: release 2.14.0 (#2676) Co-authored-by: 琚致远 / Zhiyuan Ju Co-authored-by: Young --- CHANGELOG.md | 56 ++ README.md | 2 +- api/VERSION| 2 +- docs/en/latest/config.json | 2 +- docs/en/latest/develop.md | 2 +- docs/en/latest/install.md | 4 ++-- web/package.json | 2 +- 7 files changed, 63 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f92d50e22..b614931aa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ # Table of Contents +- [2.14.0](#2140) - [2.13.1](#2131) - [2.13.0](#2130) - [2.11.0](#2110) @@ -40,6 +41,61 @@ - [1.5.0](#150) - [1.0.0](#100) +## 2.14.0 + +### Core + +- feat: basic support Apache APISIX 2.14.1 [#2464](https://github.com/apache/apisix-dashboard/pull/2464) +- feat: refactor OpenAPI 3 parse and convert [#2460](https://github.com/apache/apisix-dashboard/pull/2460) +- feat: integrate data loader interface to import handler [#2474](https://github.com/apache/apisix-dashboard/pull/2474) +- feat: support data loader in frontend [#2480](https://github.com/apache/apisix-dashboard/pull/2480) +- feat: translating Turkish for new features [#2487](https://github.com/apache/apisix-dashboard/pull/2487) +- feat: add batch delete function for route [#2502](https://github.com/apache/apisix-dashboard/pull/2502) +- feat: support show all enable plugin list tab [#2585](https://github.com/apache/apisix-dashboard/pull/2585) +- feat: Add config struct of OpenID-Connect Login [#2597](https://github.com/apache/apisix-dashboard/pull/2597) +- feat: Adding a Loading state to buttons [#2630](https://github.com/apache/apisix-dashboard/pull/2630) +- feat: add login filter of OpenID-Connect [#2608](https://github.com/apache/apisix-dashboard/pull/2608) +- feat: add etcd store auto re-initialize [#2650](https://github.com/apache/apisix-dashboard/pull/2650) +- feat: add enable flag to oidc function [#2672](https://github.com/apache/apisix-dashboard/pull/2672) +- feat: support purge method [#2674](https://github.com/apache/apisix-dashboard/pull/2674) +- feat: support more upstream scheme [#2675](https://github.com/apache/apisix-dashboard/pull/2675) + +### Docs + +- docs: add data loader and new OpenAPI 3 loader [#2484](https://github.com/apache/apisix-dashboard/pull/2484) +- docs: add new import and export docs to sidebar [#2485](https://github.com/apache/apisix-dashboard/pull/2485) +- docs: update deploy-with-docker.md [#2472](https://github.com/apache/apisix-dashboard/pull/2472) +- docs: add a notice about the compatibility of Ingress and Dashboard [#2552](https://github.com/apache/apisix-dashboard/pull/2552) +- docs: add correct csp rule [#2548](https://github.com/apache/apisix-dashboard/pull/2548) +- docs: add Slack invitation link badge [#2617](https://github.com/apache/apisix-dashboard/pull/2617) + +### Bugfix + +- fix: advance matching in the route create page causes the page to crash [#2440](https://github.com/apache/apisix-dashboard/pull/2440) +- fix: Users can create a Consumer in Dashboard without enabling the plugin [#2442](https://github.com/apache/apisix-dashboard/pull/2442) +- fix: block arbitrary file index [#2497](https://github.com/apache/apisix-dashboard/pull/2497) +- fix: route duplicate ID [#2501](https://github.com/apache/apisix-dashboard/pull/2501) +- fix: add a judgement for last_report_time [#2551](https://github.com/apache/apisix-dashboard/pull/2551) +- fix: drawer components delete plugin not working [#2573](https://github.com/apache/apisix-dashboard/pull/2573) +- fix: page refresh causes deletion exception [#2593](https://github.com/apache/apisix-dashboard/pull/2593) +- fix: plugin_config missing on service exist [#2657](https://github.com/apache/apisix-dashboard/pull/2657) +- fix: ant-table unable to request [#2641](https://github.com/apache/apisix-dashboard/pull/2641) +- fix: change default CSP value [#2601](https://github.com/apache/apisix-dashboard/pull/2601) + +### Test + +- test: remove stale E2E cases [#2475](https://github.com/apache/apisix-dashboard/pull/2475) +- fix: cli test invalid etcd [#2544](https://github.com/apache/apisix-dashboard/pull/2544) +- feat: fix actions version to root version [#2521](https://github.com/apache/apisix-dashboard/pull/2521) +- test: reduce fe ci time [#2557](https://github.com/apache/apisix-dashboard/pull/2557) +- feat: set serverUrlMap with env, update cypress, update stylelint [#2583
[apisix-dashboard] branch release/2.14 created (now a5d96f827)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a change to branch release/2.14 in repository https://gitbox.apache.org/repos/asf/apisix-dashboard.git at a5d96f827 feat: release 2.13.1 (#2658) No new revisions were added by this update.
[apisix-dashboard] branch master updated: feat: release 2.13.1 (#2658)
This is an automated email from the ASF dual-hosted git repository. bzp2010 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 a5d96f827 feat: release 2.13.1 (#2658) a5d96f827 is described below commit a5d96f827efec4bbac87b317c42e8fce24febd96 Author: Zeping Bai AuthorDate: Wed Nov 30 11:51:28 2022 +0800 feat: release 2.13.1 (#2658) --- CHANGELOG.md | 7 +++ README.md| 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 518afa0f8..f92d50e22 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ # Table of Contents +- [2.13.1](#2131) - [2.13.0](#2130) - [2.11.0](#2110) - [2.10.1](#2101) @@ -39,6 +40,12 @@ - [1.5.0](#150) - [1.0.0](#100) +## 2.13.1 + +**This is a maintenance release, and you can see the CHANGELOG in `release/2.13` branch.** + +[https://github.com/apache/apisix-dashboard/blob/release/2.13/CHANGELOG.md#2131](https://github.com/apache/apisix-dashboard/blob/release/2.13/CHANGELOG.md#2131) + # 2.13.0 This release contains some features and bugfixes, and all the existing functionalities are compatible with Apache APISIX 2.13.x. diff --git a/README.md b/README.md index 607775cd6..990dad6c3 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ - The master version should be used with Apache APISIX master version. -- The latest released version is [2.13.0](https://apisix.apache.org/downloads/) and is compatible with [Apache APISIX 2.13.x](https://apisix.apache.org/downloads/). +- The latest released version is [2.13.1](https://apisix.apache.org/downloads/) and is compatible with [Apache APISIX 2.13.x](https://apisix.apache.org/downloads/). ## What's Apache APISIX Dashboard
[apisix-dashboard] branch release/2.14 created (now 0fb390db8)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a change to branch release/2.14 in repository https://gitbox.apache.org/repos/asf/apisix-dashboard.git at 0fb390db8 feat: support more upstream scheme (#2675) No new revisions were added by this update.
[apisix-dashboard] branch master updated: feat: support more upstream scheme (#2675)
This is an automated email from the ASF dual-hosted git repository. bzp2010 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 0fb390db8 feat: support more upstream scheme (#2675) 0fb390db8 is described below commit 0fb390db8ad10339fd28d9c39ea468f29d203801 Author: Zeping Bai AuthorDate: Wed Nov 30 09:52:26 2022 +0800 feat: support more upstream scheme (#2675) --- web/src/components/Upstream/components/Scheme.tsx | 39 +-- web/src/components/Upstream/locales/en-US.ts | 5 +++ web/src/components/Upstream/locales/tr-TR.ts | 5 +++ web/src/components/Upstream/locales/zh-CN.ts | 5 +++ 4 files changed, 52 insertions(+), 2 deletions(-) diff --git a/web/src/components/Upstream/components/Scheme.tsx b/web/src/components/Upstream/components/Scheme.tsx index 200ead4a2..2a64e8b6b 100644 --- a/web/src/components/Upstream/components/Scheme.tsx +++ b/web/src/components/Upstream/components/Scheme.tsx @@ -15,25 +15,49 @@ * limitations under the License. */ import { Form, Select } from 'antd'; -import React from 'react'; +import React, { useState } from 'react'; import { useIntl } from 'umi'; const options = [ { label: 'HTTP', value: 'http', +type: 'http', }, { label: 'HTTPs', value: 'https', +type: 'http', }, { label: 'gRPC', value: 'grpc', +type: 'http', }, { label: 'gRPCs', value: 'grpcs', +type: 'http', + }, + { +label: 'TCP', +value: 'tcp', +type: 'stream', + }, + { +label: 'TLS', +value: 'tls', +type: 'stream', + }, + { +label: 'UDP', +value: 'udp', +type: 'stream', + }, + { +label: 'Kafka', +value: 'kafka', +type: 'pubsub', }, ]; @@ -43,14 +67,25 @@ type Props = { const Scheme: React.FC = ({ readonly }) => { const { formatMessage } = useIntl(); + const [extraMessage, setExtraMessage] = useState(''); + const onChange = (value: string) => { +Object.values(options).forEach((opt) => { + if (opt.value !== value && opt.type !== 'http') return; + setExtraMessage( +formatMessage({ id: `component.upstream.fields.scheme.tooltip.${opt.type}` }), + ); +}); + }; + return ( - + {options.map((item) => { return ( diff --git a/web/src/components/Upstream/locales/en-US.ts b/web/src/components/Upstream/locales/en-US.ts index b1ba0fe66..2b00de759 100644 --- a/web/src/components/Upstream/locales/en-US.ts +++ b/web/src/components/Upstream/locales/en-US.ts @@ -45,6 +45,11 @@ export default { 'component.upstream.fields.service_name.tooltip': 'Service Name', 'component.upstream.fields.service_name.placeholder': 'Please enter the service name', + 'component.upstream.fields.scheme.tooltip.stream': +'This type is only used for Stream Route, which is a layer 4 proxy. Reference: https://apisix.apache.org/docs/apisix/stream-proxy/', + 'component.upstream.fields.scheme.tooltip.pubsub': +'This type is only used in publish subscription. Reference: https://apisix.apache.org/docs/apisix/pubsub/', + 'component.upstream.fields.tls': 'TLS', 'component.upstream.fields.tls.tooltip': 'TLS Certificate', diff --git a/web/src/components/Upstream/locales/tr-TR.ts b/web/src/components/Upstream/locales/tr-TR.ts index 56ace274c..a7f823786 100644 --- a/web/src/components/Upstream/locales/tr-TR.ts +++ b/web/src/components/Upstream/locales/tr-TR.ts @@ -45,6 +45,11 @@ export default { 'component.upstream.fields.service_name.tooltip': 'Servis Adı', 'component.upstream.fields.service_name.placeholder': 'Lütfen servis adını giriniz', + 'component.upstream.fields.scheme.tooltip.stream': +'Bu tür yalnızca Akış yönlendirme, yani katman 4 proxy için kullanılır. Referans: https://apisix.apache.org/docs/apisix/stream-proxy/', + 'component.upstream.fields.scheme.tooltip.pubsub': +'Bu tür yalnızca abonelik senaryolarını yayınlamak için kullanılır. Referans: https://apisix.apache.org/docs/apisix/pubsub/', + 'component.upstream.fields.tls': 'TLS', 'component.upstream.fields.tls.tooltip': 'TLS Sertifikası', diff --git a/web/src/components/Upstream/locales/zh-CN.ts b/web/src/components/Upstream/locales/zh-CN.ts index 5de7c6e23..
[apisix-dashboard] branch master updated: feat: support purge method (#2674)
This is an automated email from the ASF dual-hosted git repository. bzp2010 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 411ae1492 feat: support purge method (#2674) 411ae1492 is described below commit 411ae1492b80cc5558ba25500e82b94f1c1747cf Author: Zeping Bai AuthorDate: Wed Nov 30 00:46:19 2022 +0800 feat: support purge method (#2674) --- web/src/pages/Route/constants.ts | 1 + web/src/typings.d.ts | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/web/src/pages/Route/constants.ts b/web/src/pages/Route/constants.ts index 76d22f9f0..283734887 100644 --- a/web/src/pages/Route/constants.ts +++ b/web/src/pages/Route/constants.ts @@ -24,6 +24,7 @@ export const HTTP_METHOD_OPTION_LIST: HttpMethod[] = [ 'OPTIONS', 'CONNECT', 'TRACE', + 'PURGE', ]; export const FORM_ITEM_LAYOUT = { diff --git a/web/src/typings.d.ts b/web/src/typings.d.ts index da3c68dd2..6ee2d5e48 100644 --- a/web/src/typings.d.ts +++ b/web/src/typings.d.ts @@ -76,7 +76,8 @@ type HttpMethod = | 'HEAD' | 'PATCH' | 'CONNECT' - | 'TRACE'; + | 'TRACE' + | 'PURGE'; type ResponseLabelList = Record[];
[apisix-dashboard] branch master updated (8dcadcea2 -> 1a107ec05)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/apisix-dashboard.git from 8dcadcea2 fix: change default CSP value (#2601) add 1a107ec05 feat: add enable flag to oidc function (#2672) No new revisions were added by this update. Summary of changes: .github/workflows/backend-e2e-test.yml | 2 +- api/conf/conf.yaml | 1 + api/internal/conf/conf.go | 5 - api/internal/route.go | 8 +++- 4 files changed, 13 insertions(+), 3 deletions(-)
[apisix-dashboard] branch release/2.13.1 created (now 8c722870b)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a change to branch release/2.13.1 in repository https://gitbox.apache.org/repos/asf/apisix-dashboard.git at 8c722870b feat: update version to 2.13.1 (#2659) No new revisions were added by this update.
[apisix-docker] branch release/apisix-dashboard-2.13.1 created (now d37717f)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a change to branch release/apisix-dashboard-2.13.1 in repository https://gitbox.apache.org/repos/asf/apisix-docker.git at d37717f fix: dashboard image push condition (#385) No new revisions were added by this update.
[apisix-docker] branch master updated: fix: dashboard image push condition (#385)
This is an automated email from the ASF dual-hosted git repository. bzp2010 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 d37717f fix: dashboard image push condition (#385) d37717f is described below commit d37717fcacd4eac44a903714b6abf667c6976e9f Author: Zeping Bai AuthorDate: Fri Nov 25 18:07:16 2022 +0800 fix: dashboard image push condition (#385) --- .github/workflows/dashboard_push_docker_hub.yaml | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/dashboard_push_docker_hub.yaml b/.github/workflows/dashboard_push_docker_hub.yaml index 73c6e51..c21c5d7 100644 --- a/.github/workflows/dashboard_push_docker_hub.yaml +++ b/.github/workflows/dashboard_push_docker_hub.yaml @@ -5,11 +5,11 @@ on: jobs: build: strategy: -fail-fast: false -matrix: - os: -- centos -- alpine + fail-fast: false + matrix: +os: + - centos + - alpine name: build dashboard & test on ${{ matrix.os }} && push to docker hub runs-on: ubuntu-latest @@ -56,6 +56,6 @@ jobs: uses: docker/setup-buildx-action@v1 - name: Push apisix dashboard image to Docker Hub -if: matrix.platform == 'centos' +if: matrix.os == 'centos' run: | make push-multiarch-dashboard
[apisix-docker] branch release/apisix-dashboard-2.13.1-backup created (now d2ea37a)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a change to branch release/apisix-dashboard-2.13.1-backup in repository https://gitbox.apache.org/repos/asf/apisix-docker.git at d2ea37a feat: bump APISIX Dashboard to 2.13.1 (#384) No new revisions were added by this update.
[apisix-docker] branch release/apisix-dashboard-2.13.1 created (now d2ea37a)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a change to branch release/apisix-dashboard-2.13.1 in repository https://gitbox.apache.org/repos/asf/apisix-docker.git at d2ea37a feat: bump APISIX Dashboard to 2.13.1 (#384) No new revisions were added by this update.
[apisix-docker] branch master updated: feat: bump APISIX Dashboard to 2.13.1 (#384)
This is an automated email from the ASF dual-hosted git repository. bzp2010 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 d2ea37a feat: bump APISIX Dashboard to 2.13.1 (#384) d2ea37a is described below commit d2ea37a2a75556ead74d6fe648fbe22bf09b0a9b Author: Zeping Bai AuthorDate: Fri Nov 25 17:11:18 2022 +0800 feat: bump APISIX Dashboard to 2.13.1 (#384) --- .github/workflows/dashboard_all_in_one_ci.yaml | 6 +- .github/workflows/dashboard_push_docker_hub.yaml | 2 +- Makefile | 2 +- example/docker-compose-arm64.yml | 2 +- example/docker-compose.yml | 2 +- 5 files changed, 9 insertions(+), 5 deletions(-) diff --git a/.github/workflows/dashboard_all_in_one_ci.yaml b/.github/workflows/dashboard_all_in_one_ci.yaml index 4bfb7af..0aa8b08 100644 --- a/.github/workflows/dashboard_all_in_one_ci.yaml +++ b/.github/workflows/dashboard_all_in_one_ci.yaml @@ -11,12 +11,16 @@ on: jobs: build: runs-on: ubuntu-latest + +env: + APISIX_DASHBOARD_BRANCH: "2.13.1" # GitHub release tag id + steps: - uses: actions/checkout@v2 - name: Build and Test run: | - docker build -t apache/apisix-dashboard:whole -f ./all-in-one/apisix-dashboard/Dockerfile . + docker build -t apache/apisix-dashboard:whole --build-arg APISIX_DASHBOARD_VERSION=v${APISIX_DASHBOARD_BRANCH} -f ./all-in-one/apisix-dashboard/Dockerfile . docker run -v `pwd`/all-in-one/apisix/config.yaml:/usr/local/apisix/conf/config.yaml -v `pwd`/all-in-one/apisix-dashboard/conf.yaml:/usr/local/apisix-dashboard/conf/conf.yaml -p 9080:9080 -p 2379:2379 -p 9000:9000 -d apache/apisix-dashboard:whole sleep 30 curl http://127.0.0.1:9080/apisix/admin/schema/service -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' diff --git a/.github/workflows/dashboard_push_docker_hub.yaml b/.github/workflows/dashboard_push_docker_hub.yaml index 6f2716a..73c6e51 100644 --- a/.github/workflows/dashboard_push_docker_hub.yaml +++ b/.github/workflows/dashboard_push_docker_hub.yaml @@ -15,7 +15,7 @@ jobs: runs-on: ubuntu-latest env: - APISIX_DASHBOARD_TAG: "2.13" + APISIX_DASHBOARD_TAG: "2.13.1" steps: - name: Check out the repo diff --git a/Makefile b/Makefile index 38bf594..96fa7f1 100644 --- a/Makefile +++ b/Makefile @@ -26,7 +26,7 @@ MAX_APISIX_VERSION ?= 3.0.0 IMAGE_NAME = apache/apisix IMAGE_TAR_NAME = apache_apisix -APISIX_DASHBOARD_VERSION ?= 2.13 +APISIX_DASHBOARD_VERSION ?= 2.13.1 APISIX_DASHBOARD_IMAGE_NAME = apache/apisix-dashboard APISIX_DASHBOARD_IMAGE_TAR_NAME = apache_apisix_dashboard diff --git a/example/docker-compose-arm64.yml b/example/docker-compose-arm64.yml index b18e6fa..7e2a6f3 100644 --- a/example/docker-compose-arm64.yml +++ b/example/docker-compose-arm64.yml @@ -19,7 +19,7 @@ version: "3" services: apisix-dashboard: -image: apache/apisix-dashboard:2.13-alpine +image: apache/apisix-dashboard:2.13.1-alpine restart: always volumes: - ./dashboard_conf/conf.yaml:/usr/local/apisix-dashboard/conf/conf.yaml diff --git a/example/docker-compose.yml b/example/docker-compose.yml index 3247a2a..fcc3331 100644 --- a/example/docker-compose.yml +++ b/example/docker-compose.yml @@ -19,7 +19,7 @@ version: "3" services: apisix-dashboard: -image: apache/apisix-dashboard:2.13-alpine +image: apache/apisix-dashboard:2.13.1-alpine restart: always volumes: - ./dashboard_conf/conf.yaml:/usr/local/apisix-dashboard/conf/conf.yaml
[apisix-website] branch master updated: docs: Added cover image for blog (#1417)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/apisix-website.git The following commit(s) were added to refs/heads/master by this push: new 03ff2c1545f docs: Added cover image for blog (#1417) 03ff2c1545f is described below commit 03ff2c1545f6748c660fd5c5a63214866559994d Author: Bhavya Tewari <55613637+bhavyat-...@users.noreply.github.com> AuthorDate: Mon Nov 21 12:44:44 2022 +0530 docs: Added cover image for blog (#1417) --- blog/en/blog/2022/03/04/apigateway-clickhouse-makes-logging-easier.md | 1 + blog/en/blog/2022/07/05/use-dataant-to-monitor-apisix.md | 1 + 2 files changed, 2 insertions(+) diff --git a/blog/en/blog/2022/03/04/apigateway-clickhouse-makes-logging-easier.md b/blog/en/blog/2022/03/04/apigateway-clickhouse-makes-logging-easier.md index ed96f0afded..ba734844d16 100644 --- a/blog/en/blog/2022/03/04/apigateway-clickhouse-makes-logging-easier.md +++ b/blog/en/blog/2022/03/04/apigateway-clickhouse-makes-logging-easier.md @@ -17,6 +17,7 @@ keywords: - Ecosystem description: This article describes how Zhendong Qi contributed `clickhouse-logger` to API gateway Apache APISIX, and how to use this plugin to simplify business architecture. tags: [Plugins,Ecosystem] +image: https://static.apiseven.com/2022/11/18/63774d2d76267.png --- > The author of this article, Zhendong Qi, is from China Mobile Cloud > Competence Center. He has extensive experience in distributed object storage > software development and has participated in the construction of several > resource pools in the mobile cloud. This article describes how community > contributor Zhendong Qi contributed `clickhouse-logger` to Apache APISIX and > how he used the plugin to simplify the business architecture and improve the > efficiency of logging. diff --git a/blog/en/blog/2022/07/05/use-dataant-to-monitor-apisix.md b/blog/en/blog/2022/07/05/use-dataant-to-monitor-apisix.md index a519074df03..e6244174547 100644 --- a/blog/en/blog/2022/07/05/use-dataant-to-monitor-apisix.md +++ b/blog/en/blog/2022/07/05/use-dataant-to-monitor-apisix.md @@ -11,6 +11,7 @@ keywords: - DataAnt description: This article mainly introduces how to upload the API Gateway Apache APISIX indicator data to the DataAnt monitoring system through the DataAnt Agent. tags: [Ecosystem] +image: https://static.apiseven.com/2022/11/19/6378c1cf6c6c7.png --- > This article mainly introduces how to upload the APISIX indicator data to > the DATA ANT monitoring system through the DataAnt Agent.
[apisix-dashboard] tag v2.13.1 created (now 8c722870b)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a change to tag v2.13.1 in repository https://gitbox.apache.org/repos/asf/apisix-dashboard.git at 8c722870b (commit) No new revisions were added by this update.
[apisix-website] branch master updated: feat: release 2.15.1 (#1412)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/apisix-website.git The following commit(s) were added to refs/heads/master by this push: new f48d1b2e68a feat: release 2.15.1 (#1412) f48d1b2e68a is described below commit f48d1b2e68ab3b35dc5867328415a507fb42dee2 Author: 罗泽轩 AuthorDate: Fri Nov 18 09:22:13 2022 +0800 feat: release 2.15.1 (#1412) Signed-off-by: spacewander --- config/downloads.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/downloads.js b/config/downloads.js index 6c74de27315..288bbe78b6b 100644 --- a/config/downloads.js +++ b/config/downloads.js @@ -10,9 +10,9 @@ module.exports = [ downloadPath: 'apisix/3.0.0/apache-apisix-3.0.0-src', dockerhubPath: 'apisix', version: '3.0.0', -LTSDownloadPath: 'apisix/2.15.0/apache-apisix-2.15.0-src', -LTSVersion: '2.15.0', -releaseDate: '2022-11-02', +LTSDownloadPath: 'apisix/2.15.1/apache-apisix-2.15.1-src', +LTSVersion: '2.15.1', +releaseDate: '2022-11-17', firstDocPath: '/getting-started', }, {
[apisix-dashboard] branch master updated: fix: ant-table unable to request (#2641)
This is an automated email from the ASF dual-hosted git repository. bzp2010 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 b5672b64d fix: ant-table unable to request (#2641) b5672b64d is described below commit b5672b64def099a7b337a5778e76d8aaa8df9d63 Author: 黄困困 <506850...@qq.com> AuthorDate: Sun Nov 6 14:47:32 2022 +0800 fix: ant-table unable to request (#2641) Co-authored-by: 黄海婷 --- web/cypress/e2e/plugin/plugin-schema.cy.js | 2 +- ...mplate-create-edit-delete-plugin-template.cy.js | 1 + ...emplate-create-plugin-template-with-route.cy.js | 1 + ...am-create_and_edit_upstream_with_no_nodes.cy.js | 3 +- web/package.json | 2 +- web/yarn.lock | 62 ++ 6 files changed, 33 insertions(+), 38 deletions(-) diff --git a/web/cypress/e2e/plugin/plugin-schema.cy.js b/web/cypress/e2e/plugin/plugin-schema.cy.js index 37929adc7..161941384 100644 --- a/web/cypress/e2e/plugin/plugin-schema.cy.js +++ b/web/cypress/e2e/plugin/plugin-schema.cy.js @@ -38,7 +38,7 @@ describe('Plugin Schema Test', () => { cy.get('#root > div > section > aside > div > div:nth-child(1) > ul', { timeout }) .contains('Plugin') .click(); -cy.get('#ant-design-pro-table > div > div > div.ant-pro-table-list-toolbar', { timeout }) +cy.get('.ant-pro-table > div > div > div.ant-pro-table-list-toolbar', { timeout }) .contains('Enable') .click(); cy.url().should('include', '/plugin/market'); diff --git a/web/cypress/e2e/rest/pluginTemplate-create-edit-delete-plugin-template.cy.js b/web/cypress/e2e/rest/pluginTemplate-create-edit-delete-plugin-template.cy.js index 8bdf05200..8cda4a74e 100644 --- a/web/cypress/e2e/rest/pluginTemplate-create-edit-delete-plugin-template.cy.js +++ b/web/cypress/e2e/rest/pluginTemplate-create-edit-delete-plugin-template.cy.js @@ -49,6 +49,7 @@ context('Create Configure and Delete PluginTemplate', () => { cy.contains('Route').click(); cy.get(selector.empty).should('be.visible'); cy.contains('Advanced').should('be.visible').click(); +cy.contains('Advanced').trigger('mouseover'); cy.contains('Plugin Template Config').should('be.visible').click(); cy.get(selector.empty).should('be.visible'); cy.contains('Create').click(); diff --git a/web/cypress/e2e/rest/pluginTemplate-create-plugin-template-with-route.cy.js b/web/cypress/e2e/rest/pluginTemplate-create-plugin-template-with-route.cy.js index e7d240384..dc3662f35 100644 --- a/web/cypress/e2e/rest/pluginTemplate-create-plugin-template-with-route.cy.js +++ b/web/cypress/e2e/rest/pluginTemplate-create-plugin-template-with-route.cy.js @@ -57,6 +57,7 @@ context('Create PluginTemplate Binding To Route', () => { cy.contains('Route').click(); cy.get(selector.empty).should('be.visible'); cy.contains('Advanced').should('be.visible').click(); +cy.contains('Advanced').trigger('mouseover'); cy.contains('Plugin Template Config').should('be.visible').click(); cy.get(selector.empty).should('be.visible'); cy.contains('Create').click(); diff --git a/web/cypress/e2e/rest/upstream-create_and_edit_upstream_with_no_nodes.cy.js b/web/cypress/e2e/rest/upstream-create_and_edit_upstream_with_no_nodes.cy.js index ce1555679..8acc30bd3 100644 --- a/web/cypress/e2e/rest/upstream-create_and_edit_upstream_with_no_nodes.cy.js +++ b/web/cypress/e2e/rest/upstream-create_and_edit_upstream_with_no_nodes.cy.js @@ -61,9 +61,8 @@ context('Create and Delete Upstream', () => { cy.get(selector.nameSelector).type(data.upstreamName); cy.contains('Search').click(); cy.contains(data.upstreamName).siblings().contains('Configure').click(); - cy.get(selector.upstreamNodeMinus0).should('not.exist'); -cy.contains('button', 'Next').should('not.be.disabled').click(); +cy.contains('button', 'Next').should('not.be.disabled').trigger('mouseover').click(); cy.contains('Submit').click({ force: true, }); diff --git a/web/package.json b/web/package.json index 43efd0d62..fc5029173 100644 --- a/web/package.json +++ b/web/package.json @@ -53,7 +53,7 @@ "dependencies": { "@ant-design/icons": "^4.0.0", "@ant-design/pro-layout": "^6.0.0", -"@ant-design/pro-table":
[apisix-dashboard] branch master updated: fix: plugin_config missing on service exist (#2657)
This is an automated email from the ASF dual-hosted git repository. bzp2010 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 78ade9289 fix: plugin_config missing on service exist (#2657) 78ade9289 is described below commit 78ade92896f5ec84a693ebb9d75c7a728d6501a3 Author: Zeping Bai AuthorDate: Sun Nov 6 11:52:55 2022 +0800 fix: plugin_config missing on service exist (#2657) --- Dockerfile | 4 +- ...emplate-create-plugin-template-with-route.cy.js | 17 +- web/src/pages/Route/transform.ts | 1 + web/yarn.lock | 314 - 4 files changed, 322 insertions(+), 14 deletions(-) diff --git a/Dockerfile b/Dockerfile index d83e35713..f52d24a48 100644 --- a/Dockerfile +++ b/Dockerfile @@ -24,7 +24,7 @@ RUN set -x \ && cd /usr/local/apisix-dashboard && git clean -Xdf \ && rm -f ./.githash && git log --pretty=format:"%h" -1 > ./.githash -FROM golang:1.15 as api-builder +FROM golang:1.19 as api-builder ARG ENABLE_PROXY=false @@ -36,7 +36,7 @@ RUN if [ "$ENABLE_PROXY" = "true" ] ; then go env -w GOPROXY=https://goproxy.io, && go env -w GO111MODULE=on \ && CGO_ENABLED=0 ./api/build.sh -FROM node:14-alpine as fe-builder +FROM node:16-alpine as fe-builder ARG ENABLE_PROXY=false diff --git a/web/cypress/e2e/rest/pluginTemplate-create-plugin-template-with-route.cy.js b/web/cypress/e2e/rest/pluginTemplate-create-plugin-template-with-route.cy.js index 891697762..e7d240384 100644 --- a/web/cypress/e2e/rest/pluginTemplate-create-plugin-template-with-route.cy.js +++ b/web/cypress/e2e/rest/pluginTemplate-create-plugin-template-with-route.cy.js @@ -121,15 +121,6 @@ context('Create PluginTemplate Binding To Route', () => { }); it('should delete the pluginTemplate successfully', function () { -cy.visit('plugin-template/list'); - -cy.get(selector.refresh).click(); -cy.get(selector.descriptionSelector).type(data.pluginTemplateName); -cy.contains('button', 'Search').click(); -cy.contains(data.pluginTemplateName).siblings().contains('Delete').click(); -cy.contains('button', 'Confirm').click(); -cy.get(selector.notification).should('contain', data.deletePluginTemplateSuccess); - cy.visit('/routes/list'); cy.get(selector.nameSelector).type(data.routeName); cy.contains('Search').click(); @@ -141,5 +132,13 @@ context('Create PluginTemplate Binding To Route', () => { cy.contains('OK').click(); }); cy.get(selector.notification).should('contain', data.deleteRouteSuccess); + +cy.visit('plugin-template/list'); +cy.get(selector.refresh).click(); +cy.get(selector.descriptionSelector).type(data.pluginTemplateName); +cy.contains('button', 'Search').click(); +cy.contains(data.pluginTemplateName).siblings().contains('Delete').click(); +cy.contains('button', 'Confirm').click(); +cy.get(selector.notification).should('contain', data.deletePluginTemplateSuccess); }); }); diff --git a/web/src/pages/Route/transform.ts b/web/src/pages/Route/transform.ts index a68667b55..84c77ed9e 100644 --- a/web/src/pages/Route/transform.ts +++ b/web/src/pages/Route/transform.ts @@ -271,6 +271,7 @@ export const transformStepData = ({ data.remote_addrs?.filter(Boolean).length !== 0 ? 'remote_addrs' : '', data.host ? 'host' : '', data.remote_addr ? 'remote_addr' : '', +data.plugin_config_id ? 'plugin_config_id' : '', ]); }; diff --git a/web/yarn.lock b/web/yarn.lock index 0363e1872..63dfc20fc 100644 --- a/web/yarn.lock +++ b/web/yarn.lock @@ -4169,6 +4169,17 @@ array-includes@^3.1.1, array-includes@^3.1.2: get-intrinsic "^1.1.1" is-string "^1.0.5" +array-includes@^3.1.4: + version "3.1.5" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.5.tgz#2c320010db8d31031fd2a5f6b3bbd4b1aad31bdb"; + integrity sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ== + dependencies: +call-bind "^1.0.2" +define-properties "^1.1.4" +es-abstract "^1.19.5" +get-intrinsic "^1.1.1" +is-string "^1.0.7" + array-map@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662"; @@ -4215,6 +4226,16 @@ array.p
[apisix-website] branch master updated: chore: update cover_image (#1390)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/apisix-website.git The following commit(s) were added to refs/heads/master by this push: new 37dae31a33e chore: update cover_image (#1390) 37dae31a33e is described below commit 37dae31a33e0f5c5af44063ec41306820adbea8e Author: Qi Guo <979918...@qq.com> AuthorDate: Wed Nov 2 15:26:21 2022 +0800 chore: update cover_image (#1390) --- blog/en/blog/2022/11/02/apache-apisix-v3-preview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blog/en/blog/2022/11/02/apache-apisix-v3-preview.md b/blog/en/blog/2022/11/02/apache-apisix-v3-preview.md index bb18e620dcc..0830fa86595 100644 --- a/blog/en/blog/2022/11/02/apache-apisix-v3-preview.md +++ b/blog/en/blog/2022/11/02/apache-apisix-v3-preview.md @@ -13,7 +13,7 @@ keywords: - Apache APISIX description: The open source API Gateway Apache APISIX version 3.0 is coming! We have selected 11 essential features to give a brief overview. tags: [Products] -image: https://static-site.apiseven.com/wp-content/uploads/2022/09/APISIX.webp +image: https://static.apiseven.com/2022/10/19/634f6677742a1.png --- > The open source API Gateway Apache APISIX version 3.0 is coming! We have > selected 11 essential features to give a brief overview.
[apisix-website] branch master updated: feat: release APISIX 3.0.0 (#1388)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/apisix-website.git The following commit(s) were added to refs/heads/master by this push: new 8930da55923 feat: release APISIX 3.0.0 (#1388) 8930da55923 is described below commit 8930da55923cbebc9081bf7fef0d9eaa1306fc73 Author: tzssangglass AuthorDate: Wed Nov 2 10:06:29 2022 +0800 feat: release APISIX 3.0.0 (#1388) Signed-off-by: tzssangglass --- config/docs.js | 4 ++-- config/downloads.js | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/config/docs.js b/config/docs.js index 4d2c46d2689..17642233a66 100644 --- a/config/docs.js +++ b/config/docs.js @@ -6,8 +6,8 @@ module.exports = [ shape: 'triangle', color: '#e8433e', githubRepo: 'apache/apisix', -version: '2.99.0', -releaseDate: '2022-09-26', +version: '3.0.0', +releaseDate: '2022-11-02', firstDocPath: '/getting-started', }, { diff --git a/config/downloads.js b/config/downloads.js index 0e28f4901db..07fb9146da5 100644 --- a/config/downloads.js +++ b/config/downloads.js @@ -7,12 +7,12 @@ module.exports = [ color: '#e8433e', githubRepo: 'apache/apisix', githubBranch: 'master', -downloadPath: 'apisix/2.99.0/apache-apisix-2.99.0-src', +downloadPath: 'apisix/3.0.0/apache-apisix-3.0.0-src', dockerhubPath: 'apisix', -version: '3.0.0-beta', +version: '3.0.0', LTSDownloadPath: 'apisix/2.15.0/apache-apisix-2.15.0-src', LTSVersion: '2.15.0', -releaseDate: '2022-09-26', +releaseDate: '2022-11-02', firstDocPath: '/getting-started', }, {
[apisix-helm-chart] branch master updated: fix: grant permission to get endpoint (#381)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/apisix-helm-chart.git The following commit(s) were added to refs/heads/master by this push: new 2d321a4 fix: grant permission to get endpoint (#381) 2d321a4 is described below commit 2d321a4b493f77b762758c11c197210e17b434e2 Author: Zhanjie Jin AuthorDate: Tue Nov 1 09:36:25 2022 +0800 fix: grant permission to get endpoint (#381) Co-authored-by: jinzhanjie --- charts/apisix/templates/clusterrole.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/apisix/templates/clusterrole.yaml b/charts/apisix/templates/clusterrole.yaml index 3f31216..31a4f83 100644 --- a/charts/apisix/templates/clusterrole.yaml +++ b/charts/apisix/templates/clusterrole.yaml @@ -22,5 +22,5 @@ metadata: rules: - apiGroups: [""] resources: ["endpoints"] -verbs: ["list", "watch"] +verbs: ["get", "list", "watch"] {{- end }}
[apisix-dashboard] branch next updated (f6107f0d0 -> cb88aedb8)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a change to branch next in repository https://gitbox.apache.org/repos/asf/apisix-dashboard.git from f6107f0d0 feat : add non-invasive user access control framework (#2589) add cb88aedb8 chore: change error report content in frontend (#2603) No new revisions were added by this update. Summary of changes: docs/en/latest/backend-authentication.md | 48 web/src/constants.ts | 2 +- 2 files changed, 38 insertions(+), 12 deletions(-)
[apisix-website] branch master updated: fix: ignore docs submodule (#1385)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/apisix-website.git The following commit(s) were added to refs/heads/master by this push: new 706c4adffe7 fix: ignore docs submodule (#1385) 706c4adffe7 is described below commit 706c4adffe7ffd3ac01494da674cd289d17c9316 Author: Young AuthorDate: Mon Oct 31 09:12:25 2022 +0800 fix: ignore docs submodule (#1385) --- .github/workflows/deploy.yml | 12 ++-- scripts/sync-docs.js | 28 ++-- 2 files changed, 24 insertions(+), 16 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index ac493853e75..4aa4e5d9a46 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -11,7 +11,7 @@ on: branches: [master] schedule: # Run everyday at 9:00 AM (See https://pubs.opengroup.org/onlinepubs/9699919799/utilities/crontab.html#tag_20_25_07) -- cron: "0 5 * * *" +- cron: '0 5 * * *' # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: @@ -29,7 +29,7 @@ jobs: - uses: actions/setup-node@v3 with: - node-version: "16" + node-version: '16' - name: Get node version id: node-version @@ -73,9 +73,9 @@ jobs: with: path: | ./scripts/temp - key: ${{ runner.os }}-dep-${{ steps.node-version.outputs.ver }}-docs-${{ hashFiles('website/config/apisix-versions.js') }}-${{ steps.get-date.outputs.date }} + key: ${{ runner.os }}-${{ steps.node-version.outputs.ver }}-docs-${{ hashFiles('website/config/apisix-versions.js') }}-${{ steps.get-date.outputs.date }} restore-keys: | -${{ runner.os }}-dep-${{ steps.node-version.outputs.ver }}-docs-${{ hashFiles('website/config/apisix-versions.js') }} +${{ runner.os }}-${{ steps.node-version.outputs.ver }}-docs-${{ hashFiles('website/config/apisix-versions.js') }} - name: Sync documents run: | @@ -112,9 +112,9 @@ jobs: uses: ./.github/actions/actions-netlify if: ${{ false }} with: - publish-dir: "./website/build" + publish-dir: './website/build' github-token: ${{ secrets.GITHUB_TOKEN }} - deploy-message: "${{ github.event.pull_request.title }}, Deploy from GitHub Actions" + deploy-message: '${{ github.event.pull_request.title }}, Deploy from GitHub Actions' enable-pull-request-comment: true enable-commit-comment: true overwrites-pull-request-comment: true diff --git a/scripts/sync-docs.js b/scripts/sync-docs.js index d5fc18aa00f..f00239dbc9b 100644 --- a/scripts/sync-docs.js +++ b/scripts/sync-docs.js @@ -33,23 +33,27 @@ const tasks = new Listr([ const gitTasks = projects.map((project) => ({ title: `Clone ${project.name} repository`, task: async () => { - const dir = `${tempPath}/${project.name}/`; + const { name } = project; + const dir = `${tempPath}/${name}/`; const exist = await isDirExisted(dir); if (exist) { -gitMap[project.name] = simpleGit(dir); -await gitMap[project.name].cwd(dir).fetch(); +gitMap[name] = simpleGit(dir); +await gitMap[name] + .cwd(dir) + .fetch(['--prune', '--filter=blob:none', '--recurse-submodules=no']); } else { -gitMap[project.name] = simpleGit(); -await gitMap[project.name] - .clone(`https://github.com/apache/${project.name}.git`, dir, { +gitMap[name] = simpleGit(); +await gitMap[name] + .clone(`https://github.com/apache/${name}.git`, dir, { '--filter': 'blob:none', '--sparse': true, +'--recurse-submodules': 'no', }) .cwd(dir) .raw(['sparse-checkout', 'set', 'docs']); -if (project.name === 'apisix') { - await gitMap[project.name] +if (name === 'apisix') { + await gitMap[name] .cwd(dir) .raw(['sparse-checkout', 'add', 'apisix/core', 'autodocs']); } @@ -72,7 +76,8 @@ const tasks = new Listr([ const isIngressController = project.name === 'apisix-ingress-controller'; projectReleases[project.name] = ret.all .filter((release) => (isIngressController - ? release.includes('remotes/ori
[apisix-dashboard] branch next updated (375cff105 -> f6107f0d0)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a change to branch next in repository https://gitbox.apache.org/repos/asf/apisix-dashboard.git from 375cff105 fix: change expect when cypress try login (#2645) add f6107f0d0 feat : add non-invasive user access control framework (#2589) No new revisions were added by this update. Summary of changes: .licenserc.yaml| 1 + api/config/config.yaml | 1 + api/internal/config/config.go | 4 +- api/internal/config/structs.go | 1 + api/internal/filter/authentication.go | 1 + api/internal/filter/iam/iam.go | 67 ++ api/internal/filter/iam/iam_test.go| 99 api/internal/route.go | 10 +- api/pkg/iam/demo/access.go | 101 + web/.editorconfig => api/pkg/iam/demo/model.conf | 24 +++-- api/pkg/iam/demo/policy.csv| 53 +++ .../version_suite_test.go => pkg/iam/interface.go} | 12 +-- api/test/shell/cli_test.sh | 39 docs/en/latest/FAQ.md | 8 +- docs/en/latest/backend-authentication.md | 45 + go.mod | 66 ++ go.sum | 74 +++ 17 files changed, 579 insertions(+), 27 deletions(-) create mode 100644 api/internal/filter/iam/iam.go create mode 100644 api/internal/filter/iam/iam_test.go create mode 100644 api/pkg/iam/demo/access.go copy web/.editorconfig => api/pkg/iam/demo/model.conf (76%) create mode 100644 api/pkg/iam/demo/policy.csv copy api/{test/e2e/version/version_suite_test.go => pkg/iam/interface.go} (82%) create mode 100644 docs/en/latest/backend-authentication.md
[apisix-dashboard] branch master updated: feat: add etcd store auto re-initialize (#2650)
This is an automated email from the ASF dual-hosted git repository. bzp2010 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 f64372fd5 feat: add etcd store auto re-initialize (#2650) f64372fd5 is described below commit f64372fd5425c2660ba7918123d664f3b74d8c6d Author: Zeping Bai AuthorDate: Sat Oct 29 18:51:39 2022 +0800 feat: add etcd store auto re-initialize (#2650) --- .github/workflows/backend-cli-test.yml | 15 +- .github/workflows/backend-e2e-test.yml | 2 +- .github/workflows/release-test.yml | 2 +- api/cmd/root.go| 64 api/go.mod | 23 +-- api/go.sum | 285 ++--- api/internal/core/server/store.go | 4 +- api/internal/core/storage/etcd.go | 54 +++ api/internal/core/store/store.go | 121 +- api/internal/utils/closer.go | 4 +- api/test/docker/Dockerfile | 2 +- api/test/shell/cli_test.sh | 117 +- 12 files changed, 370 insertions(+), 323 deletions(-) diff --git a/.github/workflows/backend-cli-test.yml b/.github/workflows/backend-cli-test.yml index 228dfa4b4..bde9502de 100644 --- a/.github/workflows/backend-cli-test.yml +++ b/.github/workflows/backend-cli-test.yml @@ -17,21 +17,18 @@ jobs: runs-on: ubuntu-latest strategy: matrix: -etcd: [3.4.14] -services: - etcd: -image: bitnami/etcd:${{ matrix.etcd }} -ports: - - 2379:2379 - - 2380:2380 -env: - ALLOW_NONE_AUTHENTICATION: yes +etcd: [3.4.20] steps: - uses: actions/checkout@v3 with: submodules: recursive + - name: setup go +uses: actions/setup-go@v3 +with: + go-version: '1.19' + - name: cache etcd id: cache-etcd uses: actions/cache@v3 diff --git a/.github/workflows/backend-e2e-test.yml b/.github/workflows/backend-e2e-test.yml index 1d6b7307a..d99ab23a4 100644 --- a/.github/workflows/backend-e2e-test.yml +++ b/.github/workflows/backend-e2e-test.yml @@ -26,7 +26,7 @@ jobs: - name: setup go uses: actions/setup-go@v3 with: - go-version: "1.18" + go-version: "1.19" - uses: docker/setup-buildx-action@v2 diff --git a/.github/workflows/release-test.yml b/.github/workflows/release-test.yml index 9e96e15e7..0e11793e9 100644 --- a/.github/workflows/release-test.yml +++ b/.github/workflows/release-test.yml @@ -45,7 +45,7 @@ jobs: - name: setup go uses: actions/setup-go@v3 with: - go-version: '1.15' + go-version: '1.19' - uses: actions/cache@v3 with: diff --git a/api/cmd/root.go b/api/cmd/root.go index 984f54e1a..4d3e03361 100644 --- a/api/cmd/root.go +++ b/api/cmd/root.go @@ -17,15 +17,19 @@ package cmd import ( + "context" "fmt" "os" "os/signal" "syscall" + "time" "github.com/spf13/cobra" "github.com/apisix/manager-api/internal/conf" "github.com/apisix/manager-api/internal/core/server" + "github.com/apisix/manager-api/internal/core/storage" + "github.com/apisix/manager-api/internal/core/store" "github.com/apisix/manager-api/internal/log" ) @@ -66,6 +70,9 @@ func manageAPI() error { errSig := make(chan error, 5) s.Start(errSig) + // start etcd connection checker + stopEtcdConnectionChecker := etcdConnectionChecker() + // Signal received to the process externally. quit := make(chan os.Signal, 1) signal.Notify(quit, syscall.SIGINT, syscall.SIGTERM) @@ -73,6 +80,7 @@ func manageAPI() error { select { case sig := <-quit: log.Infof("The Manager API server receive %s and start shutting down", sig.String()) + stopEtcdConnectionChecker() s.Stop() log.Infof("See you next time!") case err := <-errSig: @@ -81,3 +89,59 @@ func manageAPI() error { } return nil } + +func etcdConnectionChecker() context.CancelFunc { + ctx, cancel := context.WithCancel(context.TODO()) + unavailableTimes := 0 + + go func() { + etcdClient := storage.GenEtcdStorage().GetClient() + for { + select { + case <-time.Tick(10 * time.Second): + sCtx, sCancel := context.WithTimeout(ctx, 5*time.Second) + err := etcdClient.Sync(sCtx) +
[apisix-dashboard] branch next updated (61f49fd22 -> 375cff105)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a change to branch next in repository https://gitbox.apache.org/repos/asf/apisix-dashboard.git from 61f49fd22 fix: authentication handler input annotation (#2644) add 375cff105 fix: change expect when cypress try login (#2645) No new revisions were added by this update. Summary of changes: web/cypress/support/commands.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
[apisix-dashboard] branch next updated (530b24812 -> 61f49fd22)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a change to branch next in repository https://gitbox.apache.org/repos/asf/apisix-dashboard.git from 530b24812 feat: improve resource handler (#2643) add 61f49fd22 fix: authentication handler input annotation (#2644) No new revisions were added by this update. Summary of changes: .github/workflows/release-test.yml| 9 - api/internal/handler/authentication/authentication.go | 4 ++-- api/internal/handler/handler.go | 2 +- 3 files changed, 3 insertions(+), 12 deletions(-)
[apisix-dashboard] branch next updated (8e591ff53 -> 530b24812)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a change to branch next in repository https://gitbox.apache.org/repos/asf/apisix-dashboard.git from 8e591ff53 fix: update request interceptor (#2642) add 530b24812 feat: improve resource handler (#2643) No new revisions were added by this update. Summary of changes: api/internal/handler/resources/resources.go | 118 ++-- 1 file changed, 60 insertions(+), 58 deletions(-)
[apisix-website] branch master updated: fix: improve visibility of Blog page in dark mode (#1359)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/apisix-website.git The following commit(s) were added to refs/heads/master by this push: new af300b8100c fix: improve visibility of Blog page in dark mode (#1359) af300b8100c is described below commit af300b8100ce808817cd85515a7cf5110939e7e9 Author: Mo <86521894+mys1...@users.noreply.github.com> AuthorDate: Tue Oct 18 18:08:55 2022 +0800 fix: improve visibility of Blog page in dark mode (#1359) --- blog/en/docusaurus.config.js | 2 +- blog/src/css/customTheme.scss | 5 +++-- blog/src/theme/BlogLayout/style.module.scss| 18 ++-- blog/src/theme/BlogPosts/style.module.scss | 20 +++--- .../NavbarItem/LocaleDropdownNavbarItem/index.tsx | 14 +++-- .../LocaleDropdownNavbarItem/styles.module.css | 4 blog/zh/docusaurus.config.js | 2 +- .../NavbarItem/LocaleDropdownNavbarItem/index.tsx | 24 -- .../LocaleDropdownNavbarItem/styles.module.css | 4 .../NavbarItem/LocaleDropdownNavbarItem/index.tsx | 24 -- .../LocaleDropdownNavbarItem/styles.module.css | 4 11 files changed, 102 insertions(+), 19 deletions(-) diff --git a/blog/en/docusaurus.config.js b/blog/en/docusaurus.config.js index 35b30f9cb6b..83a61e7d07c 100644 --- a/blog/en/docusaurus.config.js +++ b/blog/en/docusaurus.config.js @@ -96,7 +96,7 @@ module.exports = { }, colorMode: { defaultMode: 'light', - disableSwitch: true, + disableSwitch: false, respectPrefersColorScheme: false, }, image: 'https://static.apiseven.com/202202/apache-apisix.png', diff --git a/blog/src/css/customTheme.scss b/blog/src/css/customTheme.scss index 674a521410e..ab925baa009 100644 --- a/blog/src/css/customTheme.scss +++ b/blog/src/css/customTheme.scss @@ -35,6 +35,7 @@ } html[data-theme="dark"] { + --ifm-color-primary: #db433e; --color-secondary-bg: #121212; --ifm-color-dark: #b0b0b0; --color-title: #f0f0f0; @@ -141,7 +142,7 @@ div.inner { } header h2 { - color: var(--color-primary); + color: var(--color-title); } @media only screen and (max-width: 414px) { @@ -233,7 +234,7 @@ a { } a:hover { - color: var(--color-primary); + color: var(--ifm-color-dark); text-decoration: none; } diff --git a/blog/src/theme/BlogLayout/style.module.scss b/blog/src/theme/BlogLayout/style.module.scss index 2ecfc56436e..4b84281471a 100644 --- a/blog/src/theme/BlogLayout/style.module.scss +++ b/blog/src/theme/BlogLayout/style.module.scss @@ -27,9 +27,13 @@ width: 100%; flex-wrap: wrap; padding: 0.25rem 1rem; - transition: all 0.3s ease-in-out; - border-bottom: 1px solid #e8e8ed; + transition: color 0.3s ease-in-out; font-family: apple-system, system-ui, sans-serif; + border-bottom: 1px solid #e8e8ed; + + html[data-theme="dark"] & { +border-bottom: 1px solid #252525; + } &::before { content: ""; @@ -38,6 +42,7 @@ z-index: -1; position: absolute; top: 0; +left: 0; backdrop-filter: blur(12px); } @@ -47,10 +52,15 @@ font-weight: 400; font-size: 14px; transition: inherit; +color: var(--color-title); &:default { color: #1d1d1f; } + +&:hover { + color: var(--ifm-color-primary); +} } &.expand { @@ -59,6 +69,10 @@ &::before { background-color: hsl(100deg 100% 100% / 85%); + + html[data-theme="dark"] & { +background-color: hsl(0deg 0% 0% / 85%); + } } > a { diff --git a/blog/src/theme/BlogPosts/style.module.scss b/blog/src/theme/BlogPosts/style.module.scss index 913110b4ad7..bebaaabadbe 100644 --- a/blog/src/theme/BlogPosts/style.module.scss +++ b/blog/src/theme/BlogPosts/style.module.scss @@ -96,6 +96,10 @@ width: $width !important; transform-origin: center center; transition: all 0.3s ease-in-out !important; + +html[data-theme="dark"] & { + filter: brightness(0.85); +} } } @@ -125,18 +129,12 @@ h2 { font-size: 1.375rem; line-height: 1.2em; - color: #222; margin-top: 0.8rem; margin-bottom: 0.5em; transition: all 0.3s ease-in-out; - - &:hover { -opacity: 0.6; - } } p { - color: #1d1d1f; max-height: #{1.7 * 3}em; overflow-y: hidden; text-overflow: ellipsis; @@ -148,11 +146,19 @@ & .footer { display: flex; align-items: center; + +& > time { + opacity: 0.9; +} } & .authors {
[apisix-dashboard] branch next updated (e77193548 -> 8e591ff53)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a change to branch next in repository https://gitbox.apache.org/repos/asf/apisix-dashboard.git from e77193548 refactor: backend e2e CI (#2638) add 8e591ff53 fix: update request interceptor (#2642) No new revisions were added by this update. Summary of changes: web/src/app.tsx | 4 ++-- web/src/typings.d.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-)
[apisix-dashboard] branch next updated (005ed14c4 -> e77193548)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a change to branch next in repository https://gitbox.apache.org/repos/asf/apisix-dashboard.git from 005ed14c4 break: remove interference for v3 (#2611) add e77193548 refactor: backend e2e CI (#2638) No new revisions were added by this update. Summary of changes: .github/workflows/backend-e2e-test.yml | 60 -- api/test/docker/Dockerfile | 41 ++- api/test/docker/apisix_config2.yaml| 98 .../httpbin.yaml => docker/apisix_config_v3.yaml} | 60 +++--- ...{docker-compose.yaml => docker-compose-v3.yaml} | 128 + 5 files changed, 106 insertions(+), 281 deletions(-) delete mode 100644 api/test/docker/apisix_config2.yaml copy api/test/{testdata/import/httpbin.yaml => docker/apisix_config_v3.yaml} (54%) copy api/test/docker/{docker-compose.yaml => docker-compose-v3.yaml} (52%)
[apisix-website] branch master updated: fix: rm lts unmaintained banner (#1350)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/apisix-website.git The following commit(s) were added to refs/heads/master by this push: new afb2281b271 fix: rm lts unmaintained banner (#1350) afb2281b271 is described below commit afb2281b271c2e525b20b37f690f0da734dc31bf Author: Young AuthorDate: Fri Sep 30 11:07:40 2022 +0800 fix: rm lts unmaintained banner (#1350) --- doc/docusaurus.config.js | 5 + 1 file changed, 5 insertions(+) diff --git a/doc/docusaurus.config.js b/doc/docusaurus.config.js index 0f8703d1aa7..0e3debe96c3 100644 --- a/doc/docusaurus.config.js +++ b/doc/docusaurus.config.js @@ -88,6 +88,11 @@ module.exports = { version, }); }, +versions: { + 2.15: { +banner: 'none', + }, +}, }, ], [
[apisix-docker] branch master updated: refactor(ci): test before push to docker hub (#358)
This is an automated email from the ASF dual-hosted git repository. bzp2010 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 aa007b9 refactor(ci): test before push to docker hub (#358) aa007b9 is described below commit aa007b98cd563e6d7819d12c9aface65af97b8b5 Author: soulbird AuthorDate: Tue Sep 20 11:50:44 2022 +0800 refactor(ci): test before push to docker hub (#358) Co-authored-by: soulbird --- .github/workflows/apisix-docker-dev-test.yaml | 65 --- .github/workflows/apisix-docker-test.yaml | 65 --- .github/workflows/apisix_dev_push_docker_hub.yaml | 33 .github/workflows/apisix_push_docker_hub.yaml | 48 +++-- .github/workflows/dashboard-docker-test.yaml | 47 .github/workflows/dashboard_push_docker_hub.yaml | 34 6 files changed, 111 insertions(+), 181 deletions(-) diff --git a/.github/workflows/apisix-docker-dev-test.yaml b/.github/workflows/apisix-docker-dev-test.yaml deleted file mode 100644 index b254473..000 --- a/.github/workflows/apisix-docker-dev-test.yaml +++ /dev/null @@ -1,65 +0,0 @@ -name: APISIX Docker dev Test - -on: - schedule: -- cron: "0 1 * * *" - push: -branches: [master] -paths-ignore: - - 'docs/**' - - '**/*.md' - -jobs: - build: -strategy: - fail-fast: false - matrix: -platform: - - debian-dev - -runs-on: ubuntu-latest -env: - APISIX_VERSION: master - APISIX_DOCKER_TAG: master-${{ matrix.platform }} -steps: - - uses: actions/checkout@v2 - - - name: Build and run -run: | - make build-on-${{ matrix.platform }} - docker-compose -f ./compose/docker-compose-master.yaml up -d - sleep 30 - docker logs compose_apisix_1 - - - name: Test -run: | - grep -C 3 '\[error\]' compose/apisix_log/error.log && exit 1 - - curl http://127.0.0.1:9180/apisix/admin/routes/1 \ - -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d ' -{ -"uri": "/get", -"upstream": { -"type": "roundrobin", -"nodes": { -"httpbin.org:80": 1 -} -} - }' - - result_code=`curl -I -m 10 -o /dev/null -s -w %{http_code} http://127.0.0.1:9080/get` - if [[ $result_code -ne 200 ]];then - printf "result_code: %s\n" "$result_code" - exit 125 - fi - - - name: Tar Image -if: ${{ !endsWith(matrix.platform, '-local') && !endsWith(matrix.platform, '-dev') }} -run: | - make save-${{ matrix.platform }}-tar - - - name: Upload Image -if: ${{ !endsWith(matrix.platform, '-local') && !endsWith(matrix.platform, '-dev') }} -uses: actions/upload-artifact@v2 -with: - path: ./package diff --git a/.github/workflows/apisix-docker-test.yaml b/.github/workflows/apisix-docker-test.yaml deleted file mode 100644 index 95f1025..000 --- a/.github/workflows/apisix-docker-test.yaml +++ /dev/null @@ -1,65 +0,0 @@ -name: APISIX Docker Test - -on: - push: -branches: - - master - pull_request: -branches: - - master - -jobs: - build: -strategy: - fail-fast: false - matrix: -platform: - - alpine - - centos - - debian - -runs-on: ubuntu-latest -env: - APISIX_DOCKER_TAG: 2.15.0-${{ matrix.platform }} -steps: - - uses: actions/checkout@v2 - - - name: Build and run -run: | - make build-on-${{ matrix.platform }} - docker-compose -f ./compose/docker-compose-release.yaml up -d - sleep 30 - docker logs compose_apisix_1 - - - name: Test -run: | - grep -C 3 '\[error\]' compose/apisix_log/error.log && exit 1 - - curl http://127.0.0.1:9080/apisix/admin/routes/1 \ - -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d ' -{ -"uri": "/get", -"upstream": { -"type": "roundrobin", -"nodes": { -"httpbin.org:80": 1 -} -} - }' - - result_code=`curl -I -m 10 -o /dev/null -s -w %{http_code} http://127.0.0.1:9080/get` - if [[ $result_code -ne 200 ]];then - printf "result_code: %s\n" "$result_code" -
[apisix-website] branch master updated: feat: use first blog as featured (#1329)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/apisix-website.git The following commit(s) were added to refs/heads/master by this push: new 76e14631bca feat: use first blog as featured (#1329) 76e14631bca is described below commit 76e14631bca10d25bbfff164857d0f1d297c3137 Author: Young AuthorDate: Tue Sep 20 09:25:39 2022 +0800 feat: use first blog as featured (#1329) --- blog/src/theme/BlogPosts/index.tsx | 14 +- blog/src/theme/BlogPosts/style.module.scss | 4 ++-- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/blog/src/theme/BlogPosts/index.tsx b/blog/src/theme/BlogPosts/index.tsx index be0299685e8..cb17038b93e 100644 --- a/blog/src/theme/BlogPosts/index.tsx +++ b/blog/src/theme/BlogPosts/index.tsx @@ -199,12 +199,12 @@ const PickedBlogItem: FC = ({ truncated={info.summary} {...{ delayMethod, delayTime, useIntersectionObserver }} > - +{/* {translate({ id: 'blog.picked.posts.component.title', message: 'Featured', })} - + */} {info.summary} ); @@ -233,7 +233,7 @@ const BlogPosts: FC = ({ // max picked posts const max = pickedPosts.length > 6 ? 6 : pickedPosts.length; - const endIdx = isFirstPage ? 3 * Math.floor(max / 3) : 3; + const endIdx = 3 * Math.floor(max / 3); const { pathname } = useLocation(); return ( @@ -253,7 +253,11 @@ const BlogPosts: FC = ({ [style.firstPage]: isFirstPage, })} > - {posts[0]} + @@ -268,7 +272,7 @@ const BlogPosts: FC = ({ })} > {pickedPosts - .slice(0, endIdx) + .slice(1, endIdx + 1) .map((info) => (
[apisix-dashboard] branch next updated (0fd048c60 -> 005ed14c4)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a change to branch next in repository https://gitbox.apache.org/repos/asf/apisix-dashboard.git from 0fd048c60 feat: add feature gate (#2591) add 005ed14c4 break: remove interference for v3 (#2611) No new revisions were added by this update. Summary of changes: api/build.sh |5 +- api/config/config.yaml | 14 +- api/config/customize_schema.json | 33 - api/config/schema.json | 8646 api/internal/config/config.go | 63 - api/internal/core/entity/entity.go | 315 - api/internal/core/entity/format.go | 101 - api/internal/core/entity/format_test.go| 295 - api/internal/core/entity/interface.go | 45 - api/internal/core/server/http.go | 13 - api/internal/core/server/server.go |6 - api/internal/core/server/store.go | 47 - api/internal/core/storage/adminapi.go | 190 - api/internal/core/storage/etcd.go | 238 - api/internal/core/storage/mock.go | 132 - api/internal/core/store/store.go | 391 - api/internal/core/store/store_mock.go | 80 - api/internal/core/store/store_test.go | 813 -- api/internal/core/store/storehub.go| 248 - api/internal/core/store/test_case.json | 19 - api/internal/core/store/validate.go| 324 - api/internal/core/store/validate_mock.go | 35 - api/internal/core/store/validate_test.go | 484 -- api/internal/filter/authentication.go |2 +- api/internal/filter/schema.go | 242 - .../handler/authentication/authentication.go | 80 +- api/internal/handler/consumer/consumer.go | 193 - api/internal/handler/data_loader/loader/loader.go | 44 - .../handler/data_loader/loader/openapi3/export.go | 24 - .../handler/data_loader/loader/openapi3/import.go | 131 - .../data_loader/loader/openapi3/import_test.go | 119 - .../data_loader/loader/openapi3/openapi3.go| 41 - api/internal/handler/data_loader/route_export.go | 512 -- .../handler/data_loader/route_export_test.go | 2405 -- api/internal/handler/data_loader/route_import.go | 314 - .../handler/data_loader/route_import_test.go | 65 - api/internal/handler/global_rule/global_rule.go| 203 - api/internal/handler/handler.go| 146 +- api/internal/handler/handler_test.go | 145 - api/internal/handler/healthz/healthz.go| 41 - api/internal/handler/label/label.go| 271 - .../handler/{tool/tool.go => misc/misc.go} | 30 +- .../handler/plugin_config/plugin_config.go | 268 - api/internal/handler/proto/proto.go| 261 - api/internal/handler/proto/proto_test.go | 47 - api/internal/handler/resources/resources.go| 254 + api/internal/handler/route/route.go| 597 -- .../route_online_debug/route_online_debug.go | 173 - api/internal/handler/schema/plugin.go | 72 - api/internal/handler/schema/schema.go | 89 - api/internal/handler/server_info/server_info.go| 90 - api/internal/handler/service/service.go| 306 - api/internal/handler/ssl/ssl.go| 498 -- api/internal/handler/stream_route/stream_route.go | 187 - .../handler/system_config/system_config.go | 110 - api/internal/handler/tool/tool_test.go | 40 - api/internal/handler/upstream/upstream.go | 390 - api/internal/route.go | 49 +- api/pkg/storage/interface.go | 51 - api/test/e2e/version/version_test.go |2 +- go.mod | 74 +- go.sum | 401 +- web/config/defaultSettings.ts |2 +- 63 files changed, 493 insertions(+), 21013 deletions(-) delete mode 100644 api/config/customize_schema.json delete mode 100644 api/config/schema.json delete mode 100644 api/internal/core/entity/entity.go delete mode 100644 api/internal/core/entity/format.go delete mode 100644 api/internal/core/entity/format_test.go delete mode 100644 api/internal/core/entity/interface.go delete mode 100644 api/internal/core/server/store.go delete mode 100644 api/internal/core/storage/adminapi.go delete mode 100644 api/internal/core/storage/etcd.go delete mode 100644 api/internal/core/storage/mock.go delete mode 100644 api/internal/core/store/store.go delete mode 100644 api/internal/core/store/store_mock.go delete mode 100644 api/internal/core/st
[apisix-python-plugin-runner] branch master updated: fix: socket file permission (#55)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/apisix-python-plugin-runner.git The following commit(s) were added to refs/heads/master by this push: new 250b936 fix: socket file permission (#55) 250b936 is described below commit 250b936f489fc540c465b434d427834448104ac4 Author: Young AuthorDate: Mon Sep 19 14:00:10 2022 +0800 fix: socket file permission (#55) --- apisix/runner/server/server.py| 6 + ci/apisix/config.yaml | 40 ++- ci/docker-compose.yml | 1 + tests/e2e/plugins/plugins_rewrite_test.go | 2 +- tests/e2e/plugins/plugins_stop_test.go| 2 +- tests/e2e/tools/tools.go | 10 ++-- 6 files changed, 46 insertions(+), 15 deletions(-) diff --git a/apisix/runner/server/server.py b/apisix/runner/server/server.py index eb7cd3a..347d51b 100644 --- a/apisix/runner/server/server.py +++ b/apisix/runner/server/server.py @@ -84,6 +84,12 @@ class Server: self.sock.bind(self.fd) self.sock.listen(1024) +# the default socket permission is 0755, which prevents the 'nobody' worker process +# from writing to it if the APISIX is run under root. +os.chmod(self.fd, 0o766) +if os.stat(self.fd).st_mode & 0xfff != 0o766: +raise Exception("can't change mode for unix socket permission to 766") + self.logger = NewServerLogger(config.logging.level) print("listening on unix:%s" % self.fd) diff --git a/ci/apisix/config.yaml b/ci/apisix/config.yaml index 379137a..455f2b2 100644 --- a/ci/apisix/config.yaml +++ b/ci/apisix/config.yaml @@ -16,21 +16,39 @@ # apisix: - allow_admin: -- 0.0.0.0/0 + node_listen: +- 9080 enable_control: true control: ip: "0.0.0.0" port: 9092 - admin_key: -- name: admin - key: edd1c9f034335f136f87ad84b625c8f1 - role: admin -etcd: - host: - - http://etcd:2379 - prefix: "/apisix" - timeout: 30 + +deployment: + role: traditional + role_traditional: +config_provider: etcd + admin: +admin_key: + - +name: admin +key: edd1c9f034335f136f87ad84b625c8f1 +role: admin + +enable_admin_cors: true +allow_admin: + - 0.0.0.0/0 +admin_listen: + ip: 0.0.0.0 + port: 9180 + +admin_api_version: v3 + + etcd: +host: + - "http://etcd:2379"; +timeout: 30 +startup_retry: 2 + ext-plugin: path_for_test: /tmp/runner.sock nginx_config: diff --git a/ci/docker-compose.yml b/ci/docker-compose.yml index 0843858..40faba1 100644 --- a/ci/docker-compose.yml +++ b/ci/docker-compose.yml @@ -27,6 +27,7 @@ services: depends_on: - etcd ports: + - "9180:9180/tcp" - "9080:9080/tcp" - "9091:9091/tcp" - "9443:9443/tcp" diff --git a/tests/e2e/plugins/plugins_rewrite_test.go b/tests/e2e/plugins/plugins_rewrite_test.go index 31056e8..4a23e99 100644 --- a/tests/e2e/plugins/plugins_rewrite_test.go +++ b/tests/e2e/plugins/plugins_rewrite_test.go @@ -32,7 +32,7 @@ var _ = ginkgo.Describe("Rewrite Plugin", func() { tools.RunTestCase(tc) }, table.Entry("create python runner rewrite plugin route success", tools.HttpTestCase{ - Object: tools.GetA6Expect(), + Object: tools.PutA6Conf(), Method: http.MethodPut, Path: "/apisix/admin/routes/1", Body: `{ diff --git a/tests/e2e/plugins/plugins_stop_test.go b/tests/e2e/plugins/plugins_stop_test.go index 19f7410..930c1ba 100644 --- a/tests/e2e/plugins/plugins_stop_test.go +++ b/tests/e2e/plugins/plugins_stop_test.go @@ -32,7 +32,7 @@ var _ = ginkgo.Describe("Stop Plugin", func() { tools.RunTestCase(tc) }, table.Entry("create python runner stop plugin route success", tools.HttpTestCase{ - Object: tools.GetA6Expect(), + Object: tools.PutA6Conf(), Method: http.MethodPut, Path: "/apisix/admin/routes/1", Body: `{ diff --git a/tests/e2e/tools/tools.go b/tests/e2e/tools/tools.go index 064d93b..69af9d4 100644 --- a/tests/e2e/tools/tools.go +++ b/tests/e2e/tools/tools.go @@ -27,16 +27,22 @@ import ( var ( token = "edd1c9f034335f136f87ad84b625c8f1" - A6Host = "http://127.0.0.1:9080"; + A6_CP_Host = "http://127.0.0.1:9180"; + A6_DP_Host = "http://127.0.0.1:9080"; ) func GetAdminToken() string { return token } +func PutA6C
[apisix-dashboard] branch master updated: docs: add Slack invitation link badge (#2617)
This is an automated email from the ASF dual-hosted git repository. bzp2010 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 b777d99be docs: add Slack invitation link badge (#2617) b777d99be is described below commit b777d99be72bfaca96561047218d36aa213da952 Author: Baoyuan AuthorDate: Wed Sep 14 16:48:30 2022 +0800 docs: add Slack invitation link badge (#2617) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index baf36220a..607775cd6 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,7 @@ [![Go Report Card](https://goreportcard.com/badge/github.com/apache/apisix-dashboard)](https://goreportcard.com/report/github.com/apache/apisix-dashboard) [![DockerHub](https://img.shields.io/docker/pulls/apache/apisix-dashboard.svg)](https://hub.docker.com/r/apache/apisix-dashboard) [![Cypress.io](https://img.shields.io/badge/tested%20with-Cypress-04C38E.svg)](https://www.cypress.io/) +[![Slack](https://badgen.net/badge/Slack/Join%20Apache%20APISIX?icon=slack)](https://apisix.apache.org/slack) https://apisix.apache.org/";>Website •
[apisix-go-plugin-runner] branch master updated: docs: add container build guide (#104)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/apisix-go-plugin-runner.git The following commit(s) were added to refs/heads/master by this push: new d6805db docs: add container build guide (#104) d6805db is described below commit d6805db1083d1958ccc0d1fb1c0d015dc6d64d15 Author: Zeping Bai AuthorDate: Tue Sep 13 13:38:02 2022 +0800 docs: add container build guide (#104) --- docs/en/latest/getting-started.md | 26 ++ 1 file changed, 26 insertions(+) diff --git a/docs/en/latest/getting-started.md b/docs/en/latest/getting-started.md index c04ce19..093de73 100644 --- a/docs/en/latest/getting-started.md +++ b/docs/en/latest/getting-started.md @@ -259,6 +259,8 @@ We can see that the interface returns hello and does not access anything upstrea ### Setting up APISIX (running) + Setting up directly + Here's an example of go-runner, you just need to configure the command line to run it inside ext-plugin: ``` @@ -270,3 +272,27 @@ ext-plugin: APISIX will treat the plugin runner as a child process of its own, managing its entire lifecycle. APISIX will automatically assign a unix socket address for the runner to listen to when it starts. environment variables do not need to be set manually. + + Setting up in container + +First you need to prepare the go-runner binary. Use this command: + +```shell +make build +``` + +:::note +When you use a Linux distribution such as Alpine Linux that is not based on standard glibc, you must turn off Golang's CGO support via the `CGO_ENABLED=0` environment variable to avoid libc ABI incompatibilities. + +If you want to use CGO, then you must build the binaries using the Go compiler and the C compiler in the same Linux distribution. +::: + +Then you need to rebuild the container image to include the go-runner binary. You can use the following Dockerfile: + +``` +FROM apache/apisix:2.15.0-debian + +COPY ./go-runner /usr/local/apisix-go-plugin-runner/go-runner +``` + +Finally, you can push and run your custom image, just configure the binary path and commands in the configuration file via `ext-plugin.cmd` to start APISIX with go plugin runner.
[apisix-docker] branch master updated: fix: add missing stopsignal (#349)
This is an automated email from the ASF dual-hosted git repository. bzp2010 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 460c397 fix: add missing stopsignal (#349) 460c397 is described below commit 460c397884efe5bbd3fd5856c88a19e0b58c9580 Author: Zeping Bai AuthorDate: Wed Sep 7 09:12:13 2022 +0800 fix: add missing stopsignal (#349) --- centos/Dockerfile | 1 + debian/Dockerfile | 2 ++ 2 files changed, 3 insertions(+) diff --git a/centos/Dockerfile b/centos/Dockerfile index 9825227..97199cc 100644 --- a/centos/Dockerfile +++ b/centos/Dockerfile @@ -35,3 +35,4 @@ EXPOSE 9080 9443 CMD ["sh", "-c", "/usr/bin/apisix init && /usr/bin/apisix init_etcd && /usr/local/openresty/bin/openresty -p /usr/local/apisix -g 'daemon off;'"] +STOPSIGNAL SIGQUIT diff --git a/debian/Dockerfile b/debian/Dockerfile index 641b6fd..fa69356 100644 --- a/debian/Dockerfile +++ b/debian/Dockerfile @@ -56,3 +56,5 @@ RUN ln -sf /dev/stdout /usr/local/apisix/logs/access.log \ EXPOSE 9080 9443 CMD ["sh", "-c", "/usr/bin/apisix init && /usr/bin/apisix init_etcd && /usr/local/openresty/bin/openresty -p /usr/local/apisix -g 'daemon off;'"] + +STOPSIGNAL SIGQUIT
[apisix-website] branch master updated: refactor: rm shuffle picked posts from second blog list page (#1306)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/apisix-website.git The following commit(s) were added to refs/heads/master by this push: new e024a490fa2 refactor: rm shuffle picked posts from second blog list page (#1306) e024a490fa2 is described below commit e024a490fa2f7685b8536c53e770cd3cde2ff07d Author: Young AuthorDate: Fri Sep 2 10:27:04 2022 +0800 refactor: rm shuffle picked posts from second blog list page (#1306) --- .../08/28/fault-injection-testing-with-api-gateway.md | 3 +-- blog/package.json | 1 - blog/src/theme/BlogPosts/index.tsx | 17 ++--- yarn.lock | 5 - 4 files changed, 3 insertions(+), 23 deletions(-) diff --git a/blog/en/blog/2022/08/28/fault-injection-testing-with-api-gateway.md b/blog/en/blog/2022/08/28/fault-injection-testing-with-api-gateway.md index b7d80c7bb20..a13f53adb3e 100644 --- a/blog/en/blog/2022/08/28/fault-injection-testing-with-api-gateway.md +++ b/blog/en/blog/2022/08/28/fault-injection-testing-with-api-gateway.md @@ -11,8 +11,7 @@ keywords: - Testing - Fault Injection - Microservices -description: -The blog post describes how Apache APISIX is useful for testing the robustness and resilience of microservices APIs. Throughout the post, we also get to know the types of possible failure injections with the Fault Injection Plugin. +description: The blog post describes how Apache APISIX is useful for testing the robustness and resilience of microservices APIs. Throughout the post, we also get to know the types of possible failure injections with the Fault Injection Plugin. tags: [Case Studies] --- diff --git a/blog/package.json b/blog/package.json index acd045020f4..8cafb18c3b6 100644 --- a/blog/package.json +++ b/blog/package.json @@ -40,7 +40,6 @@ "fitty": "^2.3.6", "gsap": "^3.7.1", "lethargy": "^1.0.9", -"lodash.shuffle": "^4.2.0", "raw-loader": "^4.0.2", "rc-image": "^5.6.2", "react": "^17.0.2", diff --git a/blog/src/theme/BlogPosts/index.tsx b/blog/src/theme/BlogPosts/index.tsx index 54e4c829e2a..78912e10d82 100644 --- a/blog/src/theme/BlogPosts/index.tsx +++ b/blog/src/theme/BlogPosts/index.tsx @@ -12,7 +12,6 @@ import type { } from 'react'; import React from 'react'; import useWindowType from '@theme/hooks/useWindowSize'; -import shuffle from 'lodash.shuffle'; import { useLocation } from '@docusaurus/router'; import { translate } from '@docusaurus/Translate'; import { useBaseUrlUtils } from '@docusaurus/useBaseUrl'; @@ -239,8 +238,8 @@ const BlogPosts: FC = ({ if (!pathname.includes('/tags/')) { if (isFirstPage) { - // In the first page, all selected articles will be inserted between - // the original first and second article + // In the first page, all selected articles will be inserted between + // the original first and second article posts.splice( 1, 0, @@ -254,18 +253,6 @@ const BlogPosts: FC = ({ /> )), ); -} else { - // Starting from the second page, the picked article will be mixed in all articles - const finalPickedPosts = shuffle(pickedPosts).slice(0, endIdx); - const positions = shuffle(Array.from({ length: 9 }, (_, idx) => idx)).slice(0, 3); - positions.forEach((fromIdx) => { -const info = finalPickedPosts.pop(); -posts.splice( - fromIdx, - 0, - , -); - }); } } diff --git a/yarn.lock b/yarn.lock index a4850b5ff96..5f9e188e8e6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7543,11 +7543,6 @@ lodash.merge@^4.6.2: resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"; integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== -lodash.shuffle@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.shuffle/-/lodash.shuffle-4.2.0.tgz#145b5053cf875f6f5c2a33f48b6e9948c6ec7b4b"; - integrity sha512-V/rTAABKLFjoecTZjKSv+A1ZomG8hZg8hlgeG6wwQVD9AGv+10zqqSf6mFq2tVA703Zd5R0YhSuSlXA+E/Ei+Q== - lodash.throttle@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4";
[apisix-website] branch master updated: fix: sticky style, generate picked posts script (#1305)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/apisix-website.git The following commit(s) were added to refs/heads/master by this push: new 7482b4079d1 fix: sticky style, generate picked posts script (#1305) 7482b4079d1 is described below commit 7482b4079d1b72c53621d2fc327e080b02d2c481 Author: Young AuthorDate: Tue Aug 30 10:09:51 2022 +0800 fix: sticky style, generate picked posts script (#1305) --- blog/src/css/customTheme.scss | 2 +- doc/src/css/customTheme.scss | 2 +- scripts/generate-picked-posts-info.mjs | 134 +++-- website/src/css/customTheme.scss | 2 +- 4 files changed, 63 insertions(+), 77 deletions(-) diff --git a/blog/src/css/customTheme.scss b/blog/src/css/customTheme.scss index 47a5dac4a11..674a521410e 100644 --- a/blog/src/css/customTheme.scss +++ b/blog/src/css/customTheme.scss @@ -101,7 +101,7 @@ html[data-theme="dark"] { font-display: optional; } -body, #__docusaurus { +body { overflow-x: hidden !important; } diff --git a/doc/src/css/customTheme.scss b/doc/src/css/customTheme.scss index 75e0c8b63fb..f90774165e4 100644 --- a/doc/src/css/customTheme.scss +++ b/doc/src/css/customTheme.scss @@ -99,7 +99,7 @@ html[data-theme="dark"] { font-display: optional; } -body, #__docusaurus { +body { overflow-x: hidden !important; } diff --git a/scripts/generate-picked-posts-info.mjs b/scripts/generate-picked-posts-info.mjs index 7818a1ac811..29b63fca332 100644 --- a/scripts/generate-picked-posts-info.mjs +++ b/scripts/generate-picked-posts-info.mjs @@ -1,4 +1,4 @@ -import { stat, readFile, writeFile } from 'node:fs/promises'; +import { stat, readFile, writeFile } from 'fs/promises'; import { join, dirname } from 'path'; import Listr from 'listr'; import matter from 'gray-matter'; @@ -21,82 +21,68 @@ function createExcerpt(fileString) { const tasks = new Listr([ { title: `Check picked blog config files exist`, -task: () => - Promise.all( -configs.map((f) => - stat(f).then((stat) => -stat.isFile() ? Promise.resolve() : Promise.reject(new Error(`${f} is not a file`)) - ) -) - ), +task: () => Promise.all( + configs.map((f) => stat(f).then((status) => (status.isFile() ? Promise.resolve() : Promise.reject(new Error(`${f} is not a file`), +), }, { title: `Generate picked blog info files`, -task: () => - new Listr( -configs.map((config) => ({ - title: `picking from ${config}`, - task: () => -readFile(config, 'utf8') - .then((json) => JSON.parse(json)) - .then((paths) => -Promise.all( - paths.map((path) => -readFile(`../${path}`, 'utf8').then((content) => { - const { data, excerpt } = matter(content, { -excerpt: true, -excerpt_separator: '', - }); - const summary = createExcerpt(excerpt); - const locale = path.includes('/zh/blog') ? 'zh-CN' : 'en-US'; - const rawDate = new Date( -path.substring('blog/en/blog/'.length, 'blog/en/blog/2022/07/30'.length) - ); - const date = rawDate.toISOString(); - const formattedDate = format( -rawDate, -locale === 'zh-CN' ? '年MM月d日' : 'MMM dd, ' - ); - return { -...data, -authors: data.authors.map((v) => { - if (v.image_url) { -v.imageURL = v.image_url; -delete v.image_url; - } - return v; -}), -tags: - data?.tags.map((v) => ({ -label: v, -permalink: - locale === 'zh-CN' ? '/zh/blog/tags/' + v : '/blog/tags/' + v, - })) || [], -summary, -permalink: path - .substring(locale === 'zh-CN' ? 'blog'.length : 'blog/en'.length) - .slice(0, -'.md'.length), -date, -formattedDate, - }; -
[apisix-dashboard] branch next updated (1c106f84 -> 0fd048c6)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a change to branch next in repository https://gitbox.apache.org/repos/asf/apisix-dashboard.git from 1c106f84 refactor: config (#2540) add 0fd048c6 feat: add feature gate (#2591) No new revisions were added by this update. Summary of changes: api/config/config.yaml | 2 ++ api/internal/config/config.go | 1 + api/internal/config/structs.go | 5 - 3 files changed, 7 insertions(+), 1 deletion(-)
[apisix-website] branch master updated: fix: blog list imgs' transition, webp src (#1289)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/apisix-website.git The following commit(s) were added to refs/heads/master by this push: new c45c3d76051 fix: blog list imgs' transition, webp src (#1289) c45c3d76051 is described below commit c45c3d760511f4df859afa055d39235bc0f55d70 Author: Young AuthorDate: Wed Aug 17 11:12:32 2022 +0800 fix: blog list imgs' transition, webp src (#1289) --- blog/src/theme/BlogPostPage/index.tsx | 87 +++--- blog/src/theme/BlogPosts/index.tsx | 48 +++-- blog/src/theme/BlogPosts/style.module.scss | 11 ++-- 3 files changed, 93 insertions(+), 53 deletions(-) diff --git a/blog/src/theme/BlogPostPage/index.tsx b/blog/src/theme/BlogPostPage/index.tsx index aaeeaebc0ba..1f5b1d24ba0 100644 --- a/blog/src/theme/BlogPostPage/index.tsx +++ b/blog/src/theme/BlogPostPage/index.tsx @@ -5,6 +5,7 @@ * LICENSE file in the root directory of this source tree. */ +import type { HTMLAttributes } from 'react'; import React from 'react'; import Seo from '@theme/Seo'; import BlogLayout from '@theme/BlogLayout'; @@ -31,40 +32,61 @@ const urlParse = (url: string) => { }; }; -const components = { - ...MDXComponents, - img: (props: ImageProps) => { -const { src, srcSet } = props; -const isFromCDN = src?.includes('static.apis'); -let otherProps = {}; +const imgPropsParse = ( + props: Omit, + Placeholder: | +((props: ImageProps) => JSX.Element) | +((props: HTMLAttributes) => JSX.Element), +): any => { + const { +src, srcSet, ...restProps + } = props; + const isFromCDN = src?.includes('static.apis'); + + if (!isFromCDN || !src) { +return props; + } + + const otherProps = {}; + const u = urlParse(src); + const webpSrc = `${u.host}/apisix-webp/${u.folderPath}/${u.name.replace(u.ext, 'webp')}`; + const thumbnailWebpSrc = `${u.host}/apisix-thumbnail/${u.folderPath}/${u.name.replace(u.ext, 'webp')}`; -if (isFromCDN && src) { - const u = urlParse(src); - const webpSrc = `${u.host}/apisix-webp/${u.folderPath}/${u.name.replace(u.ext, 'webp')}`; - otherProps = { -src: webpSrc, -type: 'image/webp', -srcSet: stringifySrcset([ - ...parseSrcset(srcSet || ''), - { -url: webpSrc, - }, { -url: src, - }, -]), -placeholder: , - }; -} + Object.assign(otherProps, { +src: webpSrc, +type: 'image/webp', +srcSet: stringifySrcset([ + ...parseSrcset(srcSet || ''), + { +url: webpSrc, + }, { +url: src, + }, +]), +placeholderSrc: thumbnailWebpSrc, +placeholder: , + }); -return ( - -); - }, + return { ...restProps, ...otherProps }; +}; + +const components = { + ...MDXComponents, + img: (props: ImageProps) => ( + )} + preview={{ mask: 'Click to Preview' }} + loading="lazy" +/> + ), }; const BlogPostPage = (props: Props): JSX.Element => { @@ -123,4 +145,5 @@ const BlogPostPage = (props: Props): JSX.Element => { ); }; +export { imgPropsParse }; export default BlogPostPage; diff --git a/blog/src/theme/BlogPosts/index.tsx b/blog/src/theme/BlogPosts/index.tsx index bdf53b80367..ba48f3c3e3f 100644 --- a/blog/src/theme/BlogPosts/index.tsx +++ b/blog/src/theme/BlogPosts/index.tsx @@ -7,7 +7,9 @@ import type { ScrollPosition } from 'react-lazy-load-image-component'; import { trackWindowScroll, LazyLoadImage } from 'react-lazy-load-image-component'; import Avvvatars from 'avvvatars-react'; import clsx from 'clsx'; -import type { FC, HTMLAttributes, DetailedHTMLProps } from 'react'; +import type { + FC, HTMLAttributes, DetailedHTMLProps, ImgHTMLAttributes, +} from 'react'; import React from 'react'; import useWindowType from '@theme/hooks/useWindowSize'; import shuffle from 'lodash.shuffle'; @@ -20,6 +22,7 @@ import pickedPosts from '../../../config/picked-posts-info'; import 'react-lazy-load-image-component/src/effects/blur.css'; import style from './style.module.scss'; +import { imgPropsParse } from '../BlogPostPage'; const components = { blockquote: ({ children }) => children, @@ -43,6 +46,32 @@ type BlogPostsProps = DetailedHTMLProps, HTMLElement isFirstPage?: boolean; } & LazyProps; +const Placeholder = (props: ImgHTMLAttributes) => { + const { title, src, alt } = props; + const innerStyle = { +width: 605, +height: 232, +
[apisix-website] branch master updated: fix: style of first item style in list page (#1281)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/apisix-website.git The following commit(s) were added to refs/heads/master by this push: new a3e8914d475 fix: style of first item style in list page (#1281) a3e8914d475 is described below commit a3e8914d475c4b418171b209a0bc92d5d9354b50 Author: Young AuthorDate: Wed Aug 10 18:07:44 2022 +0800 fix: style of first item style in list page (#1281) --- blog/src/theme/BlogPosts/style.module.scss | 17 + 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/blog/src/theme/BlogPosts/style.module.scss b/blog/src/theme/BlogPosts/style.module.scss index f2f0cca0122..16c34fa6964 100644 --- a/blog/src/theme/BlogPosts/style.module.scss +++ b/blog/src/theme/BlogPosts/style.module.scss @@ -6,16 +6,25 @@ display: flex; filter: none; margin-top: 0; + margin-bottom: 6rem; + align-items: center; & > a { border-radius: 1rem; -width: 601px; -height: auto; +width: fit-content; flex-shrink: 0; + +span { + display: block !important; + width: fit-content !important; + height: fit-content !important; +} img { - height: 100%; - width: 100%; + display: block; + width: 605px; + height: auto; + transition: all 0.25s ease-in-out; } }
[apisix-dashboard] branch next updated (0ea58192 -> e68982a6)
This is an automated email from the ASF dual-hosted git repository. bzp2010 pushed a change to branch next in repository https://gitbox.apache.org/repos/asf/apisix-dashboard.git from 0ea58192 chore: remove unused validator (#2575) add e68982a6 chore: merge master branch to next branch on 220810 (#2580) No new revisions were added by this update. Summary of changes: .github/workflows/frontend-e2e-test.yml| 13 ++- .github/workflows/frontend-plugin-e2e-test.yml | 98 -- README.md | 4 + api/conf/conf.yaml | 3 +- docs/en/latest/USER_GUIDE.md | 2 + .../dashboard-smoketest.spec.js| 0 .../lang-switch-language.spec.js} | 0 ...ate-create-edit-delete-plugin-template.spec.js} | 0 ...late-create-plugin-template-with-route.spec.js} | 0 ...proto-create_and_edit_and_delete_proto.spec.js} | 0 .../proto-table-auto-jump-when-no-data.spec.js}| 0 .../rawDataEditor-test-rawDataEditor.spec.js} | 0 .../service-create-edit-delete-service.spec.js}| 0 ...ice-create-service-with-chash-upstream.spec.js} | 0 ...reate-service-with-not-select-upstream.spec.js} | 0 ...ervice-with-service-discovery-upstream.spec.js} | 0 .../service-edit-service-with-upstream.spec.js}| 0 .../service-save-paginator-status.spec.js} | 2 +- .../service-table-auto-jump-when-no-data.spec.js} | 0 .../{settings => rest}/settings-smoketest.spec.js | 0 .../{ssl => rest}/ssl-smoketest.spec.js| 0 .../upstream-create_and_delete_upstream.spec.js} | 0 ...nd_edit_upstream_with_custom_chash_key.spec.js} | 0 ...create_and_edit_upstream_with_no_nodes.spec.js} | 0 .../upstream-table-auto-jump-when-no-data.spec.js} | 0 .../login.spec.js => rest/user-login.spec.js} | 0 .../logout.spec.js => rest/user-logout.spec.js}| 0 ...ch-route.spec.js => batch-delete-route.spec.js} | 81 +++--- web/src/locales/en-US/component.ts | 1 + web/src/locales/tr-TR/component.ts | 1 + web/src/locales/zh-CN/component.ts | 1 + web/src/pages/Route/List.tsx | 32 ++- web/src/pages/Route/locales/en-US.ts | 4 + web/src/pages/Route/locales/tr-TR.ts | 4 + web/src/pages/Route/locales/zh-CN.ts | 4 + web/src/pages/Route/service.ts | 2 +- 36 files changed, 90 insertions(+), 162 deletions(-) delete mode 100644 .github/workflows/frontend-plugin-e2e-test.yml rename web/cypress/integration/{dashboard => rest}/dashboard-smoketest.spec.js (100%) rename web/cypress/integration/{lang/switch-language.spec.js => rest/lang-switch-language.spec.js} (100%) rename web/cypress/integration/{pluginTemplate/create-edit-delete-plugin-template.spec.js => rest/pluginTemplate-create-edit-delete-plugin-template.spec.js} (100%) rename web/cypress/integration/{pluginTemplate/create-plugin-template-with-route.spec.js => rest/pluginTemplate-create-plugin-template-with-route.spec.js} (100%) rename web/cypress/integration/{proto/create_and_edit_and_delete_proto.spec.js => rest/proto-create_and_edit_and_delete_proto.spec.js} (100%) rename web/cypress/integration/{proto/table-auto-jump-when-no-data.spec.js => rest/proto-table-auto-jump-when-no-data.spec.js} (100%) rename web/cypress/integration/{rawDataEditor/test-rawDataEditor.spec.js => rest/rawDataEditor-test-rawDataEditor.spec.js} (100%) rename web/cypress/integration/{service/create-edit-delete-service.spec.js => rest/service-create-edit-delete-service.spec.js} (100%) rename web/cypress/integration/{service/create-service-with-chash-upstream.spec.js => rest/service-create-service-with-chash-upstream.spec.js} (100%) rename web/cypress/integration/{service/create-service-with-not-select-upstream.spec.js => rest/service-create-service-with-not-select-upstream.spec.js} (100%) rename web/cypress/integration/{service/create-service-with-service-discovery-upstream.spec.js => rest/service-create-service-with-service-discovery-upstream.spec.js} (100%) rename web/cypress/integration/{service/edit-service-with-upstream.spec.js => rest/service-edit-service-with-upstream.spec.js} (100%) rename web/cypress/integration/{service/save-paginator-status.spec.js => rest/service-save-paginator-status.spec.js} (98%) rename web/cypress/integration/{service/table-auto-jump-when-no-data.spec.js => rest/service-table-auto-jump-when-no-data.spec.js} (100%) rename web/cypress/integration/{settings => rest}/settings-smoketest.spec.js (100%) rename web/cypress/integration/{ssl => rest}/ssl-smoketest.spec.js (100%) rename web/cypress/integration/{upstream/create_and_delete_upstream.spec.js => rest/upstream-create_and_delete_u