Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
189 commits
Select commit Hold shift + click to select a range
a5cb1be
doc: add short introduction about how to change log level (#1484)
eiyouwang Apr 24, 2020
ca91387
test: fix regex usage in some cases (#1504)
spacewander Apr 26, 2020
0e828f4
rocks: used tag instead of branch. (#1503)
moonming Apr 26, 2020
d426bbb
doc: update steps of build dashboard. (#1506)
moonming Apr 26, 2020
a53b470
feat: support saving k8s deployment info to upstream (#1502)
nic-chen Apr 27, 2020
06acbe9
test: check lua code style in all Lua file under apisix/ (#1518)
spacewander Apr 28, 2020
50d2957
doc: fix the doc style for serverless*.md (#1511)
dabue Apr 28, 2020
0f33105
bugfix: init `clean_handlers` when add new item from etcd. (#1412)
membphis Apr 28, 2020
972840e
fix: skip tombstone mark when iterating the global values (#1517)
spacewander Apr 28, 2020
89a07ef
test: reindex by tools `reindex`. (#1519)
membphis Apr 28, 2020
c6cc2b5
plugin(kafka-logger): Updating kafka logger to use the batch processo…
sshniro Apr 29, 2020
3a9e0fc
feature: add batch request plugin. (#1388)
ShiningRush Apr 29, 2020
d970dab
doc: fixed wrong configurations in the logger docs (#1530)
sshniro Apr 29, 2020
a446cd0
change: limit the maximum length of Lua code to 100. (#1525)
membphis Apr 29, 2020
33b437d
feature: implemented plugin `sys logger`. (#1414)
May 6, 2020
ffce4b7
bugfix(CORS): using rewrite phase and add lru cache for multiple orig…
ShiningRush May 6, 2020
0068f28
change: updated the dashboard submodule to latest version. (#1540)
May 6, 2020
e8091f6
doc: alter logger plugins documentations. (#1541)
May 7, 2020
fd626ae
bugfix: Adding function to remove stale objects from kafka logger (#1…
sshniro May 7, 2020
5570e64
bugfix: removed stale objects from tcp logger (#1543)
sshniro May 7, 2020
a328fcc
bugfix: removing stale objects from udp logger (#1544)
sshniro May 7, 2020
fa59f20
optimize: use buffer for plugin `syslog`. (#1551)
May 8, 2020
64fcb9f
plugin: add HTTP logger for APISIX (#1396)
sshniro May 9, 2020
0300304
bugfix: got 500 error when using post method in grpc-transcode plugin…
nic-chen May 11, 2020
3300f4d
bugfix: removed stale object in sys log. (#1557)
May 11, 2020
463c521
feature(prometheus): support to collect metric `overhead` (#1576)
membphis May 12, 2020
cafbfe1
feature: support new field `exptime` for SSL object. (#1575)
membphis May 12, 2020
e9eba07
doc: Added FAQ about how to reload your own plugin (#1568)
Miss-you May 12, 2020
89baaea
doc: repair the white paper's url of README (#1582)
hiproz May 12, 2020
3ad79cc
chore: fix function name typo in ip-restriction (#1586)
spacewander May 14, 2020
05b3c39
doc: added http logger Chinese docs (#1581)
scaat May 14, 2020
e7d19ec
feature: support discovery center (#1440)
qiujiayu May 14, 2020
2c17ca7
doc:add chinese version for install doc (#1590)
ShiningRush May 14, 2020
3906545
bugfix: incorrect variable name `hostCount` (#1585)
dengliming May 14, 2020
e79cf65
doc: update kakfa logger plugin's cn version (#1594)
ShiningRush May 18, 2020
6fb3ebe
doc: fix the doc style for *_logger.md (#1605)
dabue May 22, 2020
9a6fc51
bugfix: raise error when none of the configured etcd can be connected…
spacewander May 22, 2020
c9a53ab
test: updated style. (#1606)
membphis May 22, 2020
dab6fd1
release: released 1.3 version. (#1558)
moonming May 25, 2020
5aeac03
bugfix(CLI): fixed garbled Chinese response in browser. (#1598)
xxm404 May 25, 2020
cdf4acb
change: updated prometheus to version 1.1 . (#1607)
membphis May 26, 2020
dff6ca3
doc: add asf.yaml. (#1612)
moonming May 26, 2020
d14371f
fix some doc style for response-rewrite* and health-check.md (#1611)
dabue May 26, 2020
1bc2af5
makefile: add default check for install command (#1591)
ShiningRush May 26, 2020
67a2096
test cases: add doc and test cases for how to redirect http to https.…
moonming May 26, 2020
398941b
feature: add skywalking plugin. (#1241)
moonming May 27, 2020
9792045
doc: removed external links and docs. (#1619)
moonming May 27, 2020
cebd3e9
doc: add coc file (#1589)
ShiningRush May 28, 2020
f16e25d
bugfix: change the version of skywalking to 1.0-0 (#1624)
dabue May 28, 2020
6cf21d3
bugfix(prometheus): the `overhead` should use milliseconds. #1615 (#1…
dabue May 28, 2020
39ef6fb
feature: add option to include request body in log util (#1545)
sshniro May 29, 2020
25e608c
bugfix: fix typo of `instance_id` in skywalking plugin. (#1629)
qiujiayu May 31, 2020
2e67c98
doc: added the link to discovery.md (#1631)
qiujiayu Jun 1, 2020
fa1d2c6
change(ASF): add notifications to mailing list. (#1635)
moonming Jun 1, 2020
e2154d9
change(doc): style for HttpResponse section (#1634)
Gerrard-YNWA Jun 1, 2020
887e812
doc(limit-count): fixed document description does not match source co…
xxm404 Jun 2, 2020
6faf3ef
bugfix(batch-requests): support cookie (#1599)
ShiningRush Jun 2, 2020
ecd684b
feat(admin api): enhance `PATCH` method, allow to update partial data…
nic-chen Jun 2, 2020
82f85e5
test: added test tests for skywalking. (#1621)
moonming Jun 2, 2020
81519f3
doc: add skywalking plugin instructions (#1636)
cyxinda Jun 3, 2020
f615cf7
feature: support http_to_https in redirect plugin. (#1642)
moonming Jun 3, 2020
171db26
test: add test case for #1625 to test the filed of overhead (#1645)
dabue Jun 5, 2020
52fa154
CLI: compatibility of benchmark script and apisix reload command on O…
qiukeren Jun 6, 2020
3228e16
feature: support to enable HTTPS for admin API (#1648)
dabue Jun 7, 2020
f61b703
[log] Optimize the buffer size and flush time (#1570)
Miss-you Jun 7, 2020
12bfcec
doc: add 'X-API-KEY' parameter for each interface of Admin API. (#1661)
Miss-you Jun 8, 2020
c452846
bugfix: wildcard certificates cannot match multi-level subdomains in …
membphis Jun 8, 2020
d6cee16
plugin: add consumer-restriction (#1437)
stone4774 Jun 8, 2020
b59a519
feat: support resource name for route, service and upstream object. (…
nic-chen Jun 9, 2020
d780f74
[bugfix(CLI)]: check whether the user has enabled etcd v2 protocol. …
dabue Jun 9, 2020
4b47391
bugfix(CLI): generate the 'worker_cpu_affinity' config for Linux OS (…
Miss-you Jun 9, 2020
1b7c1bc
test case: formatted by `reindex`. (#1651)
membphis Jun 9, 2020
9b47b31
change: disable reuseport in development mode, it more easy to manage…
membphis Jun 10, 2020
2025337
test: add test case for route with `filter_func`. (#1683)
membphis Jun 11, 2020
ce386b0
doc: rename grpc-transcoding-cn.md to grpc-transcode-cn.md (#1694)
juzhiyuan Jun 11, 2020
51b867f
fix bug: Execute command 'make run' multiple times, will start multip…
kevhoo Jun 11, 2020
8dba2c0
doc(FAQ): added example for gray release. (#1687)
moonming Jun 11, 2020
b34b554
change: set default reject code for some plugins (#1696)
membphis Jun 11, 2020
56aeb4a
feature: ssl enhance (#1678)
nic-chen Jun 13, 2020
1764890
feature: support body filter plugin `echo`. (#1632)
Jun 13, 2020
75e429a
doc: Update README_CN.md (#1705)
QuakeWang Jun 14, 2020
1251385
change: use `iterate` to scan items in etcd. (#1717)
xxm404 Jun 16, 2020
8b4ae7c
doc: added doc of key for limit-* plugins. (#1714)
moonming Jun 16, 2020
cd98a2b
feature: support authorization Plugin for Keycloak Identity Server (#…
sshniro Jun 16, 2020
3010e04
feat[batch-request]: cp all header to every request (#1697)
ShiningRush Jun 16, 2020
6c3e667
doc: updated main picture. (#1719)
membphis Jun 17, 2020
3afcf54
doc: update echo-cn.md (#1726)
agile6v Jun 18, 2020
7d78a7e
update `resty-etcd` to version 1.0 . (#1725)
membphis Jun 18, 2020
fab0589
doc: health-check-cn.md (#1723)
Corey-Wang Jun 18, 2020
0a8b739
doc: add Chinese translation of authz-keycloak plugin (#1729)
hellmage Jun 18, 2020
b0a1580
doc: Refactoring docs to support docsify (#1724)
sshniro Jun 19, 2020
e38d0a9
change: update `resty-radixtree` to version 1.9 . (#1730)
membphis Jun 19, 2020
7307797
feature: support the use of independent files to implement the load a…
membphis Jun 19, 2020
f8f104d
feature(echo): support header filter and access phases. (#1708)
Jun 19, 2020
f1e66ad
bugfix: id can be string object, which contains `^[a-zA-Z0-9-_]+$`. (…
membphis Jun 21, 2020
2b5ddbc
test: add test cases about the string id in `service` #1659 (#1750)
shibingli Jun 22, 2020
9533c8a
update `lua-resty-raditree` to ver 2.0 . (#1748)
membphis Jun 22, 2020
748e337
refactory: collect `upstream` logic and put them in a single file. (#…
membphis Jun 22, 2020
6a43a8c
feature: implemented plugin `uri-blocklist` . (#1727)
membphis Jun 22, 2020
497acbb
doc: update `http-logger` plugins Chinese docs. (#1755)
scaat Jun 22, 2020
a5ac97f
doc: update admin-api docs (#1753)
scaat Jun 22, 2020
550cf74
doc: add oauth plugins Chinese docs. (#1754)
scaat Jun 23, 2020
d372fe2
bugfix: fixed configures of nginx.conf for security reasons (#1759)
moonming Jun 23, 2020
eafaf15
doc: update Chinese README.md (#1758)
scaat Jun 23, 2020
e30a746
test: use longer ttl, avoid the cached item expired. (#1760)
membphis Jun 23, 2020
8a523b6
doc: updated k8s doc (#1757)
scaat Jun 23, 2020
78ab35d
bugfix: Fix for remote open ID connect introspection (#1743)
sshniro Jun 24, 2020
d419fb2
test: added test cases. (#1752)
membphis Jun 24, 2020
492fa71
bugfix: added `content-type` for admin API responses (#1746)
shenal Jun 24, 2020
ef89dce
feature: support etcd auth (#1769)
shenal Jun 26, 2020
0ce0ed5
plugin(heartbeat): use `info` log level when failed to report heartbe…
membphis Jun 28, 2020
ee75338
optimize: Use lru to avoid resolving IP addresses repeatedly . (#1772)
membphis Jun 28, 2020
3fc7e7d
doc: update Chinese README.md (#1763)
scaat Jun 28, 2020
0d58ba7
doc: remove router `r3` . (#1764)
membphis Jun 30, 2020
d787cbd
release: released 1.4-0 version (#1742)
sshniro Jun 30, 2020
3061aee
bugfix(config etcd): when we reset the fetched data, `sync_times` als…
wangxiaochuang Jul 1, 2020
a9d60f9
change: remove authentication type for cors plugin (#1788)
morrme Jul 1, 2020
0bcd397
rocks: fixed wrong source of 1.4. (#1783)
moonming Jul 1, 2020
aeab71d
change: 'get_plugin_list' API sorts the return list base on priority …
hanke0 Jul 1, 2020
2ccf020
test: format by tool `reindex`. (#1775)
membphis Jul 2, 2020
e6e387a
bugfix: missing argument `premature` because it was called by ngx.tim…
wangxiaochuang Jul 2, 2020
794b1eb
bugfix: return `404 Not Found` when the dashboard folder is empty. (…
xxm404 Jul 3, 2020
57289ae
doc: add guides for installing dependencies on fedora (#1800)
imjoey Jul 3, 2020
8494506
doc: fixed some punctuation error in the document sample shell (#1803)
vyyd Jul 6, 2020
5a38df1
doc: add more steps for install. (#1805)
moonming Jul 7, 2020
588d46f
fix: replace `location /robots.txt ` with `location =/robots.txt ` fo…
totemofwolf Jul 7, 2020
6fec021
doc: fixed zh-cn/architecture-design.md images path error (#1813)
yongboy Jul 8, 2020
a4c3c0f
doc: update the text of DP and CP. (#1814)
membphis Jul 9, 2020
0e517a2
feature: using GitHub action for CI (#1793)
EnableAsync Jul 9, 2020
c41abab
bugfix(proxy-rewrite): symbol would be encoded to 0x3f (#1816)
wrl96 Jul 9, 2020
a4e31b2
optimize: increase ssl_session_cache size to 20m. (#1797)
moonming Jul 10, 2020
e598e6f
bugfix: wrong counter was used, resulting in only one certificate wor…
nic-chen Jul 10, 2020
54abe58
bugfix: failed to set server peer when upstreams.node is address in a…
wrl96 Jul 10, 2020
87e0131
doc: add etcd comment for k8s readme. add service-monitor yaml for pr…
seans2s Jul 10, 2020
bfa24d4
feature: allow to congfiure the worker_shutdown_timeout (#1828)
spacewander Jul 10, 2020
db76475
CI: add more patchs about Tengine(2.3.2 < version < 2.3.3). (#1830)
totemofwolf Jul 13, 2020
9ae9d12
doc: add questions when submit PR. (#1839)
moonming Jul 14, 2020
9a6a86c
doc: add more info for pr template. (#1840)
moonming Jul 15, 2020
24d7007
change: removed useless plugin `heartbeat` (#1845)
mtx2d Jul 16, 2020
ff04144
doc: fixed some hyper link errors (#1849)
RocFang Jul 16, 2020
5c57796
doc: update README.md for proxy-mirror (#1852)
scaat Jul 16, 2020
cff822b
* CI: Github action run non-OSX test case, Travis-CI runs the OSX tes…
membphis Jul 17, 2020
47b0ef3
bugfix: fetch wrong the upstream node when there were multiple upstre…
membphis Jul 17, 2020
c1ee898
release: released 1.4.1 version (#1872)
nic-chen Jul 20, 2020
a5fc25c
feat: Support admin API authentication with SSL certificates (#1747)
nic-chen Jul 21, 2020
a617999
feature: new plugin request-validator (#1709)
sshniro Jul 21, 2020
8fbd0ac
doc: added CODE_STYLE.md and CODE_STYLE_CN.md for APISIX (#1874)
yongboy Jul 22, 2020
ffa0e1e
doc: Fix link syntax in README.md (#1894)
lingsamuel Jul 24, 2020
d079b3d
'worker_shutdown_timeout 240s' in nginx.conf is better. (#1883)
Miss-you Jul 24, 2020
45f84a2
doc: fixed image links in zh-cn benchmark (#1896)
lingsamuel Jul 24, 2020
a108d2e
bugfix: failed to get `host` in health check configuration. (#1871)
shuaijinchao Jul 27, 2020
2d667ec
bugfix: should not save the runtime data of plugin into `etcd`. (#1910)
membphis Jul 27, 2020
4015071
change: the timeout of `healthcheck` should be number type. (#1892)
membphis Jul 27, 2020
520ef31
feature: health check supports custom host port. (#1914)
shuaijinchao Jul 28, 2020
552d700
change: check input params schema of `request-validation` plugin. (#1…
shuaijinchao Jul 29, 2020
333962a
bugfix: run `apisix start` several times will start multi APISIX serv…
nic-chen Jul 29, 2020
fbc3c68
feature: allow to set `retries=0` for upstream object. (#1919)
membphis Jul 29, 2020
4c61baa
doc: fix typos. (#1916)
membphis Jul 29, 2020
3947f06
makefile: add comments for `install` command. (#1912)
membphis Jul 29, 2020
20207c8
bugfix: read the request body from the temporary file if it was cache…
membphis Jul 29, 2020
f9a8a26
feature: add a new option, decide if we remove the "/" at the end of …
membphis Jul 29, 2020
0ad813e
plugin(batch): change processor name and error return type fix (#1927)
sshniro Jul 29, 2020
0034c66
bugfix: update comment to 30 seconds in config.yaml (#1929)
swayamraina Jul 29, 2020
a7a4fbe
doc: improvements for OSx unit tests (#1926)
sshniro Jul 30, 2020
f4aaf9a
doc: corrected some typo (#1938)
lilien1010 Jul 30, 2020
c6f7af6
doc: update Chinese how-to-build.md (#1936)
scaat Jul 30, 2020
2433152
bugfix: fix limit-count plugin redis.ttl error. (#1928)
shuaijinchao Jul 30, 2020
7f64ba8
change: add more prometheus metrics(etcd modify index) (#1888)
nic-chen Jul 30, 2020
0062877
doc: add `request-validation` plugin chinese document. (#1932)
shuaijinchao Jul 30, 2020
dd5c1a1
doc: update broken link (#1945)
swayamraina Jul 30, 2020
9e9a632
doc: fixed `uri-blocker` plugin path error in `README`. (#1950)
shuaijinchao Jul 31, 2020
29b1589
feat: support both standard PATCH and sub path PATCH for admin api (#…
nic-chen Jul 31, 2020
1ffcc9c
doc: fixed grpc transcode link (#1946)
swayamraina Jul 31, 2020
f37a1dd
doc(k8s): removed unnecessary configurations. (#1891)
gxthrj Jul 31, 2020
2ba0231
bugfix: passive health check seems never provide a healthy report (#1…
membphis Jul 31, 2020
8fc2af5
bugfix: avoid to modify the original plugin conf. (#1958)
membphis Jul 31, 2020
3d8150b
test: old test case is unstable, running fail sometimes. (#1925)
membphis Jul 31, 2020
2936c7d
feat: add option for cors and bugfix (#1963)
ShiningRush Aug 1, 2020
e1c6d37
doc: update main picture of APISIX. (#1964)
membphis Aug 2, 2020
90867ed
doc: unified document file name format. (#1969)
shuaijinchao Aug 3, 2020
4cbb324
bugfix(CLI): fix wrong info `Warning! Running apisix under /root` whe…
totemofwolf Aug 3, 2020
2073087
perf: used empty table if the user is not enabled any plugin. (#1967)
membphis Aug 4, 2020
d32b5cf
perf: no longer generate unnecessary nginx conf for better performanc…
membphis Aug 4, 2020
bb06278
update lua-tinyyaml to 1.0 . (#1981)
membphis Aug 4, 2020
6adbf02
core: support get_scheme/host/port/http_version in core.request (#1978)
taotao2014 Aug 4, 2020
c67e998
bugfix: fail to handshake if there is no certificate matched by host.…
membphis Aug 4, 2020
77dfeca
revert: enable proxy-cache and proxy-mirror plugins by default. (#1992)
dabue Aug 4, 2020
020090c
doc: add Chinese doc of uri-blocker plugin (#1985)
scaat Aug 5, 2020
65df727
feat: script distribute and run (#1982)
nic-chen Aug 5, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
48 changes: 48 additions & 0 deletions .asf.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

github:
description: The Cloud-Native API Gateway
homepage: https://apisix.apache.org/
labels:
- api-gateway
- cloud-native
- nginx
- lua
- luajit
- apigateway
- microservices
- api
- loadbalancing
- reverse-proxy
- api-management
- apisix
- serverless
- iot
- devops
- kubernetes
- docker

enabled_merge_buttons:
squash: true
merge: false
rebase: false

notifications:
commits: [email protected]
issues: [email protected]
pullrequests: [email protected]
23 changes: 8 additions & 15 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,10 @@
NOTE: Please read the Contributing.md guidelines before submitting your patch:
### What this PR does / why we need it:
<!--- Why is this change required? What problem does it solve? -->
<!--- If it fixes an open issue, please link to the issue here. -->

https://github.com/apache/incubator-apisix/blob/master/Contributing.md#how-to-add-a-new-feature-or-change-an-existing-one
### Pre-submission checklist:

### Summary

SUMMARY_HERE

### Full changelog

* [Implement ...]
* [Add related tests]
* ...

### Issues resolved

Fix #XXX
* [ ] Did you explain what problem does this PR solve? Or what new features have been added?
* [ ] Have you added corresponding test cases?
* [ ] Have you modified the corresponding document?
* [ ] Is this PR backward compatible?
64 changes: 64 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: CI

on:
push:
branches: [ master ]
pull_request:
branches: [ master ]

jobs:
build:
strategy:
fail-fast: false
matrix:
platform: [ubuntu-18.04]
os_name: [linux_openresty, linux_tengine, linux_apisix_master_luarocks, linux_apisix_current_luarocks, linux_openresty_mtls]
include:
- platform: macos-latest
os_name: osx_openresty

runs-on: ${{ matrix.platform }}
env:
SERVER_NAME: ${{ matrix.os_name }}


steps:
- name: Check out code
uses: actions/checkout@v2

#----------------------------------------------------------------------------
- name: Linux Get dependencies
if: matrix.platform == 'ubuntu-18.04'
run: sudo apt install -y cpanminus build-essential libncurses5-dev libreadline-dev libssl-dev perl etcd

- name: Linux Before install
if: matrix.platform == 'ubuntu-18.04'
run: sudo ./.travis/${{ matrix.os_name }}_runner.sh before_install

- name: Linux Install
if: matrix.platform == 'ubuntu-18.04'
run: sudo ./.travis/${{ matrix.os_name }}_runner.sh do_install

- name: Linux Script
if: matrix.platform == 'ubuntu-18.04'
run: sudo ./.travis/${{ matrix.os_name }}_runner.sh script

# - name: Linux After success
# if: matrix.platform == 'ubuntu-18.04'
# run: sudo ./.travis/${{ matrix.os_name }}_runner.sh after_success
#----------------------------------------------------------------------------
- name: MacOS Before install
if: matrix.platform == 'macos-latest'
run: ./.travis/${{ matrix.os_name }}_runner.sh before_install

- name: MacOS Install
if: matrix.platform == 'macos-latest'
run: ./.travis/${{ matrix.os_name }}_runner.sh do_install

- name: MacOS Script
if: matrix.platform == 'macos-latest'
run: ./.travis/${{ matrix.os_name }}_runner.sh script

# - name: MacOS After success
# if: matrix.platform == 'macos-latest'
# run: ./.travis/${{ matrix.os_name }}_runner.sh after_success
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ proxy_temp
fastcgi_temp
client_body_temp
utils/lj-releng
default.etcd/
.idea/
*.iml
\.*
Expand Down
1 change: 1 addition & 0 deletions .luacheckrc
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
std = "ngx_lua"
unused_args = false
redefined = false
max_line_length = 100
21 changes: 4 additions & 17 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,30 +1,16 @@
dist: xenial
dist: bionic
sudo: required

matrix:
allow_failures:
- os: osx
include:
- os: linux
services:
- docker
env: OSNAME=linux_openresty
- os: osx
env: OSNAME=osx_openresty
cache:
directories:
- $HOME/Library/Caches/Homebrew
- /usr/local/Homebrew
- os: linux
services:
- docker
env: OSNAME=linux_tengine
- os: linux
services:
- docker
env: OSNAME=linux_apisix_master_luarocks
- os: linux
services:
- docker
env: OSNAME=linux_apisix_current_luarocks

language: c

Expand All @@ -41,6 +27,7 @@ addons:
homebrew:
update: true


cache:
directories:
- build-cache
Expand Down
89 changes: 89 additions & 0 deletions .travis/apisix_cli_test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@

set -ex

git checkout conf/config.yaml

# check whether the 'reuseport' is in nginx.conf .
make init

Expand Down Expand Up @@ -72,3 +74,90 @@ done

sed -i '/dns_resolver:/,+4s/^#//' conf/config.yaml
echo "passed: system nameserver imported"

# enable enable_dev_mode
sed -i 's/enable_dev_mode: false/enable_dev_mode: true/g' conf/config.yaml

make init

count=`grep -c "worker_processes 1;" conf/nginx.conf`
if [ $count -ne 1 ]; then
echo "failed: worker_processes is not 1 when enable enable_dev_mode"
exit 1
fi

count=`grep -c "listen 9080.*reuseport" conf/nginx.conf || true`
if [ $count -ne 0 ]; then
echo "failed: reuseport should be disabled when enable enable_dev_mode"
exit 1
fi

git checkout conf/config.yaml

# check whether the 'worker_cpu_affinity' is in nginx.conf .

make init

grep -E "worker_cpu_affinity" conf/nginx.conf > /dev/null
if [ ! $? -eq 0 ]; then
echo "failed: nginx.conf file is missing worker_cpu_affinity configuration"
exit 1
fi

echo "passed: nginx.conf file contains worker_cpu_affinity configuration"

# check admin https enabled

sed -i 's/\# port_admin: 9180/port_admin: 9180/' conf/config.yaml
sed -i 's/\# https_admin: true/https_admin: true/' conf/config.yaml

make init

grep "listen 9180 ssl" conf/nginx.conf > /dev/null
if [ ! $? -eq 0 ]; then
echo "failed: failed to enabled https for admin"
exit 1
fi

make run

code=$(curl -k -i -m 20 -o /dev/null -s -w %{http_code} https://127.0.0.1:9180/apisix/admin/routes -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1')
if [ ! $code -eq 200 ]; then
echo "failed: failed to enabled https for admin"
exit 1
fi

echo "passed: admin https enabled"

# rollback to the default

make stop

sed -i 's/port_admin: 9180/\# port_admin: 9180/' conf/config.yaml
sed -i 's/https_admin: true/\# https_admin: true/' conf/config.yaml

make init

set +ex

grep "listen 9180 ssl" conf/nginx.conf > /dev/null
if [ ! $? -eq 1 ]; then
echo "failed: failed to rollback to the default admin config"
exit 1
fi

set -ex

echo "passed: rollback to the default admin config"

# check the 'worker_shutdown_timeout' in 'nginx.conf' .

make init

grep -E "worker_shutdown_timeout 240s" conf/nginx.conf > /dev/null
if [ ! $? -eq 0 ]; then
echo "failed: worker_shutdown_timeout in nginx.conf is required 240s"
exit 1
fi

echo "passed: worker_shutdown_timeout in nginx.conf is ok"
5 changes: 5 additions & 0 deletions .travis/linux_apisix_current_luarocks_runner.sh
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,11 @@ script() {
export PATH=$OPENRESTY_PREFIX/nginx/sbin:$OPENRESTY_PREFIX/luajit/bin:$OPENRESTY_PREFIX/bin:$PATH
openresty -V
sudo service etcd start
sudo service etcd stop
mkdir -p ~/etcd-data
/usr/bin/etcd --listen-client-urls 'http://0.0.0.0:2379' --advertise-client-urls='http://0.0.0.0:2379' --data-dir ~/etcd-data > /dev/null 2>&1 &
etcd --version
sleep 5

sudo rm -rf /usr/local/apisix

Expand Down
9 changes: 7 additions & 2 deletions .travis/linux_apisix_master_luarocks_runner.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ set -ex

export_or_prefix() {
export OPENRESTY_PREFIX="/usr/local/openresty-debug"
export APISIX_MAIN="https://raw.githubusercontent.com/apache/incubator-apisix/master/rockspec/apisix-master-0.rockspec"
}

do_install() {
Expand All @@ -46,7 +47,11 @@ script() {
export_or_prefix
export PATH=$OPENRESTY_PREFIX/nginx/sbin:$OPENRESTY_PREFIX/luajit/bin:$OPENRESTY_PREFIX/bin:$PATH
openresty -V
sudo service etcd start
sudo service etcd stop
mkdir -p ~/etcd-data
/usr/bin/etcd --listen-client-urls 'http://0.0.0.0:2379' --advertise-client-urls='http://0.0.0.0:2379' --data-dir ~/etcd-data > /dev/null 2>&1 &
etcd --version
sleep 5

sudo rm -rf /usr/local/apisix

Expand All @@ -62,7 +67,7 @@ script() {
sudo PATH=$PATH ./utils/install-apisix.sh remove > build.log 2>&1 || (cat build.log && exit 1)

# install APISIX by luarocks
sudo luarocks install rockspec/apisix-master-0.rockspec > build.log 2>&1 || (cat build.log && exit 1)
sudo luarocks install $APISIX_MAIN > build.log 2>&1 || (cat build.log && exit 1)

# show install files
luarocks show apisix
Expand Down
Loading