Commit Graph

257 Commits

Author SHA1 Message Date
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
Ayeshmantha Perera
cee03225f8
feature: support multiple etcd address. (#1283) 2020-03-19 08:01:41 +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
Wen Ming
be2eec3c6d
feature: supported key-based authentication to the dashboard. (#1169) 2020-03-05 14:48:27 +08:00
YuanSheng Wang
de16a7e04f
bugfix: updated the dns parse result by TTL. (#1077) 2020-02-19 20:30:34 +08:00
agile6v
01a5b807b5
feature: Add support for PROXY Protocol. (#1113) 2020-02-12 10:53:20 +08:00
Yousa
60b2493f5b CLI: bin/apisix to support the SO_REUSEPORT (#1085)
Fix #342
2020-02-09 17:19:45 +08:00
iGeeky
5fff97d0b1
feature: Add wolf rbac plugin (#1095) 2020-02-06 15:22:49 +08:00
罗泽轩
fda20d99d5
feature: make the number of file is as configurable as the connections. (#1098) 2020-02-02 09:13:34 +08:00
Nirojan Selvanathan
81c37003b7 feature: add UDP logger plugin (#1070) 2020-01-17 23:30: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
Yousa
eff1ca78e9 feature: added support CORS for /apisix/admin. (#982) 2019-12-24 14:44:42 +08:00
Nirojan Selvanathan
3399c7d5ee Removing the autogenerated nginx.conf file (#952) 2019-12-11 13:43:38 +08:00
Nirojan Selvanathan
9e0030e2e8 feature: added dev mode flag in config yaml to set the nginx worker_process to one (#926) 2019-12-05 00:09:20 +08:00
chnliyong
7443133031
Resolve #882 and simplify conf (#894)
* Resolve #882 and simplify conf
2019-11-24 23:05:52 +08:00
Lien
fbb51ddadd plugin: implement plugin response rewrite 2019-11-21 21:49:53 +08:00
YuanSheng Wang
2c57621f23 bugfix: avoid a useless redirect when access /apisix/dashboard. (#886) 2019-11-20 19:01:59 +08:00
YuanSheng Wang
4ee11806de
travis: supported to run APISIX with Tengine. (#683) 2019-11-02 09:05:38 +08:00
YuanSheng Wang
a1c56ceb53 bugfix: skipped to init etcd if use local file as config center. (#737) 2019-11-02 07:59:59 +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
4efc1202dc optimize: avoid concat string object, and kept source route id and se… (#738)
* optimize: avoid concat string object, and kept source route id and service id.

* default config: changed the timeout of etcd to 3 sec.
2019-10-28 15:57:30 +08:00
YuanSheng Wang
d8b0c2d04c change: removed router r3. (#725) 2019-10-23 12:59:22 +08:00
WenMing
9ebd052403 bugfix: removed epoll in nginx.conf. (#711) 2019-10-18 21:55:01 +08:00
coolsoul
8075520fc8 CLI: added more nginx configures in the config.yaml. 2019-10-15 19:59:40 +08:00
WenMing
f94c2b0948 config: fixed code style. (#684) 2019-10-13 09:27:12 +08:00
fc13240@gmail.com
f22b0e0d52 bugfix: increase maxLength of certificate (#682) 2019-10-12 16:14:50 +08:00
YuanSheng Wang
9074a8a3b8
feature: support for host + uri as an index (radixtree) (#671) 2019-10-12 14:24:34 +08:00
WenMing
bf2a769071 bugfix: set ssl_ciphers to old mode as default. (#667) 2019-10-11 11:30:47 +08:00
YuanSheng Wang
0e10fa6c68
feature: enabled HTTP2 and supported to set ssl_protocols. (#663)
* feature: enabled HTTP2 and supported to set `ssl_protocols`.
* bugfix: used default certificate if failed to load certificate by SNI.

Fix #595.
2019-10-10 22:28:58 +08:00
YuanSheng Wang
d05fcc6854
feature: supported to print the input parameters and return values of… (#641)
* feature: supported to print the input parameters and return values of the specified function for debugging.
2019-10-09 11:26:54 +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
0d36723e6f
change(dashboard): use /apisix/dashboard to login dashboard. (#611)
change(CLI): exported new argument of `error_log.level`.
change(CLI): enabled dashboard when use an independent admin port.
2019-09-27 10:16:29 +08:00
YuanSheng Wang
894fa584e0
feature: supported to use host name in upstream (#522)
* feature: supported to config resolver in yaml config file.

* feature: supported domain host for upstream node
2019-09-18 17:41:44 +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 Wang
d8d7f018dc
feature: support to load routes from local yaml file. (#464)
* feature: support to load routes from local yaml file.
2019-09-09 17:42:20 +08:00
WenMing
f7c04747d5
feature: implemented openid-connect plugin. (#447) 2019-08-30 19:49:45 +08:00
Yuansheng
2400c048b7 change: if we don't set any IP list, then any IP access is allowed by default for admin API. 2019-08-29 16:16:24 +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
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 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
chnliyong
f26f8ba6da feature: added IPv4 whitelist/blacklist plugin ip-restriction (#398) 2019-08-19 13:59:47 +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
chnliyong
14c2b55e22 bugfix: fixed location of dashboard in nginx.conf.(#386) 2019-08-09 15:09:07 +08:00
Yuansheng
66ac7ed200 doc(architecture): added new doc about router. 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
2dd6f2742c change(nginx.conf): sync from CLI. 2019-08-01 16:03:39 +08:00
WenMing
f8deb1eb3b
feature: support multiple ips of allow. (#340) 2019-07-31 14:51:00 +08:00
Yuansheng
dd20bc79ac change(CLI): removed duplicated include option. 2019-07-31 12:32:39 +08:00
WenMing
bbe481987e
bugfix: fixed wrong of allow and deny in nginx.conf. (#330)
only has the allow is useless, which is must works with deny. it's security problem.
2019-07-29 18:07:10 +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
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
Yuansheng
efadc91c03 feature: supported JWT plugin and added test cases. 2019-07-25 00:17:24 +08:00
YuanSheng Wang
bce0c673c5
CLI: added shdict upstream-healthcheck. (#279) 2019-07-21 09:08:06 +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
049014596b
test(APISIX.pm): added new cpath. change: updated nginx.conf. (#247)
* test(APISIX.pm): added new `cpath`.
* change: updated nginx.conf.
2019-07-15 08:24:35 +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
vkill
1e302f0545 Support configure node_ssl_listen 2019-07-05 08:59:14 +08:00
YuanSheng Wang
2a9ab09401
feature: supported to use a separate port for admin dashboard. (#194)
* feature: supported to use a separate port for admin dashboard, and disabled admin port by default.
* travis: run a mini test case for CLI.
2019-07-03 21:03:17 +08:00
YuanSheng Wang
85f420977c change: added prefix http_ for http request. (#179) 2019-07-01 17:24:38 +08: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
Yuansheng
43327b3697 bugfix: maybe missing with-http_stub_status_module module in openresty
Fix #144.

change: checked the current directory if it's a apisix home folder,
  if not then use `/usr/local/openresty`.

change: changed the core file folder to `/tmp/apisix_cores`.
2019-06-21 16:21:02 +08:00
Yuansheng
dc12e8dc5f makefile: installed admin lua folder. 2019-06-17 15:57:02 +08:00
Yuansheng
77fdaaa27d feature: supported to load the dependencies library in apisix
home folder.
2019-06-16 07:46:17 +08:00
Yuansheng
3a709c790c feature: supported to install all of the dependencies library to
home folder.
2019-06-15 23:22:29 +08:00
WenMing
ba576985b1
bugfix: added the plugin load. (#95)
* bugfix: added the plugin load.

* test: added test cases for limit count.

* test: added Lua sleep at the end of init_worker.

left enough time for read data from etcd, otherwise worker maybe deal with request before get data from etcd.

* test: added no_shuffle();
2019-06-14 16:11:14 +08:00
YuanSheng Wang
2ebc2cee69
test: added a fully test case for gateway node. (#90)
* test: added a fully test case for gateway node.
2019-06-14 10:27:45 +08:00
YuanSheng Wang
8cfd7d4180
feature: implemented routes API for admin user, allowed user to manage route. (#79)
* feature: supported to generate admin API basic configurations when the admin API is enabled.
* feature: supported to manage route API for admin user, it contains: PUT, GET, DELETE and POST.
* feature: used json schema to check if the request configuration is valid.
2019-06-13 12:01:36 +08:00
YuanSheng Wang
463e5601b3
optimize: used lru way to cache the validator object for schema. (#77)
* optimize: used `lru` way to cache the validator object for schema.

Fix #76.
2019-06-11 23:47:00 +08:00
YuanSheng Wang
0bac20f4d4
feature: implemented plugin limit-conn. (#75)
* feature: implemented plugin `limit-conn`.
* luarocks: updated the library `lua-resty-ngxvar` version to 0.3.
2019-06-11 17:31:40 +08:00
Yuansheng
16e5b64a37 bugfix: used smaller timeout for etcd, avoided socket leak. 2019-06-11 07:41:49 +08:00
Yuansheng
a41d54a653 change: added a global swith to control if enable the feature heartbeat.
optimize: used a shorter `user-agent` name.
2019-06-10 17:25:49 +08:00
Yuansheng
c9d0879194 test: checked the error log.
plugin prometheus: renamed the share dict name to `prometheus-metrics`.
2019-06-10 17:25:49 +08:00
Yuansheng Wang
fe22428ab5 optimize: merged phase rewrite and access, make it faster. 2019-06-06 10:49:29 +08:00
Yuansheng Wang
8cea2c66d7 bugfix: used a single option as the apisix configuration prefix name. 2019-06-05 14:21:25 +08:00
Yuansheng Wang
f2195a5937 doc: how to use apisix. 2019-06-05 01:25:48 -04:00
Yuansheng Wang
b24ac53977 CLI: generated different nginx.conf for different OS. 2019-06-03 16:15:57 +08:00
Yuansheng Wang
ffea12b92a change: added a new web page to show the Nginx status. 2019-05-31 15:21:51 +08:00
Yuansheng Wang
ff5bf33668 optimize: enabled keepalive flag for upstream. 2019-05-29 10:31:20 +08:00
Yuansheng Wang
33d79947b5 change: all of the config were put under /apisix/.
Fix #33.
2019-05-28 16:40:33 +08:00
WenMing
99bd870ff8
conf: removed user resty and add server header. (#29)
* conf: removed user resty and add server header.

* dir: added `logs` dir.
2019-05-28 10:19:34 +08:00
Yuansheng Wang
122777cffa feature: implemented plugin prometheus. 2019-05-24 23:20:21 +08:00
Yuansheng Wang
162c2e0dc7 feature: added core.request module. 2019-05-23 15:19:07 +08:00
Yuansheng Wang
1f1696c0e9 feature: implemented plugin limit-count. 2019-05-21 11:17:46 +08:00
Yuansheng Wang
20e240bb96 feature: implemented new feature limit-req. 2019-05-21 10:02:06 +08:00
YuanSheng Wang
95712403c0
feature: supported balancer phase. (#16) 2019-05-17 15:58:15 +08:00
Yuansheng Wang
d605a01b2a change: rename the project to apisix.
Fixed #14.
2019-05-13 14:31:26 +08:00
YuanSheng Wang
e7aeab2e9f
feature: fetched the routes from etcd and update the routes automatic. (#11) 2019-05-11 10:14:46 +08:00
Yuansheng Wang
f24508655b change: removed option prefix of etcd config. 2019-05-08 14:09:46 +08:00
Yuansheng Wang
5f76d73a9c change: make apimeta as a global variable and it include most libraries. 2019-05-08 11:30:16 +08:00
YuanSheng Wang
2927a60c89
feature: supported to load the plugin and passed a simple example. (#7) 2019-05-08 10:38:45 +08:00
Yuansheng Wang
0b302a2d47 change: used '###-##-###' as the name style of plugin. 2019-05-07 15:58:44 +08:00
YuanSheng Wang
b7694e0701
feature: mini example to load plugin. (#4)
* feature: mini example to load plugin.
2019-05-06 16:02:28 +08:00
YuanSheng Wang
a18afea659
change: added doc of how to load plugin. (#1) 2019-05-06 10:14:39 +08:00
Yuansheng Wang
0ba6830743 feature: supported to load config from YAML config. 2019-04-11 16:53:21 +08:00
Yuansheng Wang
4757416918 init version. 2019-04-10 11:08:25 +08:00