Commit Graph

178 Commits

Author SHA1 Message Date
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
jiangyongfeng
553f4e9cfd test: fixed typo in test cases #508 (#853) 2019-11-14 12:37:46 +08:00
YuanSheng Wang
ecd4a57a24 test: reformatted by reindex tools. (#798) 2019-11-04 14:14:07 +08:00
Lien
b91d2d36c0 Fix: allow set multiple URI in one route config (#797)
* route support uris

* fix uris in router with test cases

* remove line has trailing whitespace

* remove line has trailing whitespace

* fix test case

* use new test case for  multiple uris
2019-11-04 14:00:52 +08:00
Lien
b119a5c94b bugfix: support more built-in parameters when set chash balancer (#775) 2019-11-03 18:25:51 +08:00
YuanSheng Wang
d112c97a61
bugfix: exported schema for plugin serverless. (#787) 2019-11-01 22:32:19 +08:00
YuanSheng Wang
ad376f83f8
change: updated resty-radixtree to v1.5. (#768)
* feature: supported userdefine lua function in router `radixtree_uri`.
* feature: supported userdefine lua function in router `radixtree_host_uri`.
2019-11-01 09:49:09 +08:00
YuanSheng Wang
da853702d6 feature: supported redirect plugin. (#732) 2019-10-31 10:19:22 +08:00
WenMing
12a2b01b71
license: add ASF header. (#743) 2019-10-31 09:27:28 +08:00
YuanSheng Wang
d06fbfa13c change: used lua-resty-jsonschema instead of lua-rapidjson. (#703) 2019-10-23 12:58:10 +08:00
fc13240@gmail.com
f22b0e0d52 bugfix: increase maxLength of certificate (#682) 2019-10-12 16:14:50 +08:00
Janko
25fd6983ea feature(plugin): rewrite upstream info with plugin proxy-rewrite (#594)
* test: add `proxy-rewrite` plugin test cases
2019-09-27 15:14:48 +08:00
YuanSheng Wang
3f700c5dc1
doc(admin api): route. (#593)
feature: supported new fields hosts, remote_addrs and vars for router.

fix: #592
2019-09-26 17:47:08 +08:00
YuanSheng Wang
de3c95da21
feature: support consumer bind plugins. (#544)
* feature: saved consumer plugin information.
* feature: supported to merge plugin with consumer and route.
2019-09-22 06:05:58 +08:00
YuanSheng Wang
681a42cbed
feature: support upstream nodes with a weight of 0. (#536)
* test: added test cases.

* doc: updated doc.

current implementation is enough, it supports weight equal 0 now.
2019-09-18 12:00:53 +08:00
Carlos Hwang
c0a1363e6e feature: support http method 'connect' & 'trace' (#530) 2019-09-17 16:57:51 +08:00
YuanSheng Wang
c080f6cc66
doc: added new example to stream-proxy. (#520)
* doc: added new example to `stream-proxy`.
* doc: new doc about `mqtt-proxy`.
2019-09-16 13:03:26 +08:00
YuanSheng Wang
ad2b67ee81
feature: supported to added pluings to stream routes. (#513)
* feature: supported to added pluings to stream routes.
* feature: supported MQTT protocol.
2019-09-16 10:58:27 +08:00
YuanSheng Wang
4aaaf3ee5a
feature: support dynamic stream(TCP/UDP) proxy in apisix. (#501)
* feature: support stream in apisix.
* doc: added new feature in README.
* CLI and added more doc.
2019-09-12 13:27:18 +08:00
Yuansheng
14d5a38fc3 test: renamed base component. 2019-09-10 16:15:59 +08:00
YuanSheng Wang
912685c818
feature: supported to save/delete/change global rule. (#492)
* feature: supported to load and run global rule.
2019-09-10 15:27:40 +08:00
Yuansheng
4bb40df857 change(test): name style. 2019-09-10 10:07:29 +08:00
WenMing
f7c04747d5
feature: implemented openid-connect plugin. (#447) 2019-08-30 19:49:45 +08:00
WenMing
816048338b
feature: added serverless plugins. (#86) 2019-08-26 10:37:36 +08:00
Yuansheng
1108ea786b change: renamed plugin grpc-proxy to grpc-transcode. 2019-08-22 14:57:02 +08:00
nic-chen
e46e8f2130 * feature: support grpc-proxy REST <-> gRPC case. (#410) 2019-08-21 23:10:34 +08:00
Yuansheng
6963fbb6c0 feature: added new API /apisix/admin/plugins/reload to hot reload plugin. 2019-08-20 22:25:11 +08:00
YuanSheng Wang
275cfa8c73
change(router): use radixtree_sni as default SSL router. (#419)
* change(router): use `radixtree_sni` as default SSL router.

* change(route): use `radixtree_uri` as default HTTP(S) router.

* luarocks: removed `lua-resty-libr3` component by default.
2019-08-20 22:07:59 +08:00
chnliyong
f26f8ba6da feature: added IPv4 whitelist/blacklist plugin ip-restriction (#398) 2019-08-19 13:59:47 +08:00
WenMing
ffc71f529c
plugins: removed example-plugin from yaml configure. (#383) 2019-08-07 16:35:45 +08:00
Yuansheng
ea7099b410 feature: supported PATCH method for upstream API. 2019-08-05 13:26:16 +08:00
YuanSheng Wang
4850f91e82
feature: supported PATCH method for service API. (#370)
* feature: supported `PATCH` method for `service` API.
2019-08-05 12:51:21 +08:00
Yuansheng
77e5b50591 feature: supported to patch whole route content. 2019-08-05 00:04:42 +08:00
Yuansheng
19e09b539f feature: supported PATCH method for admin routes API. 2019-08-05 00:04:42 +08:00
YuanSheng Wang
011e0eff5d
test: use a simple way to write test case. (#323)
* test: avoid duplicate code and make test cases clearer.
2019-07-28 11:10:30 +08:00
chnliyong
38b5d6d3d9 add health check json schema constraint and test cases. issue#266 2019-07-28 10:28:13 +08:00
WenMing
148bc4068b
feature: supported zipkin plugin. (#304) 2019-07-26 17:16:31 +08:00
Yuansheng
efadc91c03 feature: supported JWT plugin and added test cases. 2019-07-25 00:17:24 +08:00
WenMing
e6bc0040c1
feature: added desc for upstream and service in schema. (#289) 2019-07-22 10:42:02 +08:00
YuanSheng Wang
398579e511
schema(healthcheck): added the passive definition to schema. (#285) 2019-07-21 22:52:52 +08:00
YuanSheng Wang
56a8b152b7
schema: added more valid method. (#287)
* schema: added more valid method.
2019-07-21 22:39:07 +08:00