Skip to content

Commit

Permalink
Merge branch 'master' into spd
Browse files Browse the repository at this point in the history
  • Loading branch information
spacewander committed Apr 11, 2022
2 parents 8de2b56 + e89ab8d commit bec5939
Show file tree
Hide file tree
Showing 99 changed files with 3,676 additions and 352 deletions.
4 changes: 4 additions & 0 deletions .asf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,10 @@ github:
dismiss_stale_reviews: true
require_code_owner_reviews: true
required_approving_review_count: 2
release/2.13:
required_pull_request_reviews:
require_code_owner_reviews: true
required_approving_review_count: 2
release/2.12:
required_pull_request_reviews:
require_code_owner_reviews: true
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/centos7-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ jobs:
run: |
export VERSION=${{ steps.branch_env.outputs.version }}
sudo gem install --no-document fpm
git clone -b v2.7.0 https://github.com/api7/apisix-build-tools.git
git clone --depth 1 https://github.com/api7/apisix-build-tools.git
# move codes under build tool
mkdir ./apisix-build-tools/apisix
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/code-lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,12 +34,12 @@ jobs:
timeout-minutes: 5
steps:
- name: Checkout code
uses: actions/checkout@v2.4.0
uses: actions/checkout@v3

- name: Shellcheck code
run: |
scversion="latest"
wget -O- "https://github.com/koalaman/shellcheck/releases/download/${scversion?}/shellcheck-${scversion?}.linux.x86_64.tar.xz" | tar -xJv
cp -av "shellcheck-${scversion}/shellcheck" /usr/local/bin/
shellcheck --version
git ls-files | grep ".sh$" | xargs -t shellcheck
git ls-files -- "*.sh" | xargs -t shellcheck
4 changes: 2 additions & 2 deletions .github/workflows/doc-lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
steps:
- uses: actions/checkout@v3
- name: 🚀 Use Node.js
uses: actions/setup-node@v3.0.0
uses: actions/setup-node@v3.1.0
with:
node-version: '12.x'
- run: npm install -g markdownlint-cli@0.25.0
Expand Down Expand Up @@ -47,4 +47,4 @@ jobs:
wget -O- "https://github.com/huacnlee/autocorrect/releases/download/$version/autocorrect-linux-amd64.tar.gz" | tar -xzv
mv -v autocorrect /usr/local/bin/
autocorrect --version
git ls-files | grep "^docs/zh/latest/.*.md$" | xargs -t autocorrect --lint
git ls-files -- "docs/zh/latest/**/*.md" | xargs -t autocorrect --lint
7 changes: 0 additions & 7 deletions .github/workflows/kubernetes-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,13 +39,6 @@ jobs:
with:
submodules: recursive

- name: Extract branch name
if: ${{ startsWith(github.ref, 'refs/heads/release/') }}
id: branch_env
shell: bash
run: |
echo "##[set-output name=version;]$(echo ${GITHUB_REF##*/})"
- name: Setup kubernetes cluster
run: |
KIND_VERSION="v0.11.1"
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ jobs:
git grep --cached -l '' | xargs codespell --ignore-words=.ignore_words
- name: Merge conflict
run: |
grep "^<<<<<<< HEAD" $(git grep --cached -l '' | xargs) && exit 1 || true
bash ./utils/check-merge-conflict.sh
- name: Plugin Code
run: |
sudo bash ./utils/check-plugins-code.sh
bash ./utils/check-plugins-code.sh
ci-eclint:
runs-on: ubuntu-latest
Expand All @@ -29,7 +29,7 @@ jobs:
uses: actions/checkout@v3

- name: Setup Nodejs env
uses: actions/setup-node@v3.0.0
uses: actions/setup-node@v3.1.0
with:
node-version: '12'

Expand Down
7 changes: 0 additions & 7 deletions .github/workflows/tars-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,13 +39,6 @@ jobs:
with:
submodules: recursive

- name: Extract branch name
if: ${{ startsWith(github.ref, 'refs/heads/release/') }}
id: branch_env
shell: bash
run: |
echo "##[set-output name=version;]$(echo ${GITHUB_REF##*/})"
- name: Setup Tars MySql
run: |
docker run -d -p 3306:3306 -v $PWD/t/tars/conf/tars.sql:/docker-entrypoint-initdb.d/tars.sql -e MYSQL_ROOT_PASSWORD=tars2022 mysql:5.7
Expand Down
1 change: 1 addition & 0 deletions .licenserc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ header:
- '**/*.pb.go'
- '.github/'
- 'conf/mime.types'
- '**/*.svg'
# Exclude CI env_file
- 'ci/pod/**/*.env'
# eyes has some limitation to handle git pattern
Expand Down
56 changes: 56 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,11 @@ title: Changelog

## Table of Contents

- [2.13.0](#2130)
- [2.12.1](#2121)
- [2.12.0](#2120)
- [2.11.0](#2110)
- [2.10.5](#2105)
- [2.10.4](#2104)
- [2.10.3](#2103)
- [2.10.2](#2102)
Expand Down Expand Up @@ -53,6 +55,54 @@ title: Changelog
- [0.7.0](#070)
- [0.6.0](#060)

## 2.13.0

### Change

- change(syslog): correct the configuration [#6551](https://github.com/apache/apisix/pull/6551)
- change(server-info): use a new approach(keepalive) to report DP info [#6202](https://github.com/apache/apisix/pull/6202)
- change(admin): empty nodes should be encoded as array [#6384](https://github.com/apache/apisix/pull/6384)
- change(prometheus): replace wrong apisix_nginx_http_current_connections{state="total"} label [#6327](https://github.com/apache/apisix/pull/6327)
- change: don't expose public API by default & remove plugin interceptor [#6196](https://github.com/apache/apisix/pull/6196)

### Core

- :sunrise: feat: add delayed_body_filter phase [#6605](https://github.com/apache/apisix/pull/6605)
- :sunrise: feat: support for reading environment variables from yaml configuration files [#6505](https://github.com/apache/apisix/pull/6505)
- :sunrise: feat: rerun rewrite phase for newly added plugins in consumer [#6502](https://github.com/apache/apisix/pull/6502)
- :sunrise: feat: add config to control write all status to x-upsream-apisix-status [#6392](https://github.com/apache/apisix/pull/6392)
- :sunrise: feat: add kubernetes discovery module [#4880](https://github.com/apache/apisix/pull/4880)
- :sunrise: feat(graphql): support http get and post json request [#6343](https://github.com/apache/apisix/pull/6343)

### Plugin

- :sunrise: feat: jwt-auth support custom parameters [#6561](https://github.com/apache/apisix/pull/6561)
- :sunrise: feat: set cors allow origins by plugin metadata [#6546](https://github.com/apache/apisix/pull/6546)
- :sunrise: feat: support post_logout_redirect_uri config in openid-connect plugin [#6455](https://github.com/apache/apisix/pull/6455)
- :sunrise: feat: mocking plugin [#5940](https://github.com/apache/apisix/pull/5940)
- :sunrise: feat(error-log-logger): add clickhouse for error-log-logger [#6256](https://github.com/apache/apisix/pull/6256)
- :sunrise: feat: clickhouse logger [#6215](https://github.com/apache/apisix/pull/6215)
- :sunrise: feat(grpc-transcode): support .pb file [#6264](https://github.com/apache/apisix/pull/6264)
- :sunrise: feat: development of Loggly logging plugin [#6113](https://github.com/apache/apisix/pull/6113)
- :sunrise: feat: add opentelemetry plugin [#6119](https://github.com/apache/apisix/pull/6119)
- :sunrise: feat: add public api plugin [#6145](https://github.com/apache/apisix/pull/6145)
- :sunrise: feat: add CSRF plugin [#5727](https://github.com/apache/apisix/pull/5727)

### Bugfix

- fix(skywalking,opentelemetry): trace request rejected by auth [#6617](https://github.com/apache/apisix/pull/6617)
- fix(log-rotate): should rotate logs strictly hourly(or minutely) [#6521](https://github.com/apache/apisix/pull/6521)
- fix: deepcopy doesn't copy the metatable [#6623](https://github.com/apache/apisix/pull/6623)
- fix(request-validate): handle duplicate key in JSON [#6625](https://github.com/apache/apisix/pull/6625)
- fix(prometheus): conflict between global rule and route configure [#6579](https://github.com/apache/apisix/pull/6579)
- fix(proxy-rewrite): when conf.headers are missing,conf.method can make effect [#6300](https://github.com/apache/apisix/pull/6300)
- fix(traffic-split): failed to match rule when the first rule failed [#6292](https://github.com/apache/apisix/pull/6292)
- fix(config_etcd): skip resync_delay while etcd watch timeout [#6259](https://github.com/apache/apisix/pull/6259)
- fix(proto): avoid sharing state [#6199](https://github.com/apache/apisix/pull/6199)
- fix(limit-count): keep the counter if the plugin conf is the same [#6151](https://github.com/apache/apisix/pull/6151)
- fix(admin): correct the count field of plugin-metadata/global-rule [#6155](https://github.com/apache/apisix/pull/6155)
- fix: add missing labels after merging route and service [#6177](https://github.com/apache/apisix/pull/6177)

## 2.12.1

**This is an LTS maintenance release and you can see the CHANGELOG in `release/2.12` branch.**
Expand Down Expand Up @@ -138,6 +188,12 @@ title: Changelog
- :sunrise: feat(ext-plugin): avoid sending conf request more times [#5183](https://github.com/apache/apisix/pull/5183)
- :sunrise: feat: Add ldap-auth plugin [#3894](https://github.com/apache/apisix/pull/3894)

## 2.10.5

**This is an LTS maintenance release and you can see the CHANGELOG in `release/2.10` branch.**

[https://github.com/apache/apisix/blob/release/2.10/CHANGELOG.md#2105](https://github.com/apache/apisix/blob/release/2.10/CHANGELOG.md#2105)

## 2.10.4

**This is an LTS maintenance release and you can see the CHANGELOG in `release/2.10` branch.**
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ ENV_RM ?= rm -vf
ENV_DOCKER ?= docker
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 which openresty 2>/dev/null || which nginx 2>/dev/null)
ENV_NGINX_EXEC := $(shell command -v openresty 2>/dev/null || command -v nginx 2>/dev/null)
ENV_OPENSSL_PREFIX ?= $(addprefix $(ENV_NGINX_PREFIX), openssl)
ENV_LUAROCKS ?= luarocks
## These variables can be injected by luarocks
Expand Down
15 changes: 9 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,10 +105,17 @@ A/B testing, canary release, blue-green deployment, limit rate, defense against

- **Security**

- Authentications: [key-auth](docs/en/latest/plugins/key-auth.md), [JWT](docs/en/latest/plugins/jwt-auth.md), [basic-auth](docs/en/latest/plugins/basic-auth.md), [wolf-rbac](docs/en/latest/plugins/wolf-rbac.md), [casbin](docs/en/latest/plugins/authz-casbin.md), [keycloak](docs/en/latest/plugins/authz-keycloak.md)
- Rich authentication & authorization support:
* [key-auth](docs/en/latest/plugins/key-auth.md)
* [JWT](docs/en/latest/plugins/jwt-auth.md)
* [basic-auth](docs/en/latest/plugins/basic-auth.md)
* [wolf-rbac](docs/en/latest/plugins/wolf-rbac.md)
* [casbin](docs/en/latest/plugins/authz-casbin.md)
* [keycloak](docs/en/latest/plugins/authz-keycloak.md)
* [casdoor](docs/en/latest/plugins/authz-casdoor.md)
- [IP Whitelist/Blacklist](docs/en/latest/plugins/ip-restriction.md)
- [Referer Whitelist/Blacklist](docs/en/latest/plugins/referer-restriction.md)
- [IdP](docs/en/latest/plugins/openid-connect.md): Support external authentication services, such as Auth0, okta, etc., users can use this to connect to OAuth 2.0 and other authentication methods.
- [IdP](docs/en/latest/plugins/openid-connect.md): Support external Identity platforms, such as Auth0, okta, etc..
- [Limit-req](docs/en/latest/plugins/limit-req.md)
- [Limit-count](docs/en/latest/plugins/limit-count.md)
- [Limit-concurrency](docs/en/latest/plugins/limit-conn.md)
Expand Down Expand Up @@ -162,10 +169,6 @@ A/B testing, canary release, blue-green deployment, limit rate, defense against

1. Installation

APISIX Installed and tested in the following systems:

CentOS 7, Ubuntu 16.04, Ubuntu 18.04, Debian 9, Debian 10, macOS, **ARM64** Ubuntu 18.04

Please refer to [install documentation](docs/en/latest/how-to-build.md).

2. Getting started
Expand Down
9 changes: 8 additions & 1 deletion apisix/cli/env.lua
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,14 @@ return function (apisix_home, pkg_cpath_org, pkg_path_org)
end
end

local openresty_args = [[openresty -p ]] .. apisix_home .. [[ -c ]]
-- pre-transform openresty path
res, err = util.execute_cmd("command -v openresty")
if not res then
error("failed to exec ulimit cmd \'command -v openresty\', err: " .. err)
end
local openresty_path_abs = util.trim(res)

local openresty_args = openresty_path_abs .. [[ -p ]] .. apisix_home .. [[ -c ]]
.. apisix_home .. [[/conf/nginx.conf]]

local min_etcd_version = "3.4.0"
Expand Down
3 changes: 2 additions & 1 deletion apisix/cli/ngx_tpl.lua
Original file line number Diff line number Diff line change
Expand Up @@ -244,7 +244,8 @@ http {
{% end %}
{% if config_center == "xds" then %}
lua_shared_dict xds-route-config 10m;
lua_shared_dict xds-config 10m;
lua_shared_dict xds-config-version 1m;
{% end %}
# for custom shared dict
Expand Down
Loading

0 comments on commit bec5939

Please sign in to comment.