aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYonggangWang <wang.yonggang131@zte.com.cn>2016-09-14 11:31:53 +0800
committerYonggangWang <wang.yonggang131@zte.com.cn>2016-09-14 11:31:53 +0800
commit382f337fe4c4e20928636832520908f81975d5c7 (patch)
tree3c3731e03698bf1eaa19b2dfc8b3542d4f103025
parent456287c22eb9a59047c071ee2549f385c54562e1 (diff)
OCS-18 MSB-API Gateway add extension point for Auth and Driver Mgr.
Issue-id: OCS-18 MSB-API Gateway add extension point for Auth and Driver Mgr., these modules only need to fill in own logical code. Change-Id: Ib54e807ae532bfb91c58bcbf8c9c56ee7e0d4ebf Signed-off-by: YonggangWang <wang.yonggang131@zte.com.cn>
-rw-r--r--msb-core/openresty-ext/src/assembly/resources/openresty/nginx/conf/nginx.conf2
-rw-r--r--msb-core/openresty-ext/src/assembly/resources/openresty/nginx/luaext/execute_auth.lua25
-rw-r--r--msb-core/openresty-ext/src/assembly/resources/openresty/nginx/luaext/msbconf.lua26
-rw-r--r--msb-core/openresty-ext/src/assembly/resources/openresty/nginx/luaext/plugins/auth.lua29
-rw-r--r--msb-core/openresty-ext/src/assembly/resources/openresty/nginx/luaext/plugins/driver_manager.lua30
-rw-r--r--msb-core/openresty-ext/src/assembly/resources/openresty/nginx/sites-enabled/openomsb.conf18
6 files changed, 129 insertions, 1 deletions
diff --git a/msb-core/openresty-ext/src/assembly/resources/openresty/nginx/conf/nginx.conf b/msb-core/openresty-ext/src/assembly/resources/openresty/nginx/conf/nginx.conf
index c5dc770..1ac9aff 100644
--- a/msb-core/openresty-ext/src/assembly/resources/openresty/nginx/conf/nginx.conf
+++ b/msb-core/openresty-ext/src/assembly/resources/openresty/nginx/conf/nginx.conf
@@ -55,7 +55,7 @@ http {
access_log off;
# Lua settings
- lua_package_path "$prefix/../lualib/?.lua;;";
+ lua_package_path "$prefix/../lualib/?.lua;$prefix/luaext/?.lua;;";
lua_shared_dict ceryx 10M;
lua_code_cache on;
diff --git a/msb-core/openresty-ext/src/assembly/resources/openresty/nginx/luaext/execute_auth.lua b/msb-core/openresty-ext/src/assembly/resources/openresty/nginx/luaext/execute_auth.lua
new file mode 100644
index 0000000..c8ea047
--- /dev/null
+++ b/msb-core/openresty-ext/src/assembly/resources/openresty/nginx/luaext/execute_auth.lua
@@ -0,0 +1,25 @@
+--[[
+
+ 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 auth_plugin = require('plugins.auth')
+local msbconf = require('msbconf')
+if(msbconf.auth_plugin_status == "on") then
+ auth_plugin.access()
+end \ 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
new file mode 100644
index 0000000..4e820f5
--- /dev/null
+++ b/msb-core/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/openresty-ext/src/assembly/resources/openresty/nginx/luaext/plugins/auth.lua b/msb-core/openresty-ext/src/assembly/resources/openresty/nginx/luaext/plugins/auth.lua
new file mode 100644
index 0000000..a1fecf2
--- /dev/null
+++ b/msb-core/openresty-ext/src/assembly/resources/openresty/nginx/luaext/plugins/auth.lua
@@ -0,0 +1,29 @@
+--[[
+
+ 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'
+
+function _M.access()
+ --add your own code here
+ ngx.log(ngx.INFO, "running auth plugin")
+end
+
+return _M \ No newline at end of file
diff --git a/msb-core/openresty-ext/src/assembly/resources/openresty/nginx/luaext/plugins/driver_manager.lua b/msb-core/openresty-ext/src/assembly/resources/openresty/nginx/luaext/plugins/driver_manager.lua
new file mode 100644
index 0000000..a53ec21
--- /dev/null
+++ b/msb-core/openresty-ext/src/assembly/resources/openresty/nginx/luaext/plugins/driver_manager.lua
@@ -0,0 +1,30 @@
+--[[
+
+ 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'
+
+function _M.access()
+ ngx.log(ngx.INFO, "running driver_manager plugin")
+ --add your own code here
+ --choose the right backend server,and then tell nginx, e.g. ngx.var.backend = XX.XX.XX.XX:8888
+end
+
+return _M \ 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 b529d94..88ab447 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
@@ -33,6 +33,7 @@ server {
# Lua files
rewrite_by_lua_file luaext/customrouter.lua;
+ access_by_lua_file luaext/execute_auth.lua;
proxy_pass http://$server;
}
@@ -42,6 +43,16 @@ server {
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;
@@ -50,6 +61,7 @@ server {
# Lua files
rewrite_by_lua_file luaext/openoapirouter.lua;
+ access_by_lua_file luaext/execute_auth.lua;
proxy_pass http://$apiserver;
}
@@ -63,6 +75,7 @@ server {
# 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;
@@ -80,6 +93,7 @@ server {
# Lua files
rewrite_by_lua_file luaext/openouirouter.lua;
+ access_by_lua_file luaext/execute_auth.lua;
proxy_pass http://$iuiserver;
}
@@ -92,6 +106,7 @@ server {
# Lua files
rewrite_by_lua_file luaext/openoadminrouter.lua;
+ access_by_lua_file luaext/execute_auth.lua;
proxy_pass http://$apiserver;
}
@@ -105,6 +120,7 @@ server {
# 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;
@@ -122,6 +138,7 @@ server {
# Lua files
rewrite_by_lua_file luaext/openoapijsonrouter.lua;
+ access_by_lua_file luaext/execute_auth.lua;
proxy_pass http://$apiserver;
}
@@ -133,6 +150,7 @@ server {
# 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;