Commit Graph

657 Commits

Author SHA1 Message Date
罗泽轩
1b3e547c5b
feat: resolve var supports ${...} format (#3320)
Signed-off-by: spacewander <spacewanderlzx@gmail.com>
2021-01-18 22:23:15 +08:00
罗泽轩
4cf30bf2ac
refactor: keep health checker with the upstream's parent (#3325)
A upstream's parent can only have one running checker.
Previously, when a checker is evicted by lrucache, it is still running.
Now health checker & upstream in used is 1:1.
2021-01-18 22:21:39 +08:00
罗泽轩
abb7841d29
test: fix least conn case (#3321) 2021-01-18 13:17:39 +08:00
罗泽轩
6fe399c7d6
fix: avoid caching outdated discovery upstream nodes (#3295)
Fix #2369
Fix #1838

Signed-off-by: spacewander <spacewanderlzx@gmail.com>
2021-01-18 11:04:13 +08:00
罗泽轩
cdb5aaf3d7
ci: lint test file (#3298)
Signed-off-by: spacewander <spacewanderlzx@gmail.com>
2021-01-18 10:27:28 +08:00
罗泽轩
f349cc0dd4
feat: load balance by least connections (#3304)
Fix #3086

Signed-off-by: spacewander <spacewanderlzx@gmail.com>
2021-01-18 10:25:58 +08:00
Yuelin Zheng
a1dd370962
fix(traffic-split): the header set in vars cannot have a horizontal line (#3310)
fix #3306
2021-01-17 12:40:31 +08:00
罗泽轩
bbbdf58d55
refactor: the parent of upstream should point to its original src (#3287)
Signed-off-by: spacewander <spacewanderlzx@gmail.com>
2021-01-15 14:43:39 +08:00
nic-chen
5bdfb8f8e5
chore: remove injected field of plugin schema from properties (#3299)
* chore: remove injected field of plugin schema from properties
2021-01-15 11:40:49 +08:00
ken zhou
d1d6533176
feat: support hash on vars_combinations (#3278)
related #3261
2021-01-15 10:45:46 +08:00
Yuelin Zheng
ff60e57996
chore(traffic-split): add additionalProperties field to restrict plugin configuration (#3285) 2021-01-14 16:37:36 +08:00
罗泽轩
1a1fe09d12
fix: always inject disable field into plugin schema (#3272)
Fix https://github.com/apache/apisix-dashboard/issues/1227
2021-01-14 13:30:15 +08:00
罗泽轩
fcd880f23f
chore: enhance upstream discovery (#3269)
Signed-off-by: spacewander <spacewanderlzx@gmail.com>
2021-01-14 09:47:24 +08:00
Jens Keiner
9f6e605a15
feat(authz-keycloak): Add Keycloak Authorization Services endpoint discovery. (#3263) 2021-01-13 23:22:34 +08:00
罗泽轩
d68016e579
docs: enrich stand alone mode's doc (#3264) 2021-01-13 14:49:33 +08:00
罗泽轩
4de254ad27
fix(roundrobin): don't retry a node again (#3217)
Signed-off-by: spacewander <spacewanderlzx@gmail.com>
2021-01-11 22:25:53 +08:00
罗泽轩
fa029d429d
fix: create the health checker in access phase (#3240)
Allow to call yield function in the healthcheck.

Signed-off-by: spacewander <spacewanderlzx@gmail.com>
Co-authored-by: YuanSheng Wang <membphis@gmail.com>

Fix #1851
Fix #2842
2021-01-11 21:35:33 +08:00
罗泽轩
a2ad12bf47
test: demonstrate http-logger works fine with JSON body (#3212)
Close #1710
2021-01-11 18:00:24 +08:00
罗泽轩
9e2e5c8a63
test: make admin/plugins-reload.t stable (#3192) 2021-01-11 15:49:11 +08:00
罗泽轩
ee122cd048
feat: log when request is blocked by a plugin (#3214)
Signed-off-by: spacewander <spacewanderlzx@gmail.com>
2021-01-07 19:45:08 +08:00
阿姆斯壮
500e42d4ec
fix: make set_more_retries() work when upstream_type is chash (#2676) 2021-01-07 19:19:52 +08:00
Joey
2996416d60
feat: Add create_time and update_time in global_rule schema (#3201)
* feat: Add create_time and update_time in global_rule schema

Signed-off-by: imjoey <majunjiev@gmail.com>

* Add missing time injection and test cases for that

Signed-off-by: imjoey <majunjiev@gmail.com>

* Revert previous delete test cases for strip_etcd_resp

Signed-off-by: imjoey <majunjiev@gmail.com>
2021-01-07 13:01:09 +08:00
罗泽轩
cc884f1207
feat(cli): parse IPv6 resolver address (#3187)
Fix #3186.

Signed-off-by: spacewander <spacewanderlzx@gmail.com>
2021-01-05 11:01:17 +08:00
Jens Keiner
67df073ed4
feat: Make headers to add to request in openid-connect plugin configurable. (#2903) 2021-01-05 10:14:37 +08:00
Brandon Fergerson
05b1db7f53
feat: support var in upstream_uri on proxy-rewrite plugin (#3139) 2021-01-05 10:11:09 +08:00
罗泽轩
8d323a2216
feat: add consumer plugin validation at DP side (#3185) 2021-01-05 08:58:36 +08:00
YuanSheng Wang
151d74fd9c
chore: enable plugin server-info by default. (#3170)
Co-authored-by: spacewander <spacewanderlzx@gmail.com>
2021-01-04 20:18:21 +08:00
nic-chen
4f6fce362d
fix: use config_util.iterate_values to avoid error by using invalid data type as table (#3173) 2021-01-04 19:52:53 +08:00
罗泽轩
65579fc45b
feat: allow host with underscore (#3165) 2020-12-31 11:48:54 +08:00
罗泽轩
13ab4903b4
chore: improve HTTPS doc (#3149) 2020-12-30 22:57:00 +08:00
罗泽轩
81c1c7c077
change: don't treat route segment with ':' as parameter by default (#3154)
Fix #3134
2020-12-30 22:13:05 +08:00
tzssangglass
0597c57b27
chore: tweak the uri to view plug-in types (#3153) 2020-12-29 15:55:53 +08:00
Yuelin Zheng
9b5fa0b4c4
test: limit-count add more test cases to cover the case where the upstream is a domain name (#3140)
close #3108
2020-12-29 11:25:25 +08:00
tzssangglass
a54aad1ad3
feat: provide the ability to view plug-in types (#2886)
Fix #2308
2020-12-29 11:01:12 +08:00
罗泽轩
b1e5edd7d8
tests: fix unstable test in traffic-split.t (#3135)
Signed-off-by: spacewander <spacewanderlzx@gmail.com>
2020-12-28 20:55:29 +08:00
dabue
6dba053c08
update server-info.t (#3143)
related #3095
2020-12-28 20:51:56 +08:00
Yuelin Zheng
c4180ccbf9
feat: the proxy-rewrite plugin support pass nginx variable within header (#3144)
related #3117
2020-12-28 20:42:47 +08:00
罗泽轩
53777519b8
fix: correct the validation of route.vars (#3124)
Previously only the type is applied, and it is too strict.
And now we should allow 4 items in the vars expression.

Fix #3123

Signed-off-by: spacewander <spacewanderlzx@gmail.com>
2020-12-27 12:02:31 +08:00
nic-chen
baf8a26cea
chore: expose more schema via control API (#3127) 2020-12-25 21:26:15 +08:00
Yuelin Zheng
86fa46d85b
feat: Implement traffic splitting plugin (#2935)
close #2303
close #2603
2020-12-25 15:53:00 +08:00
guyang
0802c95faf
feat: add batch process metrics (#3070) 2020-12-24 19:24:46 +08:00
罗泽轩
966d68829a
feat: validate certificate & key (#3085)
Fix #296
Fix #2816

Signed-off-by: spacewander <spacewanderlzx@gmail.com>
2020-12-23 21:30:09 +08:00
罗泽轩
a661b940b0
feat: add script_id field used by dashboard (#3096)
Used as a reference to script metadata.
2020-12-23 19:17:26 +08:00
罗泽轩
357a2efa68
feat: expose schema via control API (#3092)
Close #3022
2020-12-23 16:40:19 +08:00
罗泽轩
560a2fe3ab
change: remove k8s_deployment_info (#3098)
Fix #3068
2020-12-22 22:28:47 +08:00
Alex Zhang
c3d61fcfa3
feat: add control api for plugin server-info (#3088)
* feat: add control api for plugin server-info

Previously we added plugin server-info without exposing API since the same port problem of admin api and proxy. Now we have Control API support so we expose server-info API through Control API. People now can insight the server info about APISIX instance easily.
2020-12-22 11:04:56 +08:00
罗泽轩
7c158b739a
refactor: don't force plugin to use /vn prefix (#3081) 2020-12-21 10:38:10 +08:00
罗泽轩
31b49ad0e1
fix: upgrade lua-resty-ngxvar to solve the upstream_xxx_time problem (#3065)
Fix #2954
Signed-off-by: spacewander <spacewanderlzx@gmail.com>
2020-12-20 20:09:46 +08:00
罗泽轩
e9826b60f3
fix: make debug-mode work with global rule (#3023)
Fix #1667.

Signed-off-by: spacewander <spacewanderlzx@gmail.com>
2020-12-18 17:14:51 +08:00
罗泽轩
fd2db606a9
feat: rewrite handwriting validation with jsonschema (#3021)
Fix #2967. Some plugins can't be rewritten, so I have to keep them.

Signed-off-by: spacewander <spacewanderlzx@gmail.com>
2020-12-18 16:55:23 +08:00
罗泽轩
310c95158f
feat: allow upstream without nodes (#3076)
Fix #3072
2020-12-18 16:05:54 +08:00
罗泽轩
924a30db36
feat: add control API (#3048)
Signed-off-by: spacewander <spacewanderlzx@gmail.com>
Co-authored-by: John Bampton <jbampton@users.noreply.github.com
2020-12-18 15:05:09 +08:00
Peter Zhu
560fca3e0b
fix: fix on setting server info to etcd (#3075)
* fix: fix on setting server info to etcd
2020-12-18 14:46:49 +08:00
罗泽轩
81c8d806a3
test: remove useless skywalking mock (#3066)
Now we connect to real skywalking for test.

Signed-off-by: spacewander <spacewanderlzx@gmail.com>
2020-12-18 08:30:55 +08:00
John Bampton
6331e5d057
feat(CI): add a GitHub Action to lint the YAML files (#3044)
Lint some YAML
Add a `.yamllint` config file
2020-12-18 08:29:17 +08:00
Yuelin Zheng
bdd00e1f55
feat: support ctx.var to get service_name and route_name (#3036)
close #2982
2020-12-17 22:26:25 +08:00
罗泽轩
370beda74d
feat: improve the error msg when client doesn't send SNI (#3053) 2020-12-16 08:56:30 +08:00
罗泽轩
d16ac7a021
feat: share etcd client (#2932)
Signed-off-by: spacewander <spacewanderlzx@gmail.com>
2020-12-15 20:18:25 +08:00
罗泽轩
8420a0f39d
feat: return 502 for upstream not found in the DP (#3050)
Fix #3035

Signed-off-by: spacewander <spacewanderlzx@gmail.com>
2020-12-15 18:04:10 +08:00
John Bampton
511f52a856
refactor: remove trailing whitespace (#3040) 2020-12-15 08:56:20 +08:00
John Bampton
dcdbc1cc9e
chore: spelling (#3027) 2020-12-13 19:31:24 +08:00
John Bampton
3c01db5ef0
chore: spelling (#3012)
Co-authored-by: 罗泽轩 <spacewanderlzx@gmail.com>
Co-authored-by: YuanSheng Wang <membphis@gmail.com>
2020-12-13 00:04:48 +08:00
罗泽轩
cc9c1bb090
ci: check misspell (#3011)
Fix #3009
2020-12-10 23:05:36 +08:00
罗泽轩
0eacf3af7d
feat: improve jsonschema validation on route resource (#3008)
fix #2671
fix #2991
2020-12-10 22:53:53 +08:00
罗泽轩
93e2f1647a
feat: route accroding to the graphql attributes (#2964)
Signed-off-by: spacewander <spacewanderlzx@gmail.com>
2020-12-10 15:51:00 +08:00
罗泽轩
85a84fb191
fix: avoid unnecessary type check and support var in local_conf (#2990)
Also merge bundle of repeated code.

Signed-off-by: spacewander <spacewanderlzx@gmail.com>
2020-12-10 15:48:47 +08:00
YuanSheng Wang
a670ea2f2e
bugfix: always necessary to save the data of the limit concurrency, and release the statistical status in the log phase. (#2465)
fix #2450
2020-12-10 14:50:15 +08:00
罗泽轩
270aef027a
test: make node/merge-route.t stable (#2999)
The time_window field might be the last one, which doesn't have ','

Signed-off-by: spacewander <spacewanderlzx@gmail.com>
2020-12-09 17:08:26 +08:00
罗泽轩
9918efbe5b
test: solve conflict between #2993 and #2943 (#2997)
Signed-off-by: spacewander <spacewanderlzx@gmail.com>
2020-12-09 14:30:46 +08:00
tzssangglass
c7b198f969
feat: support enable/disable route (#2943)
fix #2737
2020-12-09 10:38:21 +08:00
Alex Zhang
7855d9eed2
feat: implement new plugin server-info (#2926)
close #2821
2020-12-09 10:07:57 +08:00
罗泽轩
1e882e378d
feat: delete useless data in the response (#2993)
Fix #2759

Signed-off-by: spacewander <spacewanderlzx@gmail.com>
2020-12-09 08:53:38 +08:00
罗泽轩
93241949b4
chore(skywalking): the range of sample rate should be [0, ratio) (#2984) 2020-12-08 23:16:22 +08:00
罗泽轩
79075000aa
feat(fault-injection): support Nginx variable in abort.body (#2986)
Fix #2827
2020-12-08 13:18:34 +08:00
罗泽轩
97ed426b4e
fix: refresh cached header when we set request header (#2917) 2020-12-07 21:50:31 +08:00
罗泽轩
08d25ebc51
test: make node/merge-route.t stable (#2978) 2020-12-07 20:21:12 +08:00
罗泽轩
1b8dca96ac
feat: increase the delay before resync (#2977)
It improves the behavior under #2899.
2020-12-07 20:20:31 +08:00
roketyyang
c41aa8534a
feat: update lua-resty-radixtree to 2.5 (#2971)
Co-authored-by: roketyyang <roketyyang@tencent.com>
2020-12-05 21:32:58 +08:00
Alex Zhang
37efc410f0
fix: fixed the non-effective plugin configuration update in tcp/udp-logger plugin (#2928) 2020-12-04 23:55:38 +08:00
guyang
21a18c17f3
fix: change string concat (#2953)
* change  string concat

* change function range

* change function space

* change local var

* fix test case
2020-12-04 22:43:34 +08:00
罗泽轩
2f3ab6a2bc
feat: disable node-status by default (#2968)
Fix #2952
2020-12-04 22:25:11 +08:00
罗泽轩
f84a44e409
feat(limt-count): use 'remote_addr' as default key (#2927) 2020-12-02 17:04:31 +08:00
罗泽轩
bbbd10e1b3
feat: validate the operator in vars (#2911)
Fix #2878
2020-12-02 15:37:07 +08:00
罗泽轩
a019b4e4d0
test: improve chash-balance cases (#2920)
Fix #2914
2020-12-02 15:12:00 +08:00
Alex Zhang
fa30c102e0
fix: fixed the non effective config update in http-logger (#2901)
* change: changed log level when delete stale batch processor objects

close #2870
2020-12-01 23:06:33 +08:00
Jens Keiner
c140d0eddc
fix: Basic auth plugin should run in rewrite phase. (#2905) 2020-12-01 23:03:45 +08:00
罗泽轩
ddfeb5de1d
fix: reject "" for route's remote_addrs (#2907)
This change imroves the IP schema validation.
2020-12-01 15:44:50 +08:00
罗泽轩
a63b6b8c6e
feat: allow create consumers with multiple auth plugins (#2898)
Fix #2850
2020-12-01 15:42:59 +08:00
tzssangglass
9dfe697b64
feat: allow user to specify APISIX id in config.yaml (#2893)
fix #2810
2020-11-30 19:08:04 +08:00
dabue
e66dd9a314
feat: implement error-log-logger plug-in (#2592) 2020-11-30 14:43:16 +08:00
罗泽轩
f267291f3a
feat(prometheus): allow customizing Prometheus export uri (#2826)
* feat(prometheus): allow customizing Prometheus export uri

Close #2296.
2020-11-30 14:35:06 +08:00
罗泽轩
44855ec1a7
ci: make it work under OpenResty 1.19 (#2768) 2020-11-30 10:32:35 +08:00
Wen Ming
d2ea344fc1
Revert "refactor: separate admin and proxy port in default config (#2802)" (#2871)
This reverts commit b13f167445.

Co-authored-by: Vinci Xu <277040271@qq.com>
2020-11-28 19:05:14 +08:00
罗泽轩
1c211ff7b1
fix: validate plugin configuration in the DP (#2856)
Fix #2834
2020-11-28 13:29:00 +08:00
罗泽轩
f4dfcfbb6b
fix: we didn't initialize custom variable for admin access log (#2874)
* fix: we didn't initialize custom variable for admin access log

* t
2020-11-28 13:12:17 +08:00
Yuelin Zheng
d7e59113d5
feat: How to distinguish whether the 5xx status code (eg 500) comes from upstream or apisix (#2817)
close #2501
2020-11-27 18:33:02 +08:00
罗泽轩
35269581e2
test: increase waiting time to make plugins reload test stable (#2868) 2020-11-27 17:36:58 +08:00
罗泽轩
67eb787c38
fix: distinguish different routes which has the same service (#2840)
Fix #2828.

The bug is introduced in #2121.

Can't be reproduced in over 1 millions requests after applying this
patch.
2020-11-25 14:32:11 +08:00
罗泽轩
1ad90f7206
chore: sort default plugin list for easier search (#2824) 2020-11-25 14:11:24 +08:00
Yuelin Zheng
72f907ea8b
feat: the request parameter participating in the signature can be the parameter name (#2830)
close #2823
2020-11-25 13:05:03 +08:00