Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
小 白蛋
Wecube Platform
Commits
cf9b5358
Commit
cf9b5358
authored
5 years ago
by
Jun Chen
Browse files
Options
Download
Plain Diff
Merge branch 'master' into performance_models
parents
7940c60e
55089688
performance_models
No related merge requests found
Changes
25
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
README.md
+0
-8
README.md
build/deploy_generate_compose.sh
+2
-0
build/deploy_generate_compose.sh
build/docker-compose.tpl
+6
-3
build/docker-compose.tpl
build/wecube.cfg
+2
-0
build/wecube.cfg
platform-auth-server/src/main/java/com/webank/wecube/platform/auth/server/config/DevWebSecurityConfig.java
+2
-0
...ube/platform/auth/server/config/DevWebSecurityConfig.java
platform-auth-server/src/main/java/com/webank/wecube/platform/auth/server/config/TestWebSecurityConfig.java
+2
-0
...be/platform/auth/server/config/TestWebSecurityConfig.java
platform-auth-server/src/main/java/com/webank/wecube/platform/auth/server/config/WebSecurityConfig.java
+3
-1
...wecube/platform/auth/server/config/WebSecurityConfig.java
platform-auth-server/src/main/java/com/webank/wecube/platform/auth/server/controller/ApplicationInformationController.java
+40
-0
...h/server/controller/ApplicationInformationController.java
platform-auth-server/src/main/java/com/webank/wecube/platform/auth/server/dto/LoggerInfoDto.java
+26
-0
...webank/wecube/platform/auth/server/dto/LoggerInfoDto.java
platform-auth-server/src/main/resources/logback-spring.xml
+13
-32
platform-auth-server/src/main/resources/logback-spring.xml
platform-auth-server/src/test/resources/logback-test-spring.xml
+45
-0
...rm-auth-server/src/test/resources/logback-test-spring.xml
platform-core/src/main/java/com/webank/wecube/platform/core/service/PluginInstanceService.java
+0
-1
...k/wecube/platform/core/service/PluginInstanceService.java
platform-gateway/src/main/java/com/webank/wecube/platform/gateway/controller/ApplicationInfomationController.java
+56
-0
...m/gateway/controller/ApplicationInfomationController.java
platform-gateway/src/main/java/com/webank/wecube/platform/gateway/controller/DynamicRouteItemController.java
+0
-24
...atform/gateway/controller/DynamicRouteItemController.java
platform-gateway/src/main/java/com/webank/wecube/platform/gateway/controller/DynamicRouteManagementController.java
+51
-0
.../gateway/controller/DynamicRouteManagementController.java
platform-gateway/src/main/java/com/webank/wecube/platform/gateway/dto/LoggerInfoDto.java
+26
-0
...com/webank/wecube/platform/gateway/dto/LoggerInfoDto.java
platform-gateway/src/main/java/com/webank/wecube/platform/gateway/route/DynamicRouteConfigurationService.java
+438
-432
...tform/gateway/route/DynamicRouteConfigurationService.java
platform-gateway/src/main/resources/application.yml
+3
-3
platform-gateway/src/main/resources/application.yml
platform-gateway/src/main/resources/logback-spring.xml
+9
-6
platform-gateway/src/main/resources/logback-spring.xml
platform-gateway/src/test/resources/logback-test-spring.xml
+42
-0
platform-gateway/src/test/resources/logback-test-spring.xml
with
766 additions
and
510 deletions
+766
-510
README.md
+
0
-
8
View file @
cf9b5358
...
...
@@ -28,14 +28,6 @@ WeCube是一套开源的,一站式IT架构管理和运维管理工具,主要
## 起源
微众银行在分布式架构实践的过程中,发现将银行核心系统构建于分布式架构之上,会遇到一些与传统单体应用不同的痛点(例如,服务器增多,部署难度大;调用链长,全链路跟踪困难; 系统复杂,问题定位时间长等),在逐步解决这些痛点的过程中,总结了一套IT管理的方法论和最佳实践,并研发了与之配套的IT管理工具体系。WeCube就是将该套方法论和最佳实践,从微众内部众多IT管理工具体系中提炼出来,整合成一套开箱即用的IT管理解决方案。
## 在线体验
用户名:admin
密码:admin
[
点此体验国内演示环境
](
http://134.175.159.201:8090
)
[
Click here to try online demo
](
http://119.28.109.23:8090
)
## 设计理念
...
...
This diff is collapsed.
Click to expand it.
build/deploy_generate_compose.sh
+
2
-
0
View file @
cf9b5358
...
...
@@ -69,3 +69,5 @@ sed -i "s~{{WECUBE_SERVER_JMX_PORT}}~$wecube_server_jmx_port~g" docker-compose.y
sed
-i
"s~{{WECUBE_BUCKET}}~
$wecube_bucket
~g"
docker-compose.yml
sed
-i
"s~{{DOCKER_API_CERTS_PATH}}~
$docker_api_certs_path
~g"
docker-compose.yml
sed
-i
"s~{{APP_LOG_PATH}}~
$app_log_path
~g"
docker-compose.yml
sed
-i
"s~{{AUTH_SERVER_LOG_PATH}}~
$auth_server_log_path
~g"
docker-compose.yml
sed
-i
"s~{{WECUBE_GATEWAY_LOG_PATH}}~
$wecube_gateway_log_path
~g"
docker-compose.yml
This diff is collapsed.
Click to expand it.
build/docker-compose.tpl
+
6
-
3
View file @
cf9b5358
...
...
@@ -42,7 +42,7 @@ services:
depends_on:
- platform-core
volumes:
- /data/wecube-gateway/log:
/log/
- /data/wecube-gateway/log:
{
{
WECUBE_GATEWAY_LOG_PATH
}
}
- /etc/localtime:/etc/localtime
ports:
- {
{
GATEWAY_PORT
}
}:8080
...
...
@@ -54,12 +54,13 @@ services:
- WECUBE_CORE_HOST={
{
WECUBE_CORE_HOST
}
}
- AUTH_SERVER_HOST={
{
AUTH_SERVER_HOST
}
}
- GATEWAY_CUSTOM_PARAM={
{
GATEWAY_CUSTOM_PARAM
}
}
- WECUBE_GATEWAY_LOG_PATH={
{
WECUBE_GATEWAY_LOG_PATH
}
}
platform-core:
image: {
{
WECUBE_IMAGE_NAME
}
}:{
{
WECUBE_IMAGE_VERSION
}
}
restart: always
volumes:
-
{
{
APP_LOG_PATH
}
}:/data/wecube/log
-
/data/wecube/log:{
{
APP_LOG_PATH
}
}
- /etc/localtime:/etc/localtime
- {
{
DOCKER_API_CERTS_PATH
}
}:/certs
ports:
...
...
@@ -94,12 +95,13 @@ services:
- WECUBE_BUCKET={
{
WECUBE_BUCKET
}
}
- WECUBE_CORE_HOST={
{
WECUBE_CORE_HOST
}
}
- WECUBE_CUSTOM_PARAM={
{
WECUBE_CUSTOM_PARAM
}
}
- APP_LOG_PATH={
{
APP_LOG_PATH
}
}
auth-server:
image: {
{
AUTH_SERVER_IMAGE_NAME
}
}:{
{
AUTH_SERVER_IMAGE_VERSION
}
}
restart: always
volumes:
- /data/auth_server/log:
/log/
- /data/auth_server/log:
{
{
AUTH_SERVER_LOG_PATH
}
}
- /etc/localtime:/etc/localtime
ports:
- {
{
AUTH_SERVER_PORT
}
}:8080
...
...
@@ -111,6 +113,7 @@ services:
- MYSQL_USER_NAME={
{
AUTH_SERVER_MYSQL_USER_NAME
}
}
- MYSQL_USER_PASSWORD={
{
AUTH_SERVER_MYSQL_USER_PASSWORD
}
}
- AUTH_CUSTOM_PARAM={
{
AUTH_CUSTOM_PARAM
}
}
- AUTH_SERVER_LOG_PATH={
{
AUTH_SERVER_LOG_PATH
}
}
This diff is collapsed.
Click to expand it.
build/wecube.cfg
+
2
-
0
View file @
cf9b5358
...
...
@@ -7,6 +7,8 @@ wecube_plugin_host_user=app
wecube_plugin_host_pwd=Apps@123
wecube_bucket=wecube-plugin-package-bucket
app_log_path=/data/wecube/log
auth_server_log_path=/data/auth_server/log
wecube_gateway_log_path=/data/wecube-gateway/log
#cmdb
cmdb_url=http://127.0.0.1:8080/cmdb
...
...
This diff is collapsed.
Click to expand it.
platform-auth-server/src/main/java/com/webank/wecube/platform/auth/server/config/DevWebSecurityConfig.java
+
2
-
0
View file @
cf9b5358
...
...
@@ -16,6 +16,8 @@ import com.webank.wecube.platform.auth.server.common.ApplicationConstants;
public
class
DevWebSecurityConfig
extends
AuthSecurityConfigurerAdapter
{
private
static
final
String
[]
AUTH_WHITELIST
=
{
//
"/v1/health-check"
,
//
"/v1/appinfo/loggers/query"
,
//
"/v1/appinfo/loggers/update"
,
//
"/v1/api/ping"
,
//
"/v2/api-docs"
,
//
"/error"
,
//
...
...
This diff is collapsed.
Click to expand it.
platform-auth-server/src/main/java/com/webank/wecube/platform/auth/server/config/TestWebSecurityConfig.java
+
2
-
0
View file @
cf9b5358
...
...
@@ -17,6 +17,8 @@ public class TestWebSecurityConfig extends AuthSecurityConfigurerAdapter {
private
static
final
String
[]
AUTH_WHITELIST
=
{
//
"/v1/health-check"
,
//
"/v1/appinfo/loggers/query"
,
//
"/v1/appinfo/loggers/update"
,
//
"/error"
,
//
"/swagger-resources"
,
//
"/swagger-resources/**"
,
//
...
...
This diff is collapsed.
Click to expand it.
platform-auth-server/src/main/java/com/webank/wecube/platform/auth/server/config/WebSecurityConfig.java
+
3
-
1
View file @
cf9b5358
...
...
@@ -20,7 +20,9 @@ import com.webank.wecube.platform.auth.server.common.ApplicationConstants;
@EnableGlobalMethodSecurity
(
securedEnabled
=
true
)
public
class
WebSecurityConfig
extends
AuthSecurityConfigurerAdapter
{
private
static
final
String
[]
AUTH_WHITELIST
=
{
//
"/v1/health-check"
"/v1/health-check"
,
//
"/v1/appinfo/loggers/query"
,
//
"/v1/appinfo/loggers/update"
//
};
@Override
...
...
This diff is collapsed.
Click to expand it.
platform-auth-server/src/main/java/com/webank/wecube/platform/auth/server/controller/ApplicationInformationController.java
+
40
-
0
View file @
cf9b5358
package
com.webank.wecube.platform.auth.server.controller
;
import
java.util.List
;
import
java.util.stream.Collectors
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -7,13 +11,19 @@ import org.springframework.http.HttpStatus;
import
org.springframework.http.MediaType
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.webank.wecube.platform.auth.server.common.ApplicationConstants
;
import
com.webank.wecube.platform.auth.server.dto.CommonResponseDto
;
import
com.webank.wecube.platform.auth.server.dto.LoggerInfoDto
;
import
com.webank.wecube.platform.auth.server.service.ApplicationInformationService
;
import
ch.qos.logback.classic.Level
;
import
ch.qos.logback.classic.LoggerContext
;
@RestController
@RequestMapping
(
ApplicationConstants
.
ApiInfo
.
PREFIX_DEFAULT
)
public
class
ApplicationInformationController
{
...
...
@@ -34,4 +44,34 @@ public class ApplicationInformationController {
.
body
(
CommonResponseDto
.
error
(
e
.
getMessage
()));
}
}
@GetMapping
(
"/appinfo/loggers/query"
)
public
CommonResponseDto
queryLoggers
()
{
LoggerContext
loggerContext
=
(
LoggerContext
)
LoggerFactory
.
getILoggerFactory
();
List
<
ch
.
qos
.
logback
.
classic
.
Logger
>
loggers
=
loggerContext
.
getLoggerList
();
List
<
LoggerInfoDto
>
loggerInfos
=
loggers
.
stream
().
filter
(
lm
->
{
return
lm
.
getLevel
()
!=
null
;
}).
map
(
lm
->
{
LoggerInfoDto
info
=
new
LoggerInfoDto
();
info
.
setLevel
(
lm
.
getLevel
()
==
null
?
null
:
lm
.
getLevel
().
toString
());
info
.
setPath
(
lm
.
getName
());
return
info
;
}).
collect
(
Collectors
.
toList
());
return
CommonResponseDto
.
okayWithData
(
loggerInfos
);
}
@PostMapping
(
"/appinfo/loggers/update"
)
public
CommonResponseDto
changeLogLevel
(
@RequestBody
LoggerInfoDto
dto
)
{
LoggerContext
loggerContext
=
(
LoggerContext
)
LoggerFactory
.
getILoggerFactory
();
if
(!
StringUtils
.
isEmpty
(
dto
.
getLevel
()))
{
ch
.
qos
.
logback
.
classic
.
Logger
logger
=
loggerContext
.
getLogger
(
dto
.
getPath
());
logger
.
setLevel
(
Level
.
toLevel
(
dto
.
getLevel
()));
}
return
CommonResponseDto
.
okay
();
}
}
This diff is collapsed.
Click to expand it.
platform-auth-server/src/main/java/com/webank/wecube/platform/auth/server/dto/LoggerInfoDto.java
0 → 100644
+
26
-
0
View file @
cf9b5358
package
com.webank.wecube.platform.auth.server.dto
;
import
com.fasterxml.jackson.annotation.JsonInclude
;
@JsonInclude
(
JsonInclude
.
Include
.
NON_NULL
)
public
class
LoggerInfoDto
{
private
String
level
;
private
String
path
;
public
String
getLevel
()
{
return
level
;
}
public
void
setLevel
(
String
level
)
{
this
.
level
=
level
;
}
public
String
getPath
()
{
return
path
;
}
public
void
setPath
(
String
path
)
{
this
.
path
=
path
;
}
}
This diff is collapsed.
Click to expand it.
platform-auth-server/src/main/resources/logback-spring.xml
+
13
-
32
View file @
cf9b5358
...
...
@@ -3,27 +3,31 @@
<configuration
scan=
"true"
scanPeriod=
"30 seconds"
>
<property
name=
"logPath"
value=
"${AUTH_SERVER_LOG_PATH:-/data/auth_server/log}"
/>
<property
name=
"logFile"
value=
"auth-server"
/>
<contextListener
class=
"ch.qos.logback.classic.jul.LevelChangePropagator"
>
<resetJUL>
true
</resetJUL>
</contextListener>
<jmxConfigurator/>
<jmxConfigurator
/>
<appender
name=
"console"
class=
"ch.qos.logback.core.ConsoleAppender"
>
<encoder>
<pattern>
%-5level %-48logger{48} - %msg%n
</pattern>
<pattern>
%d{yyyy-MM-dd HH:mm:ss}
%-5level %-48logger{48} - %msg%n
</pattern>
</encoder>
</appender>
<appender
name=
"rollingFile"
class=
"ch.qos.logback.core.rolling.RollingFileAppender"
>
<File>
log
s/wecube-cds
.log
</File>
<File>
${
log
Path}/${logFile}
.log
</File>
<rollingPolicy
class=
"ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
>
<FileNamePattern>
log
s/wecube-cds.log
-%d{yyyyMMdd}.log
<FileNamePattern>
${
log
Path}/${logFile}
-%d{yyyyMMdd}.log
</FileNamePattern>
<MaxHistory>
2
</MaxHistory>
<MaxHistory>
30
</MaxHistory>
</rollingPolicy>
<encoder>
<Pattern>
<![CDATA[%d{yyyy-MM-dd HH:mm:ss} %thread %-5level %-48logger{48} %msg%n]]>
...
...
@@ -31,32 +35,9 @@
<charset>
UTF-8
</charset>
</encoder>
</appender>
<appender
name=
"subprocessLog"
class=
"ch.qos.logback.core.rolling.RollingFileAppender"
>
<File>
logs/subproc-trace.log
</File>
<rollingPolicy
class=
"ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
>
<FileNamePattern>
logs/subproc-trace.log-%d{yyyyMMdd}.log
</FileNamePattern>
<MaxHistory>
2
</MaxHistory>
</rollingPolicy>
<encoder>
<Pattern>
<![CDATA[%d{yyyy-MM-dd HH:mm:ss} %msg%n]]>
</Pattern>
<charset>
UTF-8
</charset>
</encoder>
</appender>
<logger
name=
"com.gl.wecube.cds.workflow.listener"
level=
"debug"
additivity=
"true"
>
<appender-ref
ref=
"subprocessLog"
/>
</logger>
<root
level=
"info"
>
<appender-ref
ref=
"console"
/>
<!--
<appender-ref ref="rollingFile"/>
-->
<!-- <appender-ref ref="console"/> -->
<appender-ref
ref=
"rollingFile"
/>
</root>
</configuration>
This diff is collapsed.
Click to expand it.
platform-auth-server/src/test/resources/logback-test-spring.xml
0 → 100644
+
45
-
0
View file @
cf9b5358
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>
<configuration
scan=
"true"
scanPeriod=
"30 seconds"
>
<property
name=
"logPath"
value=
"${AUTH_SERVER_LOG_PATH:-./target/data/auth_server/log}"
/>
<property
name=
"logFile"
value=
"auth-server"
/>
<contextListener
class=
"ch.qos.logback.classic.jul.LevelChangePropagator"
>
<resetJUL>
true
</resetJUL>
</contextListener>
<jmxConfigurator
/>
<appender
name=
"console"
class=
"ch.qos.logback.core.ConsoleAppender"
>
<encoder>
<pattern>
%d{yyyy-MM-dd HH:mm:ss} %-5level %-48logger{48} - %msg%n
</pattern>
</encoder>
</appender>
<appender
name=
"rollingFile"
class=
"ch.qos.logback.core.rolling.RollingFileAppender"
>
<File>
${logPath}/${logFile}.log
</File>
<rollingPolicy
class=
"ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
>
<FileNamePattern>
${logPath}/${logFile}-%d{yyyyMMdd}.log
</FileNamePattern>
<MaxHistory>
30
</MaxHistory>
</rollingPolicy>
<encoder>
<Pattern>
<![CDATA[%d{yyyy-MM-dd HH:mm:ss} %thread %-5level %-48logger{48} %msg%n]]>
</Pattern>
<charset>
UTF-8
</charset>
</encoder>
</appender>
<root
level=
"info"
>
<appender-ref
ref=
"console"
/>
<!--
<appender-ref ref="rollingFile" />
-->
</root>
</configuration>
This diff is collapsed.
Click to expand it.
platform-core/src/main/java/com/webank/wecube/platform/core/service/PluginInstanceService.java
+
0
-
1
View file @
cf9b5358
...
...
@@ -61,7 +61,6 @@ import static com.google.common.collect.Lists.newArrayList;
import
static
org
.
apache
.
commons
.
lang3
.
StringUtils
.
trim
;
@Service
@Transactional
public
class
PluginInstanceService
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
PluginInstanceService
.
class
);
...
...
This diff is collapsed.
Click to expand it.
platform-gateway/src/main/java/com/webank/wecube/platform/gateway/controller/ApplicationInfomationController.java
0 → 100644
+
56
-
0
View file @
cf9b5358
package
com.webank.wecube.platform.gateway.controller
;
import
java.util.List
;
import
java.util.stream.Collectors
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.webank.wecube.platform.gateway.dto.CommonResponseDto
;
import
com.webank.wecube.platform.gateway.dto.LoggerInfoDto
;
import
ch.qos.logback.classic.Level
;
import
ch.qos.logback.classic.LoggerContext
;
import
reactor.core.publisher.Mono
;
@RestController
@RequestMapping
(
"/gateway/v1"
)
public
class
ApplicationInfomationController
{
@GetMapping
(
"/appinfo/loggers/query"
)
public
Mono
<
CommonResponseDto
>
queryLoggers
()
{
LoggerContext
loggerContext
=
(
LoggerContext
)
LoggerFactory
.
getILoggerFactory
();
List
<
ch
.
qos
.
logback
.
classic
.
Logger
>
loggers
=
loggerContext
.
getLoggerList
();
List
<
LoggerInfoDto
>
loggerInfos
=
loggers
.
stream
().
filter
(
lm
->
{
return
lm
.
getLevel
()
!=
null
;
}).
map
(
lm
->
{
LoggerInfoDto
info
=
new
LoggerInfoDto
();
info
.
setLevel
(
lm
.
getLevel
()
==
null
?
null
:
lm
.
getLevel
().
toString
());
info
.
setPath
(
lm
.
getName
());
return
info
;
}).
collect
(
Collectors
.
toList
());
return
Mono
.
just
(
CommonResponseDto
.
okayWithData
(
loggerInfos
));
}
@PostMapping
(
"/appinfo/loggers/update"
)
public
Mono
<
CommonResponseDto
>
changeLogLevel
(
@RequestBody
LoggerInfoDto
dto
)
{
LoggerContext
loggerContext
=
(
LoggerContext
)
LoggerFactory
.
getILoggerFactory
();
if
(!
StringUtils
.
isEmpty
(
dto
.
getLevel
()))
{
ch
.
qos
.
logback
.
classic
.
Logger
logger
=
loggerContext
.
getLogger
(
dto
.
getPath
());
logger
.
setLevel
(
Level
.
toLevel
(
dto
.
getLevel
()));
}
return
Mono
.
just
(
CommonResponseDto
.
okay
());
}
}
This diff is collapsed.
Click to expand it.
platform-gateway/src/main/java/com/webank/wecube/platform/gateway/controller/DynamicRouteItemController.java
+
0
-
24
View file @
cf9b5358
...
...
@@ -6,16 +6,12 @@ import java.util.List;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.DeleteMapping
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.webank.wecube.platform.gateway.dto.CommonResponseDto
;
import
com.webank.wecube.platform.gateway.dto.MvcContextRouteConfigDto
;
import
com.webank.wecube.platform.gateway.dto.RouteItemInfoDto
;
import
com.webank.wecube.platform.gateway.dto.RouteItemPushDto
;
import
com.webank.wecube.platform.gateway.route.DynamicRouteConfigurationService
;
...
...
@@ -31,26 +27,6 @@ public class DynamicRouteItemController {
@Autowired
private
DynamicRouteConfigurationService
service
;
@GetMapping
(
"/route-items"
)
public
Mono
<
CommonResponseDto
>
listRouteItems
(){
List
<
RouteItemInfoDto
>
items
=
service
.
listAllContextRouteItems
();
return
Mono
.
just
(
CommonResponseDto
.
okayWithData
(
items
));
}
@GetMapping
(
"/loaded-routes"
)
public
Mono
<
CommonResponseDto
>
listLoadedRouteItems
(){
List
<
MvcContextRouteConfigDto
>
items
=
service
.
getAllMvcContextRouteConfigs
();
return
Mono
.
just
(
CommonResponseDto
.
okayWithData
(
items
));
}
@DeleteMapping
(
"/route-items/{route-name}"
)
public
Mono
<
CommonResponseDto
>
deleteRouteItems
(
@PathVariable
(
"route-name"
)
String
routeName
){
service
.
deleteRouteItem
(
routeName
);
return
Mono
.
just
(
CommonResponseDto
.
okay
());
}
@PostMapping
(
"/route-items"
)
public
Mono
<
CommonResponseDto
>
pushRouteItems
(
@RequestBody
RouteItemPushDto
request
)
{
String
context
=
request
.
getContext
();
...
...
This diff is collapsed.
Click to expand it.
platform-gateway/src/main/java/com/webank/wecube/platform/gateway/controller/DynamicRouteManagementController.java
0 → 100644
+
51
-
0
View file @
cf9b5358
package
com.webank.wecube.platform.gateway.controller
;
import
java.util.List
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.DeleteMapping
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.webank.wecube.platform.gateway.dto.CommonResponseDto
;
import
com.webank.wecube.platform.gateway.dto.MvcContextRouteConfigDto
;
import
com.webank.wecube.platform.gateway.dto.RouteItemInfoDto
;
import
com.webank.wecube.platform.gateway.route.DynamicRouteConfigurationService
;
import
reactor.core.publisher.Mono
;
@RestController
@RequestMapping
(
"/gateway/v1"
)
public
class
DynamicRouteManagementController
{
private
static
final
Logger
log
=
LoggerFactory
.
getLogger
(
DynamicRouteManagementController
.
class
);
@Autowired
private
DynamicRouteConfigurationService
service
;
@GetMapping
(
"/route-items"
)
public
Mono
<
CommonResponseDto
>
listRouteItems
()
{
List
<
RouteItemInfoDto
>
items
=
service
.
listAllContextRouteItems
();
return
Mono
.
just
(
CommonResponseDto
.
okayWithData
(
items
));
}
@GetMapping
(
"/loaded-routes"
)
public
Mono
<
CommonResponseDto
>
listLoadedRouteItems
()
{
List
<
MvcContextRouteConfigDto
>
items
=
service
.
getAllMvcContextRouteConfigs
();
return
Mono
.
just
(
CommonResponseDto
.
okayWithData
(
items
));
}
@DeleteMapping
(
"/route-items/{route-name}"
)
public
Mono
<
CommonResponseDto
>
deleteRouteItems
(
@PathVariable
(
"route-name"
)
String
routeName
)
{
log
.
info
(
"to delete route {}"
,
routeName
);
service
.
deleteRouteItem
(
routeName
);
return
Mono
.
just
(
CommonResponseDto
.
okay
());
}
}
This diff is collapsed.
Click to expand it.
platform-gateway/src/main/java/com/webank/wecube/platform/gateway/dto/LoggerInfoDto.java
0 → 100644
+
26
-
0
View file @
cf9b5358
package
com.webank.wecube.platform.gateway.dto
;
import
com.fasterxml.jackson.annotation.JsonInclude
;
@JsonInclude
(
JsonInclude
.
Include
.
NON_NULL
)
public
class
LoggerInfoDto
{
private
String
level
;
private
String
path
;
public
String
getLevel
()
{
return
level
;
}
public
void
setLevel
(
String
level
)
{
this
.
level
=
level
;
}
public
String
getPath
()
{
return
path
;
}
public
void
setPath
(
String
path
)
{
this
.
path
=
path
;
}
}
This diff is collapsed.
Click to expand it.
platform-gateway/src/main/java/com/webank/wecube/platform/gateway/route/DynamicRouteConfigurationService.java
+
438
-
432
View file @
cf9b5358
This diff is collapsed.
Click to expand it.
platform-gateway/src/main/resources/application.yml
+
3
-
3
View file @
cf9b5358
...
...
@@ -12,7 +12,7 @@ logging:
platform
:
gateway
:
route
:
route-config-server
:
http://${WECUBE_CORE_HOST}:19100
route-config-server
:
http://${WECUBE_CORE_HOST
:127.0.0.1
}:19100
route-config-uri
:
/platform/v1/route-items
route-config-access-key
:
eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJXRUNVQkUtQ09SRSIsImlhdCI6MTU3MDY5MDMwMCwidHlwZSI6ImFjY2Vzc1Rva2VuIiwiY2xpZW50VHlwZSI6IlNVQl9TWVNURU0iLCJleHAiOjE2MDIzMTI3MDAsImF1dGhvcml0eSI6IltTVUJfU1lTVEVNXSJ9.Mq8g_ZoPIQ_mB59zEq0KVtwGn_uPqL8qn6sP7WzEiJxoXQQIcVe7mYsG-E2jxCShEQL7PsMNLM47MYuY7R5nBg
...
...
@@ -24,13 +24,13 @@ spring:
useInsecureTrustManager
:
true
routes
:
-
id
:
platform-core
uri
:
http://${WECUBE_CORE_HOST}:19100
uri
:
http://${WECUBE_CORE_HOST
:127.0.0.1
}:19100
predicates
:
-
Path=/platform/**
filters
:
-
DynamicRoute=false
-
id
:
platform-auth-server
uri
:
http://${AUTH_SERVER_HOST}:19120
uri
:
http://${AUTH_SERVER_HOST
:127.0.0.1
}:19120
predicates
:
-
Path=/auth/**
filters
:
...
...
This diff is collapsed.
Click to expand it.
platform-gateway/src/main/resources/logback-spring.xml
+
9
-
6
View file @
cf9b5358
<?xml version="1.0" encoding="UTF-8"?>
<configuration
scan=
"true"
scanPeriod=
"30 seconds"
>
<property
name=
"logPath"
value=
"${WECUBE_GATEWAY_LOG_PATH:-/data/wecube-gateway/log}"
/>
<property
name=
"logFile"
value=
"wecube-gateway"
/>
<contextListener
class=
"ch.qos.logback.classic.jul.LevelChangePropagator"
>
<resetJUL>
true
</resetJUL>
</contextListener>
...
...
@@ -9,19 +12,19 @@
<appender
name=
"console"
class=
"ch.qos.logback.core.ConsoleAppender"
>
<encoder>
<pattern>
%-5level %logger{0} - %msg%n
</pattern>
<pattern>
%d{yyyy-MM-dd HH:mm:ss}
%-5level %logger{0} - %msg%n
</pattern>
</encoder>
</appender>
<appender
name=
"rollingFile"
class=
"ch.qos.logback.core.rolling.RollingFileAppender"
>
<File>
../logs/mock/mock-trace
.log
</File>
<File>
${logPath}/${logFile}
.log
</File>
<rollingPolicy
class=
"ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
>
<FileNamePattern>
../logs/mock/mock-trace
-%d{yyyyMMdd}.log
<FileNamePattern>
${logPath}/${logFile}
-%d{yyyyMMdd}.log
</FileNamePattern>
<MaxHistory>
2
</MaxHistory>
<MaxHistory>
30
</MaxHistory>
</rollingPolicy>
<encoder>
<Pattern>
<![CDATA[%d{yyyy-MM-dd HH:mm:ss} %thread %-5level %-48logger{48} %msg%n]]>
...
...
@@ -31,9 +34,9 @@
</appender>
<root
level=
"info"
>
<appender-ref
ref=
"console"
/>
<!--
<appender-ref ref="
rollingFi
le" />
<appender-ref ref="
conso
le" />
-->
<appender-ref
ref=
"rollingFile"
/>
</root>
</configuration>
This diff is collapsed.
Click to expand it.
platform-gateway/src/test/resources/logback-test-spring.xml
0 → 100644
+
42
-
0
View file @
cf9b5358
<?xml version="1.0" encoding="UTF-8"?>
<configuration
scan=
"true"
scanPeriod=
"30 seconds"
>
<property
name=
"logPath"
value=
"${WECUBE_GATEWAY_LOG_PATH:-./target/data/wecube-gateway/log}"
/>
<property
name=
"logFile"
value=
"wecube-gateway"
/>
<contextListener
class=
"ch.qos.logback.classic.jul.LevelChangePropagator"
>
<resetJUL>
true
</resetJUL>
</contextListener>
<jmxConfigurator
/>
<appender
name=
"console"
class=
"ch.qos.logback.core.ConsoleAppender"
>
<encoder>
<pattern>
%d{yyyy-MM-dd HH:mm:ss} %-5level %logger{0} - %msg%n
</pattern>
</encoder>
</appender>
<appender
name=
"rollingFile"
class=
"ch.qos.logback.core.rolling.RollingFileAppender"
>
<File>
${logPath}/${logFile}.log
</File>
<rollingPolicy
class=
"ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
>
<FileNamePattern>
${logPath}/${logFile}-%d{yyyyMMdd}.log
</FileNamePattern>
<MaxHistory>
30
</MaxHistory>
</rollingPolicy>
<encoder>
<Pattern>
<![CDATA[%d{yyyy-MM-dd HH:mm:ss} %thread %-5level %-48logger{48} %msg%n]]>
</Pattern>
<charset>
UTF-8
</charset>
</encoder>
</appender>
<root
level=
"info"
>
<appender-ref
ref=
"console"
/>
<!--
<appender-ref ref="rollingFile" />
-->
</root>
</configuration>
This diff is collapsed.
Click to expand it.
Prev
1
2
Next
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Projects
Groups
Snippets
Help