From 6be48e1015bc20005ed31f8b857842a59e1c9dfa Mon Sep 17 00:00:00 2001 From: HuabingZhao Date: Mon, 19 Sep 2016 15:57:16 +0800 Subject: Add scripts for external API gateway Change-Id: Ice85f6277d0a0d54e00c60a08c687b4ba6b22183 Signed-off-by: HuabingZhao --- .../apiroute-service/dependency-reduced-pom.xml | 92 ----------- msb-core/distributions/standalone/pom.xml | 102 ++++++++++++ .../standalone/src/assembly/resource/shutdown.bat | 3 + .../standalone/src/assembly/resource/shutdown.sh | 6 + .../standalone/src/assembly/resource/startup.bat | 3 + .../standalone/src/assembly/resource/startup.sh | 5 + msb-core/eag-openresty-ext/pom.xml | 119 ++++++++++++++ .../resources/openresty/nginx/luaext/msbconf.lua | 26 ++++ .../openresty/nginx/sites-enabled/openomsb.conf | 172 +++++++++++++++++++++ .../resources/openresty/nginx/luaext/msbconf.lua | 2 +- .../openresty/nginx/sites-enabled/openomsb.conf | 6 +- msb-core/pom.xml | 1 + 12 files changed, 443 insertions(+), 94 deletions(-) delete mode 100644 msb-core/apiroute/apiroute-service/dependency-reduced-pom.xml create mode 100644 msb-core/eag-openresty-ext/pom.xml create mode 100644 msb-core/eag-openresty-ext/src/assembly/resources/openresty/nginx/luaext/msbconf.lua create mode 100644 msb-core/eag-openresty-ext/src/assembly/resources/openresty/nginx/sites-enabled/openomsb.conf diff --git a/msb-core/apiroute/apiroute-service/dependency-reduced-pom.xml b/msb-core/apiroute/apiroute-service/dependency-reduced-pom.xml deleted file mode 100644 index de1fbab..0000000 --- a/msb-core/apiroute/apiroute-service/dependency-reduced-pom.xml +++ /dev/null @@ -1,92 +0,0 @@ - - - - apiroute-parent - org.openo.common-services.microservice-bus - 1.0.0-SNAPSHOT - - 4.0.0 - apiroute-service - openo/msb/msb-core/apiroute/apiroute-service - 1.0.0-SNAPSHOT - - - - src/main/java - - **/*.properties - - - - src/main/resources - - - - - maven-jar-plugin - 2.4 - - - - true - - - - - - maven-shade-plugin - 2.3 - - - package - - shade - - - - - - org.openo.msb.ApiRouteApp - - - - - - - true - - - *:* - - META-INF/*.SF - META-INF/*.DSA - META-INF/*.RSA - - - - - - - maven-surefire-plugin - - true - - - - - - - junit - junit - 4.11 - test - - - hamcrest-core - org.hamcrest - - - - - - diff --git a/msb-core/distributions/standalone/pom.xml b/msb-core/distributions/standalone/pom.xml index ee17e28..b502b36 100644 --- a/msb-core/distributions/standalone/pom.xml +++ b/msb-core/distributions/standalone/pom.xml @@ -96,6 +96,13 @@ ${project.version} true + + org.openo.common-services.microservice-bus + eag-openresty-ext + zip + ${project.version} + true + @@ -225,6 +232,35 @@ true + + + eag-unpacktolinux64 + + unpack + + prepare-package + + + + org.openo.common-services.microservice-bus + openresty + tar.gz + linux64 + + + org.openo.common-services.microservice-bus + eag-openresty-ext + zip + + + **/*.bat,*.cmd + ${linux64outputdir}/eag + false + true + true + + + unpacktowin64 @@ -268,6 +304,34 @@ true + + + eag-unpacktowin64 + + unpack + + prepare-package + + + + org.openo.common-services.microservice-bus + openresty + zip + win64 + + + org.openo.common-services.microservice-bus + eag-openresty-ext + zip + + + *.sh,*/*.sh,*/*/*.sh + ${win64outputdir}/eag + false + true + true + + @@ -275,6 +339,44 @@ org.apache.maven.plugins maven-antrun-plugin + + + prepare-eag-openresty-linux + prepare-package + + run + + + + + + + + + + + + + prepare-eag-openresty-win + prepare-package + + run + + + + + + + + + + + + distribution package diff --git a/msb-core/distributions/standalone/src/assembly/resource/shutdown.bat b/msb-core/distributions/standalone/src/assembly/resource/shutdown.bat index cdc98b8..c2cce3b 100644 --- a/msb-core/distributions/standalone/src/assembly/resource/shutdown.bat +++ b/msb-core/distributions/standalone/src/assembly/resource/shutdown.bat @@ -29,6 +29,9 @@ rem For /f %%i in (%~dp0\stop.tmp) DO start %%i echo ### Stopping openresty start /D %RUNHOME%openresty stop.bat +echo ### Stopping external API gateway +start /D %RUNHOME%eag stop.bat + echo ### Stopping apiroute start /D %RUNHOME%apiroute stop.bat diff --git a/msb-core/distributions/standalone/src/assembly/resource/shutdown.sh b/msb-core/distributions/standalone/src/assembly/resource/shutdown.sh index 2bb2a84..0c19f3f 100644 --- a/msb-core/distributions/standalone/src/assembly/resource/shutdown.sh +++ b/msb-core/distributions/standalone/src/assembly/resource/shutdown.sh @@ -28,6 +28,12 @@ cd ./openresty ./stop.sh & cd $RUNHOME +echo "### Stopping external API gateway..."; +# nohup ./startup.sh >>./nohup.log 2>&1 & +cd ./eag +./stop.sh & +cd $RUNHOME + echo "\n\n### Stopping apiroute" cd ./apiroute ./stop.sh & diff --git a/msb-core/distributions/standalone/src/assembly/resource/startup.bat b/msb-core/distributions/standalone/src/assembly/resource/startup.bat index e7f8cf3..a85ace7 100644 --- a/msb-core/distributions/standalone/src/assembly/resource/startup.bat +++ b/msb-core/distributions/standalone/src/assembly/resource/startup.bat @@ -35,6 +35,9 @@ start /D %RUNHOME%apiroute run.bat run echo ### Starting openresty start /D %RUNHOME%openresty run.bat +echo ### Starting external API gateway +start /D %RUNHOME%eag run.bat + echo Startup will be finished in background... echo + Run "start .\apiroute-works\logs\application.log" to see what's happening echo + Wait a minute diff --git a/msb-core/distributions/standalone/src/assembly/resource/startup.sh b/msb-core/distributions/standalone/src/assembly/resource/startup.sh index bcc0865..e0fee7d 100644 --- a/msb-core/distributions/standalone/src/assembly/resource/startup.sh +++ b/msb-core/distributions/standalone/src/assembly/resource/startup.sh @@ -41,6 +41,11 @@ cd ./openresty ./run.sh & cd $RUNHOME +echo "### Starting external API gateway..."; +# nohup ./startup.sh >>./nohup.log 2>&1 & +cd ./eag +./run.sh & +cd $RUNHOME echo "Startup will be finished in background..."; echo " + Run 'tail ./apiroute-works/logs/application.log -f' to see what's happening"; diff --git a/msb-core/eag-openresty-ext/pom.xml b/msb-core/eag-openresty-ext/pom.xml new file mode 100644 index 0000000..16e76e7 --- /dev/null +++ b/msb-core/eag-openresty-ext/pom.xml @@ -0,0 +1,119 @@ + + + + + org.openo.common-services.microservice-bus + msb-core-parent + 1.0.0-SNAPSHOT + + + + 4.0.0 + eag-openresty-ext + 1.0.0-SNAPSHOT + openo/msb/msb-core/eag-openresty-ext + pom + + + target/assembly + eag-openresty-ext + + + + + maven-resources-plugin + + true + + + + copy-resources + process-resources + + copy-resources + + + ${outputdir} + + + ../openresty-ext/src/assembly/resources/ + false + + **/* + + + + true + + + + + eag-copy-resources + process-resources + + copy-resources + + + ${outputdir} + + + src/assembly/resources/ + false + + **/* + + + + true + + + + + + + + org.apache.maven.plugins + maven-antrun-plugin + + + distribution + package + + run + + + + + + + + + + + + + + + + + + diff --git a/msb-core/eag-openresty-ext/src/assembly/resources/openresty/nginx/luaext/msbconf.lua b/msb-core/eag-openresty-ext/src/assembly/resources/openresty/nginx/luaext/msbconf.lua new file mode 100644 index 0000000..4e820f5 --- /dev/null +++ b/msb-core/eag-openresty-ext/src/assembly/resources/openresty/nginx/luaext/msbconf.lua @@ -0,0 +1,26 @@ +--[[ + + Copyright 2016 2015-2016 ZTE, Inc. and others. All rights reserved. + + Licensed 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. + + Author: Zhaoxing Meng + email: meng.zhaoxing1@zte.com.cn + +]] +local _M = {} +_M._VERSION = '1.0.0' + +return { + auth_plugin_status = "on" +} \ No newline at end of file diff --git a/msb-core/eag-openresty-ext/src/assembly/resources/openresty/nginx/sites-enabled/openomsb.conf b/msb-core/eag-openresty-ext/src/assembly/resources/openresty/nginx/sites-enabled/openomsb.conf new file mode 100644 index 0000000..eadf6c0 --- /dev/null +++ b/msb-core/eag-openresty-ext/src/assembly/resources/openresty/nginx/sites-enabled/openomsb.conf @@ -0,0 +1,172 @@ +# +# Copyright 2016 2015-2016 ZTE, Inc. and others. All rights reserved. +# +# Licensed 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. +# +# Author: Zhaoxing Meng +# email: meng.zhaoxing1@zte.com.cn +# + +server { + listen 8080; + default_type text/html; + add_header X-Cache-Status $upstream_cache_status; + + location = / { + rewrite ^ /openoui/microservices/index.html redirect; + } + + location = /openoui/microservices { + rewrite /openoui/microservices /openoui/microservices/index.html redirect; + } + + location / { + set $server "fallback"; + set $url ""; + set $key ""; + + # Lua files + rewrite_by_lua_file luaext/customrouter.lua; + access_by_lua_file luaext/execute_auth.lua; + + proxy_pass http://$server; + } + location ~ ^/api/(.*) { + rewrite ^/api/(.*) /openoapi/$1 last; + } + location ~ ^/iui/(.*) { + rewrite ^/iui/(.*) /openoui/$1 last; + } + + location ^~ /openoapi/driver_vmware_vcloud/v1 { + set $backend ""; + # Lua files + access_by_lua_block { + local driver_manager = require('plugins.driver_manager') + driver_manager.access() + } + proxy_pass http://$backend; + } + location ~ ^/openoapi/([^/]+)(/[Vv][^/]*)?(.*) { + set $apiname $1; + set $apiversion $2; + set $apiserver "fallback"; + set $apiurl ""; + + # Lua files + rewrite_by_lua_file luaext/openoapirouter.lua; + access_by_lua_file luaext/execute_auth.lua; + + proxy_pass http://$apiserver; + } + + location ~ ^/openoui/([^/]+)(.*) { + location ~* ^/iui/([^/]+)(.*)\.(?:png|jpg|jpeg|js|css|html|gif|ico|bmp|woff)$ { + set $iuiname $1; + set $iuiparam $2; + set $iuiserver "fallback"; + set $iuiurl ""; + + # Lua files + rewrite_by_lua_file luaext/openouirouter.lua; + access_by_lua_file luaext/execute_auth.lua; + + proxy_cache nginx_cache; + proxy_cache_key $host$uri$is_args$args; + proxy_cache_valid 200 304 12h ; + proxy_cache_valid 301 302 1m ; + proxy_cache_valid any 1m ; + expires 12h; + + proxy_pass http://$iuiserver; + } + set $iuiname $1; + set $iuiparam $2; + set $iuiserver "fallback"; + set $iuiurl ""; + + # Lua files + rewrite_by_lua_file luaext/openouirouter.lua; + access_by_lua_file luaext/execute_auth.lua; + + proxy_pass http://$iuiserver; + } + + location ~ ^/admin/([^/]+)(/[Vv][^/]*)?(.*) { + set $apiname $1; + set $apiversion $2; + set $apiserver "fallback"; + set $adminurl ""; + + # Lua files + rewrite_by_lua_file luaext/openoadminrouter.lua; + access_by_lua_file luaext/execute_auth.lua; + + proxy_pass http://$apiserver; + } + + location ~ ^/apijson/([^/]+)(/[Vv][^/]*)?(.*) { + location ~* ^/apijson/([^/]+)(/[v][^/]*)?(.*)\.(?:png|jpg|jpeg|js|css|html|gif|ico|bmp|woff)$ { + set $apiname $1; + set $apiversion $2; + set $apiserver "fallback"; + set $apijsonurl ""; + + # Lua files + rewrite_by_lua_file luaext/openoapijsonrouter.lua; + access_by_lua_file luaext/execute_auth.lua; + + proxy_cache nginx_cache; + proxy_cache_key $host$uri$is_args$args; + proxy_cache_valid 200 304 12h ; + proxy_cache_valid 301 302 1m ; + proxy_cache_valid any 1m ; + expires 12h; + + proxy_pass http://$apiserver; + } + set $apiname $1; + set $apiversion $2; + set $apiserver "fallback"; + set $apijsonurl ""; + + # Lua files + rewrite_by_lua_file luaext/openoapijsonrouter.lua; + access_by_lua_file luaext/execute_auth.lua; + + proxy_pass http://$apiserver; + } + + location ~* \.(?:png|jpg|jpeg|js|css|html|gif|ico|bmp|woff)$ { + set $server "fallback"; + set $url ""; + set $key ""; + + # Lua files + rewrite_by_lua_file luaext/customrouter.lua; + access_by_lua_file luaext/execute_auth.lua; + + proxy_cache nginx_cache; + proxy_cache_key $host$uri$is_args$args; + proxy_cache_valid 200 304 12h ; + proxy_cache_valid 301 302 1m ; + proxy_cache_valid any 1m ; + expires 12h; + + proxy_pass http://$server; + } + + location = /favicon.ico { + log_not_found off; + } +} \ No newline at end of file diff --git a/msb-core/openresty-ext/src/assembly/resources/openresty/nginx/luaext/msbconf.lua b/msb-core/openresty-ext/src/assembly/resources/openresty/nginx/luaext/msbconf.lua index 4e820f5..de8a402 100644 --- a/msb-core/openresty-ext/src/assembly/resources/openresty/nginx/luaext/msbconf.lua +++ b/msb-core/openresty-ext/src/assembly/resources/openresty/nginx/luaext/msbconf.lua @@ -22,5 +22,5 @@ local _M = {} _M._VERSION = '1.0.0' return { - auth_plugin_status = "on" + auth_plugin_status = "off" } \ No newline at end of file diff --git a/msb-core/openresty-ext/src/assembly/resources/openresty/nginx/sites-enabled/openomsb.conf b/msb-core/openresty-ext/src/assembly/resources/openresty/nginx/sites-enabled/openomsb.conf index 88ab447..cb60a98 100644 --- a/msb-core/openresty-ext/src/assembly/resources/openresty/nginx/sites-enabled/openomsb.conf +++ b/msb-core/openresty-ext/src/assembly/resources/openresty/nginx/sites-enabled/openomsb.conf @@ -21,7 +21,11 @@ server { listen 80; default_type text/html; add_header X-Cache-Status $upstream_cache_status; - + + location = / { + rewrite ^ /openoui/microservices/index.html redirect; + } + location = /openoui/microservices { rewrite /openoui/microservices /openoui/microservices/index.html redirect; } diff --git a/msb-core/pom.xml b/msb-core/pom.xml index 71f4192..0fc1b94 100644 --- a/msb-core/pom.xml +++ b/msb-core/pom.xml @@ -33,6 +33,7 @@ openresty openresty-ext + eag-openresty-ext redis redis-ext apiroute -- cgit 1.2.3-korg