罗泽轩
bbbd10e1b3
feat: validate the operator in vars ( #2911 )
...
Fix #2878
2020-12-02 15:37:07 +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
罗泽轩
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
罗泽轩
1c211ff7b1
fix: validate plugin configuration in the DP ( #2856 )
...
Fix #2834
2020-11-28 13:29:00 +08:00
罗泽轩
35269581e2
test: increase waiting time to make plugins reload test stable ( #2868 )
2020-11-27 17:36:58 +08:00
罗泽轩
1ad90f7206
chore: sort default plugin list for easier search ( #2824 )
2020-11-25 14:11:24 +08:00
罗泽轩
d7593a0ac3
feat: support '.' in id definition ( #2795 )
...
* feat: support '.' in id definition
Close #2274 .
* tweak test
2020-11-23 22:36:40 +08:00
Shuyang Wu
36162e3607
fix: move conf/cert
to t/certs
and disable ssl by default ( #2112 )
2020-11-20 11:10:01 +08:00
guyang
5b396020d5
feat: support plugin for "aliyun" log service ( #2177 )
2020-11-19 00:04:01 +08:00
罗泽轩
1a24c2af39
refactor(consumer): remove id and use username only ( #2679 )
...
Close #2656
Close #2653
Close #2651
2020-11-18 17:44:40 +08:00
罗泽轩
671d184ceb
bugfix: we didn't keep the create_time correctly ( #2760 )
2020-11-17 18:39:28 +08:00
罗泽轩
dec9518d3c
test: improve bin/apisix test cases. ( #2761 )
...
* test: improve bin/apisix test cases.
Avoid modifying config-default,yaml directly.
* unset APISIX_PROFILE
* increase sleep time
2020-11-17 18:00:30 +08:00
罗泽轩
da4e12e0f7
feat: generate create/update_time automatically ( #2740 )
2020-11-15 17:20:51 +08:00
罗泽轩
39879630ae
fix: reload plugin when plugin attribute is cahnged ( #2704 )
...
Close #2655
2020-11-13 00:23:30 +08:00
罗泽轩
b3f240c80c
feat: increase the length of rule name to 100 ( #2667 )
...
Close #2665
2020-11-11 10:36:28 +08:00
罗泽轩
ebf0563a40
change: disable skywalking by default. ( #2632 )
...
* fix: disable skywalking by default.
Close #2623 .
* trailing sw
* clean test
2020-11-09 08:12:52 +08:00
YuanSheng Wang
34d53fc48b
test: format by reindex
. ( #2601 )
2020-11-03 13:59:01 +08:00
罗泽轩
432c954a74
fix: plugin hot reload should work on node ( #2430 )
2020-11-03 13:46:24 +08:00
guyang
37a0792eb4
bugfix: fix zipkin plugin error when used with limit count plugin ( #2499 )
...
fix #2377
2020-10-30 16:20:43 +08:00
JinChen
d2aa1d8bfb
feat: get schema by schema_type ( #2509 )
...
* get schema by schema_type
* Fix setting non standard global variable JSON_ schema
* Fix setting non standard global variable JSON_ schema
* Modify the usage of ngx module
* Fix format issues caused by branch conflicts
* Modify the test case to return data
2020-10-29 09:26:59 +08:00
YuanSheng Wang
6a7dfa6775
feat: implement api breaker plugin. ( #2455 )
...
Co-authored-by: liuheng <liuhengloveyou@gmail.com>
2020-10-27 13:40:23 +08:00
罗泽轩
0f15939a9c
fix: compare if the interceptors are injected by ourselves ( #2484 )
...
fix #2482 .
2020-10-21 20:34:32 +08:00
罗泽轩
5906c73a07
fix: we didn't traverse the plugin interceptors correctly ( #2462 )
...
This bug is introduced in 6a543a9
.
2020-10-19 15:55:32 +08:00
nic-chen
a92331c27a
feature: add managed fields in json schema for resources, such as create_time and update_time ( #2444 )
...
* feature: add managed fields in jsonschema for resources, such as create_time and update_time
2020-10-17 18:48:02 +08:00
罗泽轩
6a543a98a2
feat: use interceptors to protect plugin's route ( #2416 )
2020-10-17 17:45:26 +08:00
罗泽轩
b5fe9ced45
change: use 405 as the error code for unsupported HTTP method ( #2418 )
2020-10-16 09:02:35 +08:00
Joey
9d0d351226
Add lables for Route/Service/Consumer/SSL ( #2345 )
...
Signed-off-by: imjoey <majunjiev@gmail.com>
2020-10-09 14:05:14 +08:00
罗泽轩
5b97223592
feat: implemented referer-restriction
plugin ( #2352 )
2020-10-06 18:20:17 +08:00
Firstsawyou
c3de84e285
feature: support consumer_name
as key for limit-req
plugin. ( #2270 )
...
fix #2267
2020-10-06 18:18:22 +08:00
Joey
ebe4f6620a
feat: Add labels for upstream object ( #2279 )
2020-09-28 11:20:09 +08:00
nic-chen
1b24f36639
feat: support storing metadata for plugins ( #2268 )
...
fix #2263
2020-09-23 21:02:56 +08:00
Firstsawyou
a651a29e20
feature: allow empty service
object, it does not contain any upstream
and plugin
( #2259 )
2020-09-21 16:52:18 +08:00
Alex Zhang
dd6ee5e99f
improve: use optimistic locking to avoid concurrency problem in admin PATCH APIs. ( #2216 )
...
There is a potential concurrency problem in all admin PATCH APIs when
two patch requests come in simultaneously, in such case, the patched
result of the first applied request will be overridden, also the
probability is tidy, but from the perspective of software's robust,
that's not what we wanna to see.
In this commit, we use the optimistic locking to avoid this problem, for
the example aforementioned, the second PATCH request will failure, and
it's up to the user to retry this PATCH request again.
The optimistic locking mechanism in ETCD v3 APIs is showed by it's
transcation mechanism.
Signed-off-by: tokers <zchao1995@gmail.com>
2020-09-18 17:20:55 +08:00
YuanSheng Wang
4f900390f9
bugfix: independently check the "disabled" field to avoid schema
ve… ( #2099 )
...
* bugfix: independently check the "disabled" field to avoid `schema` verification
with other parameters.
2020-09-17 22:31:02 +08:00
nic-chen
84ce7ba781
feat: add AK/SK(HMAC) auth plugin. ( #2192 )
2020-09-16 14:27:56 +08:00
Shuyang Wu
4722198548
feature: support etcd v3 by mocking v2 API ( #2036 )
2020-09-16 10:19:04 +08:00
maosy
47d39e7b0e
bugfix: serverless plugin not work in header_filter phase ( #2148 )
2020-09-09 16:12:32 +08:00
nic-chen
502310bef6
feat: support different modes to pass host to upstream ( #2132 )
...
* test: using `httpbin.org` for test cases.
* doc: add doc
* remove golang apt repository and runtime in travis.
* download proto file
Co-authored-by: Yuansheng <membphis@gmail.com>
2020-08-30 22:43:28 +08:00
Alex Zhang
2886b2169b
feature: support multiple certificates(RSA and ECC) for single domain ( #2089 )
2020-08-24 09:23:06 +08:00
YuanSheng Wang
cf882bda1e
feature: divide config.yaml into two files config-custom.yaml & confi… ( #2023 )
...
* feature: divide config.yaml into two files config-custom.yaml & config-default.yaml .
fix #1923
2020-08-18 20:18:55 +08:00
Nirojan Selvanathan
240942e941
feature: implemented request-id
plugin to uniquely track requests in APISIX ( #2026 )
...
fix #2022
2020-08-12 23:09:39 +08:00
nic-chen
65df727af4
feat: script distribute and run ( #1982 )
...
Supporting distribution and execution scripts, we can implement many new features,
such as plug-in orchestration.
2020-08-05 14:11:22 +08:00
YuanSheng Wang
e1c6d371a8
doc: update main picture of APISIX. ( #1964 )
...
* test case: formatted by `reindex`.
2020-08-02 09:35:37 +08:00
nic-chen
29b15892b7
feat: support both standard PATCH and sub path PATCH for admin api ( #1930 )
...
fix #1823
2020-07-31 09:21:08 +08:00
YuanSheng Wang
20207c8108
bugfix: read the request body from the temporary file if it was cached. ( #1863 )
2020-07-29 19:24:27 +08:00
YuanSheng Wang
fbc3c6818d
feature: allow to set retries=0
for upstream object. ( #1919 )
2020-07-29 19:21:50 +08:00
YuanSheng Wang
4015071e30
change: the timeout of healthcheck
should be number type. ( #1892 )
2020-07-27 16:19:01 +08:00
Nirojan Selvanathan
a6179996d4
feature: new plugin request-validator ( #1709 )
2020-07-21 21:38:48 +08:00
mtx2d
24d7007e94
change: removed useless plugin heartbeat
( #1845 )
...
Fix #1176
2020-07-16 17:31:39 +08:00
YuanSheng Wang
2ccf020027
test: format by tool reindex
. ( #1775 )
2020-07-02 22:04:24 +08:00
ko han
aeab71df80
change: 'get_plugin_list' API sorts the return list base on priority ( #1779 )
2020-07-01 17:05:02 +08:00
YuanSheng Wang
ee7533874d
optimize: Use lru to avoid resolving IP addresses repeatedly . ( #1772 )
...
* optimize: Use lru to avoid resolving IP addresses repeatedly .
Cached the global rules to `ctx` .
* optimzie: used a longer time interval for etcd and flush access log.
* optimize: return upstream node directly if the count is 1 .
* optimize: avoid to cache useless variable.
2020-06-28 18:14:38 +08:00
Shenal Silva
492fa71cbc
bugfix: added content-type
for admin API responses ( #1746 )
2020-06-24 13:57:10 +08:00
YuanSheng Wang
6a43a8c735
feature: implemented plugin uri-blocklist
. ( #1727 )
...
first step: #1617
2020-06-22 14:45:55 +08:00
YuanSheng Wang
748e33756b
refactory: collect upstream
logic and put them in a single file. ( #1734 )
...
feature: support dynamic upstream in plugin.
here is a mini example in `access` phase of plugin:
```lua
local up_conf = {
type = "roundrobin",
nodes = {
{host = conf.upstream.ip, port = conf.upstream.port, weight = 1},
}
}
local ok, err = upstream.check_schema(up_conf)
if not ok then
return 500, err
end
local matched_route = ctx.matched_route
upstream.set(ctx, up_conf.type .. "#route_" .. matched_route.value.id,
ctx.conf_version, up_conf, matched_route)
return
```
2020-06-22 14:21:42 +08:00
Eric Shi
2b5ddbca2f
test: add test cases about the string id in service
#1659 ( #1750 )
2020-06-22 12:55:58 +08:00
YuanSheng Wang
f1e66ad1a3
bugfix: id can be string object, which contains ^[a-zA-Z0-9-_]+$
. ( #1739 )
...
Fix #1654
2020-06-21 16:28:11 +08:00
Nirojan Selvanathan
cd98a2bec8
feature: support authorization Plugin for Keycloak Identity Server ( #1701 )
2020-06-16 13:51:36 +08:00
Ayeshmantha Perera
1764890d08
feature: support body filter plugin echo
. ( #1632 )
2020-06-13 20:56:11 +08:00
YuanSheng Wang
b34b554597
change: set default reject code for some plugins ( #1696 )
...
plugin list:
limit-count
limit-conn
limit-req
2020-06-11 15:30:14 +08:00
YuanSheng Wang
1b7c1bc583
test case: formatted by reindex
. ( #1651 )
2020-06-09 20:48:16 +08:00
nic-chen
b59a519197
feat: support resource name for route, service and upstream object. ( #1655 )
2020-06-09 08:26:33 +08:00
stone4774
d6cee162d6
plugin: add consumer-restriction ( #1437 )
2020-06-08 12:49:46 +08:00
nic-chen
ecd684b3a0
feat(admin api): enhance PATCH
method, allow to update partial data. ( #1609 )
2020-06-02 11:28:45 +08:00
Wen Ming
398941b72f
feature: add skywalking plugin. ( #1241 )
2020-05-27 17:55:47 +08:00
YuanSheng Wang
c9a53abbb9
test: updated style. ( #1606 )
2020-05-22 21:34:58 +08:00
qiujiayu
e7d19ec160
feature: support discovery center ( #1440 )
2020-05-14 23:20:44 +08:00
YuanSheng Wang
cafbfe160a
feature: support new field exptime
for SSL object. ( #1575 )
...
fix #1571 .
2020-05-12 15:50:52 +08:00
Nirojan Selvanathan
64fcb9fd72
plugin: add HTTP logger for APISIX ( #1396 )
2020-05-09 16:19:41 +08:00
Ayeshmantha Perera
33b437df4e
feature: implemented plugin sys logger
. ( #1414 )
2020-05-06 10:49:18 +08:00
Vinci Xu
3a9e0fc675
feature: add batch request plugin. ( #1388 )
2020-04-29 21:40:45 +08:00
nic-chen
a53b4707fb
feat: support saving k8s deployment info to upstream ( #1502 )
...
* feat: support save k8s deployment info to upstream
2020-04-27 10:47:17 +08:00
YuanSheng Wang
256cc19980
bugfix: throw error meg when call admin API to enable mqtt plugin but stream_proxy
is disabled. ( #1407 )
2020-04-08 16:24:55 +08:00
Vinci Xu
c363ea46d9
feature: add cors plugin ( #1327 )
2020-03-29 10:30:59 +08:00
Ayeshmantha Perera
8adafa3ee2
feature: add Kafka Logger plugin. ( #1312 )
2020-03-25 08:26:45 +08:00
agile6v
fc948f9578
feautre: support for proxy mirror plugin. ( #1288 )
2020-03-19 08:10:03 +08:00
agile6v
864aa16e91
feature: support for proxy caching plugin based on disk. ( #1153 )
2020-03-15 22:26:08 +08:00
Ayeshmantha Perera
d07871186a
feature: implemented tcp logger plugin. ( #1221 )
2020-03-15 09:22:13 +08:00
YuanSheng Wang
177892f1a4
bugfix: return the schema of plugin grpc-transcode. ( #1265 )
2020-03-14 22:01:47 +08:00
YuanSheng Wang
aa3c71a10a
bugfix: plugin node-status and heartbeat don't have schema. ( #1249 )
2020-03-14 09:34:34 +08:00
YuanSheng Wang
c53f714613
test: added test cases. ( #1252 )
...
fix #1246
2020-03-13 20:06:22 +08:00
YuanSheng Wang
834e9e1873
bugfix: the plugin basic-auth needs required field ( #1251 )
...
Fix #1244
2020-03-13 20:05:44 +08:00
Wen Ming
0ff1c820ae
bugfix: hide ssl private key in admin API. ( #1240 )
2020-03-13 15:56:38 +08:00
Vinci Xu
c2250383f2
bugfix: global ruls admin api should list resource without id ( #1199 )
2020-03-07 19:51:40 +08:00
Wen Ming
be2eec3c6d
feature: supported key-based authentication to the dashboard. ( #1169 )
2020-03-05 14:48:27 +08:00
温铭 WenMing
a6f7c8571e
bugfix: return 400 when not pass plugin name to admin API. ( #1174 )
2020-02-28 16:26:39 +08:00
YuanSheng Wang
2870b79833
bugfix: missing clear
table before to reuse table. ( #1134 )
...
* test: avoid to use regex for matching output.
2020-02-18 21:46:56 +08:00
YuanSheng Wang
7bcf15d45b
core: support to set response headers by table. ( #1129 )
2020-02-18 15:19:12 +08:00
iGeeky
5fff97d0b1
feature: Add wolf rbac plugin ( #1095 )
2020-02-06 15:22:49 +08:00
Nirojan Selvanathan
81c37003b7
feature: add UDP logger plugin ( #1070 )
2020-01-17 23:30:05 +08:00
YuanSheng Wang
ea7e783fca
test: style, reformatted by reindex
tools. ( #1045 )
2020-01-14 09:51:05 +08:00
agile6v
9758a0e334
feature: implemented new fault-injection
plugin. ( #1042 )
2020-01-13 22:22:21 +08:00
KowloonZh
262b9904fb
feature: add basic-auth plugin ( #1029 )
2020-01-13 17:43:04 +08:00
Changwei Hu
9c9be959d3
feature: chash key support more flexible ways ( #1022 )
...
upstream add hash_on, chash key support more flexible ways
routes and services admin api add upstream_conf check
2020-01-10 15:17:17 +08:00
YuanSheng Wang
f22f494362
optimize: updated the error message after updated new jsonschema
. ( #1011 )
2020-01-02 21:56:42 +08:00
YuanSheng Wang
c74e6c2d3a
feature: supported priority
for route. ( #998 )
2019-12-29 17:11:38 +08:00
YuanSheng Wang
c7f9fdf9d7
feature: support to specify TTL for route。 ( #807 )
...
Fix #443 .
2019-12-06 11:13:24 +08:00
YuanSheng Wang
6eca35e1e2
feature: support for adding the specified request header for upstream health check.( #818 )
2019-12-04 13:57:38 +08:00
Lien
fbb51ddadd
plugin: implement plugin response rewrite
2019-11-21 21:49:53 +08:00