+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>\r
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">\r
- <parent>\r
- <artifactId>apiroute-parent</artifactId>\r
- <groupId>org.openo.common-services.microservice-bus</groupId>\r
- <version>1.0.0-SNAPSHOT</version>\r
- </parent>\r
- <modelVersion>4.0.0</modelVersion>\r
- <artifactId>apiroute-service</artifactId>\r
- <name>openo/msb/msb-core/apiroute/apiroute-service</name>\r
- <version>1.0.0-SNAPSHOT</version>\r
- <build>\r
- <resources>\r
- <resource>\r
- <directory>src/main/java</directory>\r
- <includes>\r
- <include>**/*.properties</include>\r
- </includes>\r
- </resource>\r
- <resource>\r
- <directory>src/main/resources</directory>\r
- </resource>\r
- </resources>\r
- <plugins>\r
- <plugin>\r
- <artifactId>maven-jar-plugin</artifactId>\r
- <version>2.4</version>\r
- <configuration>\r
- <archive>\r
- <manifest>\r
- <addDefaultImplementationEntries>true</addDefaultImplementationEntries>\r
- </manifest>\r
- </archive>\r
- </configuration>\r
- </plugin>\r
- <plugin>\r
- <artifactId>maven-shade-plugin</artifactId>\r
- <version>2.3</version>\r
- <executions>\r
- <execution>\r
- <phase>package</phase>\r
- <goals>\r
- <goal>shade</goal>\r
- </goals>\r
- <configuration>\r
- <transformers>\r
- <transformer />\r
- <transformer>\r
- <mainClass>org.openo.msb.ApiRouteApp</mainClass>\r
- </transformer>\r
- </transformers>\r
- </configuration>\r
- </execution>\r
- </executions>\r
- <configuration>\r
- <createDependencyReducedPom>true</createDependencyReducedPom>\r
- <filters>\r
- <filter>\r
- <artifact>*:*</artifact>\r
- <excludes>\r
- <exclude>META-INF/*.SF</exclude>\r
- <exclude>META-INF/*.DSA</exclude>\r
- <exclude>META-INF/*.RSA</exclude>\r
- </excludes>\r
- </filter>\r
- </filters>\r
- </configuration>\r
- </plugin>\r
- <plugin>\r
- <artifactId>maven-surefire-plugin</artifactId>\r
- <configuration>\r
- <skip>true</skip>\r
- </configuration>\r
- </plugin>\r
- </plugins>\r
- </build>\r
- <dependencies>\r
- <dependency>\r
- <groupId>junit</groupId>\r
- <artifactId>junit</artifactId>\r
- <version>4.11</version>\r
- <scope>test</scope>\r
- <exclusions>\r
- <exclusion>\r
- <artifactId>hamcrest-core</artifactId>\r
- <groupId>org.hamcrest</groupId>\r
- </exclusion>\r
- </exclusions>\r
- </dependency>\r
- </dependencies>\r
-</project>\r
-\r
<version>${project.version}</version>
<optional>true</optional>
</dependency>
+ <dependency>
+ <groupId>org.openo.common-services.microservice-bus</groupId>
+ <artifactId>eag-openresty-ext</artifactId>
+ <type>zip</type>
+ <version>${project.version}</version>
+ <optional>true</optional>
+ </dependency>
</dependencies>
<outputAbsoluteArtifactFilename>true</outputAbsoluteArtifactFilename>
</configuration>
</execution>
+
+ <execution>
+ <id>eag-unpacktolinux64</id>
+ <goals>
+ <goal>unpack</goal>
+ </goals>
+ <phase>prepare-package</phase>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>org.openo.common-services.microservice-bus</groupId>
+ <artifactId>openresty</artifactId>
+ <type>tar.gz</type>
+ <classifier>linux64</classifier>
+ </artifactItem>
+ <artifactItem>
+ <groupId>org.openo.common-services.microservice-bus</groupId>
+ <artifactId>eag-openresty-ext</artifactId>
+ <type>zip</type>
+ </artifactItem>
+ </artifactItems>
+ <excludes>**/*.bat,*.cmd</excludes>
+ <outputDirectory>${linux64outputdir}/eag</outputDirectory>
+ <overWriteReleases>false</overWriteReleases>
+ <overWriteSnapshots>true</overWriteSnapshots>
+ <outputAbsoluteArtifactFilename>true</outputAbsoluteArtifactFilename>
+ </configuration>
+ </execution>
+
<execution>
<id>unpacktowin64</id>
<goals>
<outputAbsoluteArtifactFilename>true</outputAbsoluteArtifactFilename>
</configuration>
</execution>
+
+ <execution>
+ <id>eag-unpacktowin64</id>
+ <goals>
+ <goal>unpack</goal>
+ </goals>
+ <phase>prepare-package</phase>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>org.openo.common-services.microservice-bus</groupId>
+ <artifactId>openresty</artifactId>
+ <type>zip</type>
+ <classifier>win64</classifier>
+ </artifactItem>
+ <artifactItem>
+ <groupId>org.openo.common-services.microservice-bus</groupId>
+ <artifactId>eag-openresty-ext</artifactId>
+ <type>zip</type>
+ </artifactItem>
+ </artifactItems>
+ <excludes>*.sh,*/*.sh,*/*/*.sh</excludes>
+ <outputDirectory>${win64outputdir}/eag</outputDirectory>
+ <overWriteReleases>false</overWriteReleases>
+ <overWriteSnapshots>true</overWriteSnapshots>
+ <outputAbsoluteArtifactFilename>true</outputAbsoluteArtifactFilename>
+ </configuration>
+ </execution>
</executions>
</plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
+
+ <execution>
+ <id>prepare-eag-openresty-linux</id>
+ <phase>prepare-package</phase>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ <configuration>
+ <target>
+ <copy todir="${linux64outputdir}/eag/">
+ <fileset dir="${linux64outputdir}/eag/openresty"/>
+ </copy>
+ <delete
+ dir="${linux64outputdir}/eag/openresty"
+ includeemptydirs="true"/>
+ </target>
+ </configuration>
+ </execution>
+
+ <execution>
+ <id>prepare-eag-openresty-win</id>
+ <phase>prepare-package</phase>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ <configuration>
+ <target>
+ <copy todir="${win64outputdir}/eag/">
+ <fileset dir="${win64outputdir}/eag/openresty"/>
+ </copy>
+ <delete
+ dir="${win64outputdir}/eag/openresty"
+ includeemptydirs="true"/>
+ </target>
+ </configuration>
+ </execution>
+
+
<execution>
<id>distribution</id>
<phase>package</phase>
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
./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 &
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
./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";
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ 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
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <parent>
+ <groupId>org.openo.common-services.microservice-bus</groupId>
+ <artifactId>msb-core-parent</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+
+
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>eag-openresty-ext</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <name>openo/msb/msb-core/eag-openresty-ext</name>
+ <packaging>pom</packaging>
+
+ <properties>
+ <outputdir>target/assembly</outputdir>
+ <packageid>eag-openresty-ext</packageid>
+ </properties>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-resources-plugin</artifactId>
+ <configuration>
+ <includeEmptyDirs>true</includeEmptyDirs>
+ </configuration>
+ <executions>
+ <execution>
+ <id>copy-resources</id>
+ <phase>process-resources</phase>
+ <goals>
+ <goal>copy-resources</goal>
+ </goals>
+ <configuration>
+ <outputDirectory>${outputdir}</outputDirectory>
+ <resources>
+ <resource>
+ <directory>../openresty-ext/src/assembly/resources/</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/*</include>
+ </includes>
+ </resource>
+ </resources>
+ <overwrite>true</overwrite>
+ </configuration>
+ </execution>
+
+ <execution>
+ <id>eag-copy-resources</id>
+ <phase>process-resources</phase>
+ <goals>
+ <goal>copy-resources</goal>
+ </goals>
+ <configuration>
+ <outputDirectory>${outputdir}</outputDirectory>
+ <resources>
+ <resource>
+ <directory>src/assembly/resources/</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/*</include>
+ </includes>
+ </resource>
+ </resources>
+ <overwrite>true</overwrite>
+ </configuration>
+ </execution>
+
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>distribution</id>
+ <phase>package</phase>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ <configuration>
+ <target name="distribution">
+ <zip destfile="target/${packageid}-${project.version}.zip" update="true">
+ <zipfileset dir="target/assembly/" includes="**"/>
+ </zip>
+ <attachartifact file="target/${packageid}-${project.version}.zip" type="zip"/>
+ </target>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ </plugins>
+ </build>
+
+
+</project>
--- /dev/null
+--[[
+
+ 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
--- /dev/null
+#
+# 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
_M._VERSION = '1.0.0'
return {
- auth_plugin_status = "on"
+ auth_plugin_status = "off"
}
\ No newline at end of file
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;
}
<modules>
<module>openresty</module>
<module>openresty-ext</module>
+ <module>eag-openresty-ext</module>
<module>redis</module>
<module>redis-ext</module>
<module>apiroute</module>