Commit Graph

280 Commits

Author SHA1 Message Date
YuanSheng Wang
af3454c6ee
change: updated component lua-resty-radixtree to v0.7 and updated test (#470)
* change: updated component `lua-resty-radixtree` to v0.7 and updated test
  cases.
2019-09-05 17:23:06 +08:00
Yuansheng
9ff1d3fd44 feature: supported to filter route by Nginx variable for router radixtree_uri. 2019-09-02 15:31:21 +08:00
WenMing
f7c04747d5
feature: implemented openid-connect plugin. (#447) 2019-08-30 19:49:45 +08:00
YuanSheng Wang
ad98a2bfdb
feature: supported to set more upstream options. (#451)
* feature: supported to set more upstream options.
* feature: supported to enable websocket for upstream.
2019-08-30 10:15:58 +08:00
YuanSheng Wang
124a49f267
feature: supported to fetch cookie value from ctx.var which is a easy way. (#449)
* feature: supported to fetch cookie value from ctx.var which is a easy way.
2019-08-29 15:45:53 +08:00
YuanSheng Wang
c32da7c9db feature: support more key for limit-rate, limit-count, limit-conn (#444) 2019-08-27 18:29:42 +08:00
WenMing
1e7f66a428
test case: added doc and more test cases for serverless. (#439) 2019-08-26 13:10:15 +08:00
WenMing
816048338b
feature: added serverless plugins. (#86) 2019-08-26 10:37:36 +08:00
YuanSheng Wang
1002765831
feature: support to match IPv6 request. (#341)
* CLI: supported to listen IPv6.

* feature: supported to match route by remote address.
2019-08-24 09:10:11 +08:00
YuanSheng Wang
94d22c04d3
bugfix(grpc-transcode): checked the response code first. (#433)
* bugfix(grpc-transcode): checked the response code first.
2019-08-23 07:30:39 +08:00
WenMing
07b0a9deab feature: added version option for CLI. 2019-08-22 14:57:46 +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
37bc7283ed bugfix: used different name for different checker. 2019-08-20 22:31:44 +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
YuanSheng Wang
56ca3645eb
feature(router): implemented new SNI router radixtree_sni, and change (#418)
* feature(router): implemented new SNI router `radixtree_sni`, and change
  default router to `radixtree_uri` and `radixtree_sni`.

* optimize: avoided one lrucache call.
2019-08-20 13:03:25 +08:00
YuanSheng Wang
560a3115a1
bugfix: avoided to cover the original service configuration. (#416)
* bugfix: avoided to cover the original service configuration.
2019-08-19 15:26:38 +08:00
YuanSheng Wang
59da5e78e5
bugfix: stop the checker if the config source is changed. (#406)
* bugfix: stop the checker if the config source is changed.

* test: added new test cases.
2019-08-19 14:02:33 +08:00
chnliyong
f26f8ba6da feature: added IPv4 whitelist/blacklist plugin ip-restriction (#398) 2019-08-19 13:59:47 +08:00
YuanSheng Wang
d930b7b122
bugfix: allowed to use more limit key. (#413)
* bugfix: allowed to use more limit key.

Fix #412.
2019-08-19 13:35:16 +08:00
Yuansheng
a9898cb6a7 feature(plugin): added new option server_addr for limit key. 2019-08-18 08:07:16 +08:00
Yuansheng
149d963df3 bugfix(healthcheck): set http status for passive healthcheck. 2019-08-13 13:58:19 +08:00
YuanSheng Wang
1ef5828090
feature: supported to use router lua-resty-radixtree. (#391)
* feature: supported new router `lua-resty-radixtree`.

* change(nginx.conf): sync from CLI.
2019-08-12 09:04:41 +08:00
WenMing
ffc71f529c
plugins: removed example-plugin from yaml configure. (#383) 2019-08-07 16:35:45 +08:00
YuanSheng Wang
926c3386e0
feature: add new option release, will release it automatically (#381)
* feature: add new option `release`, will release it automatically
  when cached item is useless.
2019-08-07 13:42:48 +08:00
Yuansheng
2686fd2877 change: typo. 2019-08-05 13:26:16 +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
ae0bdfb6d8 change: simple code style. 2019-08-05 00:04:42 +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
1ce988346a optimize(router): used local cache variable to avoid one lrucache call. 2019-08-04 23:20:55 +08:00
Yuansheng
66ac7ed200 doc(architecture): added new doc about router. 2019-08-04 23:20:55 +08:00
Yuansheng
3bc0d64b49 feature: supported to match route by host + uri. 2019-08-04 23:20:55 +08:00
Yuansheng
2d15718a2c feature: allowed to use different router. 2019-08-04 23:20:55 +08:00
YuanSheng Wang
2f896f3d3e
optimze(plugin): set right default size. (#361)
* optimize(plugin): set right default size.
* travis: print the OS name.
2019-08-04 01:49:49 +08:00
YuanSheng Wang
7e36cf5b9e
bugfix: failed to fetch upstream id in balancer phase. (#356)
* bugfix: failed to fetch upstream id in `balancer` phase.
* bugfix: cached `route` object maybe not a Lua table.
2019-08-02 16:29:00 +08:00
Yuansheng
884c97b67a bugfix: allowed to serialise Lua table if it is excessive nesting. 2019-08-01 11:30:14 +08:00
YuanSheng Wang
db0001f1e7
change: upgrade lua-resty-etcd to version v0.6. (#346)
Fix #343.
2019-08-01 01:08:48 +08:00
Yuansheng
9e6fceb26e bugfix: use short timeout and report heartbeat to www.iresty.com. 2019-07-31 12:53:57 +08:00
WenMing
1d3f7ac6be
fixed code style. (#329) 2019-07-29 15:37:20 +08:00
YuanSheng Wang
18d5a5cff4
bugfix: only report heartbeat in worker 0 process. (#326)
* bugfix: only report heartbeat in worker 0 process.
* change: fixed wrong comments in yaml config.
2019-07-29 11:45:51 +08:00
YuanSheng Wang
b8fd0da486
feature: allow user to define how to create route index. (#325) 2019-07-28 19:37:31 +08:00
chnliyong
38b5d6d3d9 add health check json schema constraint and test cases. issue#266 2019-07-28 10:28:13 +08:00
YuanSheng Wang
04129add27
feature: supported debug mode. (#319)
* feature: supported debug mode.

print the plugin list which sort by priority.

* feature: show the enabled plugin list in header for debug mode.
2019-07-27 09:10:06 +08:00
WenMing
148bc4068b
feature: supported zipkin plugin. (#304) 2019-07-26 17:16:31 +08:00
WenMing
8c5d5d2313
bugfix: added conf_type to the key of limit plugins. (#309) 2019-07-25 10:56:05 +08:00
YuanSheng Wang
f81412750f plugin: fixed typo and save consumer id. (#307) 2019-07-25 10:43:51 +08:00
Yuansheng
a904aa6048 change(jwt): typo. 2019-07-25 00:43:19 +08:00
Yuansheng
efadc91c03 feature: supported JWT plugin and added test cases. 2019-07-25 00:17:24 +08:00
Yuansheng
b4268301a1 change(key-auth): removed useless comments and used simple code. 2019-07-25 00:17:24 +08:00
YuanSheng Wang
02f66d4cc4
feature: allow plugins to handler balance phase. (#299)
*  feature: allow plugins to handler balance phase.
2019-07-24 09:01:06 +08:00
YuanSheng Wang
526e0cb70c
feature(balancer): supported to set retries and timeouts, and set upstream node status by passive health check. (#288)
* feature(balancer): supported to set retries and timeouts, and set
  upstream node status by passive health check.
2019-07-22 11:27:30 +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
WenMing
3eaa17c5da
perf: used table.new for plugins load. (#274) 2019-07-19 15:51:47 +08:00
YuanSheng Wang
a0678ff66f
optimize: removed useless local cache. (#270) 2019-07-19 06:41:15 +08:00
YuanSheng Wang
1aba1ce873
bugfix: do nothing for current checker when worker is exiting. (#264)
Fix #264 .
2019-07-18 13:53:02 +08:00
Yuansheng
39af6626b8 bugfix: used .* to match domain, which it can be optimized. 2019-07-18 13:39:52 +08:00
YuanSheng Wang
5e119c4828
luarocks: added new dependency lua-resty-healthcheck. (#249)
* luarocks: added new dependencies `lua-resty-healthcheck` and `lua-resty-worker-event`.

* feature(balancer): fetched health node from upstream nodes in balancer phase when enabled 
  healthcheck.
2019-07-17 23:52:15 +08:00
YuanSheng Wang
7cf243cdf9
change: code style + added local cache. (#241)
* change: code style + added local cache.
* luacov: added new path `lua/apisix/http/*`.
2019-07-12 19:08:59 +08:00
WenMing
9fa04a923c
feature: supported real_ip configure in nginx.conf and added functions to get ip and remote ip. (#236)
* feature: supported real_ip configure in nginx.conf and added functions to get ip and remote ip.

* fixed code style.
2019-07-12 11:25:17 +08:00
Yuansheng
9513e3d37c change: moved service and ssl source file to http folder. 2019-07-12 10:40:45 +08:00
Yuansheng
20d2ee5d7b change: moved service and upstream source file to http folder. 2019-07-12 10:40:45 +08:00
YuanSheng Wang
565cb1653c
feature: added init action in makefile to initialize the runtime (#205)
* feature: added `init` action in makefile to initialize the runtime
  environment.
* doc: added more doc about `make` command.
* CLI: find the Lua from default PATH.
* bugfix: used short connection when to fetch node status.
2019-07-05 19:01:20 +08:00
YuanSheng Wang
a626bde242 bugfix plugin: used config's version as a part of key. (#190) 2019-07-03 11:36:14 +08:00
YuanSheng Wang
85f420977c change: added prefix http_ for http request. (#179) 2019-07-01 17:24:38 +08:00
YuanSheng Wang
53c3008f4f
change: reimplemented the feature heartbeat with plugin way. (#177)
* change: reimplemented the feature `heartbeat` with plugin way.
2019-07-01 15:53:52 +08:00
WenMing
df7afe4f95
feature: added admin API to get plugins' list. (#176) 2019-07-01 13:29:21 +08:00
WenMing
92f019c7a1
feature: added admin API for plugins' schema. (#174) 2019-06-30 22:35:39 +08:00
希望之石
31671cc32c move docs of plugins from /lua/apisix/plugins to /doc . #166 (#167) 2019-06-28 16:36:02 +08:00
Yuansheng
37cd80087d change: modified the error message when failed to create etcd
instance.
2019-06-27 20:41:08 +08:00
WenMing
99895c53a0
style: fixed code style. (#163) 2019-06-27 17:57:50 +08:00
coolsoul
f365deb568 bugfix: fixed typo about consumer and add error handler when read config file. (#162) 2019-06-27 17:32:52 +08:00
Yuansheng
fc0b9705ec change: wrote more information for debugging the response from etcd. 2019-06-26 21:28:32 +08:00
YuanSheng Wang
5e19e9e1cf
bugfix: etcd only kept less than 1000 modified history, it maybe fail if (#160)
* bugfix: etcd only kept less than 1000 modified history, it maybe fail if
  we only use the `modifyIndex` of data, we should check the index value
  in header too.
2019-06-26 19:35:05 +08:00
Yuansheng
2ae403fd46 bugfix: used long interval to fetch node status. 2019-06-26 17:44:22 +08:00
Yuansheng
9309abaed7 feature: support to fetch the ssl schema. 2019-06-24 18:49:30 -04:00
Yuansheng
1bb135af60 feature: supported for using wildcard to match the SNI of client https
request.
2019-06-24 18:49:30 -04:00
Yuansheng
7dbcea8571 feature: supported to manage ssl item by admin API and HTTPS client request. 2019-06-24 18:49:30 -04:00
YuanSheng Wang
72e0fe2393
feature: supported to collect nginx status and pushed it to etcd. (#149)
* feature: supported to collect nginx status and pushed it to etcd.
* the return value of the exported api is the same as the other methods in the plugin.
2019-06-22 08:24:02 +08:00
WenMing
c0c5c08644
feature: added admin API to get schema for FE. (#148)
* feature: added admin API to get schema for FE.

* added test cases.

* bugfix
2019-06-21 21:25:24 +08:00
WenMing
9961ae4e85
perf: removed useless split uri for admin APIs. (#146) 2019-06-21 16:11:04 +08:00
WenMing
13c4baa547
feature: added description of schema. (#145) 2019-06-21 15:16:05 +08:00
YuanSheng Wang
ca1f5e7b0d
feature: added remote_addr attribute to route. (#142)
* feature: added `remote_addr` attribute to route.
2019-06-21 06:39:47 +08:00
Yuansheng
678e4228a0 feature: supported for using wildcard pattern to match host. 2019-06-20 10:00:07 -04:00
WenMing
9ee0d2c173
test: added test cases for limit req. (#136) 2019-06-19 23:52:59 +08:00
WenMing
6af8957f87
feature: added admin api for consumer. (#135) 2019-06-19 19:14:58 +08:00
YuanSheng Wang
36338bc95b
feature: merged the configuration between route and service. (#133)
* feature: merged the configuration between route and service.
2019-06-19 15:51:28 +08:00
WenMing
a76f690abb
test: added test cases for limit conn and limit count. (#131) 2019-06-19 13:06:03 +08:00
YuanSheng Wang
912e8b106d
feature: supported to match host of client request. (#130) 2019-06-19 12:41:38 +08:00
Yuansheng
c3f3ddb4d4 bugfix: checked if the service or upstream were referenced when user
submit a delete operation.
2019-06-18 17:06:49 +08:00
YuanSheng Wang
43cbd138e7
change: merged the similar code, and not allowed to specify id when use POST method. (#128)
* change: merged the similar code, and not allowed to specify id when use
  POST method.
2019-06-18 16:15:55 +08:00
YuanSheng Wang
9460acd005
bugfix: avoid generating huge duplicate error logs when synchronizing data from etcd. (#127) 2019-06-18 15:41:32 +08:00
YuanSheng Wang
61f5f3af2a
bugfix: supported to LRU table to cache the JSON schema validator. (#126) 2019-06-18 11:23:18 +08:00
YuanSheng Wang
97a1c20420
doc(v0.5): set the configuration with admin API (#125)
* doc: set the configuration with admin API, except plugin `key-auth`.

Fix #124
2019-06-18 09:40:00 +08:00
YuanSheng Wang
c02d44f8e7
feature: added test cases about round-robin load balance algorithms. (#123)
* feature: added test cases about round-robin load balance algorithms.

* feature: added test cases about consistent hash algorithms.
2019-06-17 23:17:41 +08:00
YuanSheng Wang
371be03810
test: added test cases for prometheus plugin. (#122)
* test: added test cases for prometheus plugin.
2019-06-17 21:08:17 +08:00