Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
apache
SkyWalking
提交
7551bc7d
S
SkyWalking
项目概览
apache
/
SkyWalking
上一次同步 大约 1 年
通知
302
Star
21345
Fork
6091
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
SkyWalking
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
7551bc7d
编写于
8月 01, 2018
作者:
G
Gao Hongtao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add server query module with sub module which implements graphql protocol.
上级
5eea1ae7
变更
13
隐藏空白更改
内联
并排
Showing
13 changed file
with
477 addition
and
1 deletion
+477
-1
oap-server/pom.xml
oap-server/pom.xml
+13
-0
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/QueryModule.java
.../apache/skywalking/oap/server/core/query/QueryModule.java
+39
-0
oap-server/server-core/src/main/resources/META-INF/services/org.apache.skywalking.oap.server.library.module.ModuleDefine
....apache.skywalking.oap.server.library.module.ModuleDefine
+2
-1
oap-server/server-query-plugin/pom.xml
oap-server/server-query-plugin/pom.xml
+36
-0
oap-server/server-query-plugin/query-graphql-plugin/pom.xml
oap-server/server-query-plugin/query-graphql-plugin/pom.xml
+66
-0
oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/GraphQLQueryConfig.java
...ache/skywalking/oap/query/graphql/GraphQLQueryConfig.java
+35
-0
oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/GraphQLQueryHandler.java
...che/skywalking/oap/query/graphql/GraphQLQueryHandler.java
+117
-0
oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/GraphQLQueryProvider.java
...he/skywalking/oap/query/graphql/GraphQLQueryProvider.java
+79
-0
oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/Mutation.java
...pache/skywalking/oap/query/graphql/resolver/Mutation.java
+30
-0
oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/Query.java
...g/apache/skywalking/oap/query/graphql/resolver/Query.java
+30
-0
oap-server/server-query-plugin/query-graphql-plugin/src/main/resources/META-INF/services/org.apache.skywalking.oap.server.library.module.ModuleProvider
...pache.skywalking.oap.server.library.module.ModuleProvider
+19
-0
oap-server/server-starter/pom.xml
oap-server/server-starter/pom.xml
+8
-0
oap-server/server-starter/src/main/resources/application.yml
oap-server/server-starter/src/main/resources/application.yml
+3
-0
未找到文件。
oap-server/pom.xml
浏览文件 @
7551bc7d
...
...
@@ -36,6 +36,7 @@
<module>
server-storage-plugin
</module>
<module>
server-library
</module>
<module>
server-starter
</module>
<module>
server-query-plugin
</module>
</modules>
<properties>
...
...
@@ -56,6 +57,8 @@
<elasticsearch.version>
6.3.1
</elasticsearch.version>
<joda-time.version>
2.9.9
</joda-time.version>
<kubernetes.version>
2.0.0
</kubernetes.version>
<graphql-java.version>
8.0
</graphql-java.version>
<graphql-java-tools.version>
5.2.3
</graphql-java-tools.version>
</properties>
<dependencies>
...
...
@@ -231,6 +234,16 @@
<artifactId>
client-java
</artifactId>
<version>
${kubernetes.version}
</version>
</dependency>
<dependency>
<groupId>
com.graphql-java
</groupId>
<artifactId>
graphql-java
</artifactId>
<version>
${graphql-java.version}
</version>
</dependency>
<dependency>
<groupId>
com.graphql-java
</groupId>
<artifactId>
graphql-java-tools
</artifactId>
<version>
${graphql-java-tools.version}
</version>
</dependency>
</dependencies>
</dependencyManagement>
</project>
\ No newline at end of file
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/QueryModule.java
0 → 100644
浏览文件 @
7551bc7d
/*
* 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.
*
*/
package
org.apache.skywalking.oap.server.core.query
;
import
org.apache.skywalking.oap.server.library.module.ModuleDefine
;
/**
* The root module of Query plugin.
*
* @author gaohongtao
*/
public
class
QueryModule
extends
ModuleDefine
{
private
static
final
String
NAME
=
"query"
;
@Override
public
String
name
()
{
return
NAME
;
}
@Override
public
Class
[]
services
()
{
return
new
Class
[]
{};
}
}
oap-server/server-core/src/main/resources/META-INF/services/org.apache.skywalking.oap.server.library.module.ModuleDefine
浏览文件 @
7551bc7d
...
...
@@ -18,4 +18,5 @@
org.apache.skywalking.oap.server.core.storage.StorageModule
org.apache.skywalking.oap.server.core.cluster.ClusterModule
org.apache.skywalking.oap.server.core.CoreModule
\ No newline at end of file
org.apache.skywalking.oap.server.core.CoreModule
org.apache.skywalking.oap.server.core.query.QueryModule
\ No newline at end of file
oap-server/server-query-plugin/pom.xml
0 → 100644
浏览文件 @
7551bc7d
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ 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.
~
-->
<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>
<artifactId>
oap-server
</artifactId>
<groupId>
org.apache.skywalking
</groupId>
<version>
6.0.0-alpha-SNAPSHOT
</version>
</parent>
<modelVersion>
4.0.0
</modelVersion>
<artifactId>
server-query-plugin
</artifactId>
<packaging>
pom
</packaging>
<modules>
<module>
query-graphql-plugin
</module>
</modules>
</project>
\ No newline at end of file
oap-server/server-query-plugin/query-graphql-plugin/pom.xml
0 → 100644
浏览文件 @
7551bc7d
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ 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.
~
-->
<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>
<artifactId>
server-query-plugin
</artifactId>
<groupId>
org.apache.skywalking
</groupId>
<version>
6.0.0-alpha-SNAPSHOT
</version>
</parent>
<modelVersion>
4.0.0
</modelVersion>
<artifactId>
query-graphql-plugin
</artifactId>
<dependencies>
<dependency>
<groupId>
org.apache.skywalking
</groupId>
<artifactId>
library-module
</artifactId>
<version>
${project.version}
</version>
</dependency>
<dependency>
<groupId>
org.apache.skywalking
</groupId>
<artifactId>
library-util
</artifactId>
<version>
${project.version}
</version>
</dependency>
<dependency>
<groupId>
org.apache.skywalking
</groupId>
<artifactId>
server-core
</artifactId>
<version>
${project.version}
</version>
</dependency>
<dependency>
<groupId>
org.apache.skywalking
</groupId>
<artifactId>
apm-ui-protocol
</artifactId>
<version>
${project.version}
</version>
</dependency>
<dependency>
<groupId>
com.graphql-java
</groupId>
<artifactId>
graphql-java
</artifactId>
</dependency>
<dependency>
<groupId>
com.graphql-java
</groupId>
<artifactId>
graphql-java-tools
</artifactId>
</dependency>
<dependency>
<groupId>
com.google.code.gson
</groupId>
<artifactId>
gson
</artifactId>
</dependency>
</dependencies>
</project>
\ No newline at end of file
oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/GraphQLQueryConfig.java
0 → 100644
浏览文件 @
7551bc7d
/*
* 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.
*
*/
package
org.apache.skywalking.oap.query.graphql
;
import
lombok.AccessLevel
;
import
lombok.Getter
;
import
lombok.Setter
;
import
org.apache.skywalking.oap.server.library.module.ModuleConfig
;
/**
* The config of {@code query.graphql}.
*
* @author gaohongtao
*/
@Getter
(
AccessLevel
.
PACKAGE
)
@Setter
(
AccessLevel
.
PUBLIC
)
public
class
GraphQLQueryConfig
extends
ModuleConfig
{
private
String
path
;
}
oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/GraphQLQueryHandler.java
0 → 100644
浏览文件 @
7551bc7d
/*
* 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.
*
*/
package
org.apache.skywalking.oap.query.graphql
;
import
com.google.gson.Gson
;
import
com.google.gson.JsonArray
;
import
com.google.gson.JsonElement
;
import
com.google.gson.JsonObject
;
import
com.google.gson.reflect.TypeToken
;
import
graphql.ExecutionInput
;
import
graphql.ExecutionResult
;
import
graphql.GraphQL
;
import
graphql.GraphQLError
;
import
java.io.BufferedReader
;
import
java.io.IOException
;
import
java.io.InputStreamReader
;
import
java.util.List
;
import
java.util.Map
;
import
javax.servlet.http.HttpServletRequest
;
import
lombok.RequiredArgsConstructor
;
import
org.apache.skywalking.oap.server.library.server.jetty.ArgumentsParseException
;
import
org.apache.skywalking.oap.server.library.server.jetty.JettyJsonHandler
;
import
org.apache.skywalking.oap.server.library.util.CollectionUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
@RequiredArgsConstructor
public
class
GraphQLQueryHandler
extends
JettyJsonHandler
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
GraphQLQueryHandler
.
class
);
private
static
final
String
QUERY
=
"query"
;
private
static
final
String
VARIABLES
=
"variables"
;
private
static
final
String
DATA
=
"data"
;
private
static
final
String
ERRORS
=
"errors"
;
private
static
final
String
MESSAGE
=
"message"
;
private
final
Gson
gson
=
new
Gson
();
private
final
String
path
;
private
final
GraphQL
graphQL
;
@Override
public
String
pathSpec
()
{
return
path
;
}
@Override
protected
JsonElement
doGet
(
HttpServletRequest
req
)
throws
ArgumentsParseException
{
throw
new
UnsupportedOperationException
(
"GraphQL only supports POST method"
);
}
@Override
protected
JsonElement
doPost
(
HttpServletRequest
req
)
throws
ArgumentsParseException
,
IOException
{
BufferedReader
reader
=
new
BufferedReader
(
new
InputStreamReader
(
req
.
getInputStream
()));
String
line
;
StringBuilder
request
=
new
StringBuilder
();
while
((
line
=
reader
.
readLine
())
!=
null
)
{
request
.
append
(
line
);
}
JsonObject
requestJson
=
gson
.
fromJson
(
request
.
toString
(),
JsonObject
.
class
);
return
execute
(
requestJson
.
get
(
QUERY
).
getAsString
(),
gson
.
fromJson
(
requestJson
.
get
(
VARIABLES
),
new
TypeToken
<
Map
<
String
,
Object
>>()
{
}.
getType
()));
}
private
JsonObject
execute
(
String
request
,
Map
<
String
,
Object
>
variables
)
{
try
{
ExecutionInput
executionInput
=
ExecutionInput
.
newExecutionInput
().
query
(
request
).
variables
(
variables
).
build
();
ExecutionResult
executionResult
=
graphQL
.
execute
(
executionInput
);
logger
.
debug
(
"Execution result is {}"
,
executionResult
);
Object
data
=
executionResult
.
getData
();
List
<
GraphQLError
>
errors
=
executionResult
.
getErrors
();
JsonObject
jsonObject
=
new
JsonObject
();
if
(
data
!=
null
)
{
jsonObject
.
add
(
DATA
,
gson
.
fromJson
(
gson
.
toJson
(
data
),
JsonObject
.
class
));
}
if
(
CollectionUtils
.
isNotEmpty
(
errors
))
{
JsonArray
errorArray
=
new
JsonArray
();
errors
.
forEach
(
error
->
{
JsonObject
errorJson
=
new
JsonObject
();
errorJson
.
addProperty
(
MESSAGE
,
error
.
getMessage
());
errorArray
.
add
(
errorJson
);
});
jsonObject
.
add
(
ERRORS
,
errorArray
);
}
return
jsonObject
;
}
catch
(
final
Throwable
e
)
{
logger
.
error
(
e
.
getMessage
(),
e
);
JsonObject
jsonObject
=
new
JsonObject
();
JsonArray
errorArray
=
new
JsonArray
();
JsonObject
errorJson
=
new
JsonObject
();
errorJson
.
addProperty
(
MESSAGE
,
e
.
getMessage
());
errorArray
.
add
(
errorJson
);
jsonObject
.
add
(
ERRORS
,
errorArray
);
return
jsonObject
;
}
}
}
oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/GraphQLQueryProvider.java
0 → 100644
浏览文件 @
7551bc7d
/*
* 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.
*
*/
package
org.apache.skywalking.oap.query.graphql
;
import
com.coxautodev.graphql.tools.SchemaParser
;
import
graphql.GraphQL
;
import
graphql.schema.GraphQLSchema
;
import
org.apache.skywalking.oap.query.graphql.resolver.Mutation
;
import
org.apache.skywalking.oap.query.graphql.resolver.Query
;
import
org.apache.skywalking.oap.server.core.CoreModule
;
import
org.apache.skywalking.oap.server.core.query.QueryModule
;
import
org.apache.skywalking.oap.server.core.server.JettyHandlerRegister
;
import
org.apache.skywalking.oap.server.library.module.ModuleConfig
;
import
org.apache.skywalking.oap.server.library.module.ModuleDefine
;
import
org.apache.skywalking.oap.server.library.module.ModuleProvider
;
import
org.apache.skywalking.oap.server.library.module.ModuleStartException
;
import
org.apache.skywalking.oap.server.library.module.ServiceNotProvidedException
;
/**
* GraphQL query provider.
*
* @author gaohongtao
*/
public
class
GraphQLQueryProvider
extends
ModuleProvider
{
private
final
GraphQLQueryConfig
config
=
new
GraphQLQueryConfig
();
private
GraphQL
graphQL
;
@Override
public
String
name
()
{
return
"graphql"
;
}
@Override
public
Class
<?
extends
ModuleDefine
>
module
()
{
return
QueryModule
.
class
;
}
@Override
public
ModuleConfig
createConfigBeanIfAbsent
()
{
return
config
;
}
@Override
public
void
prepare
()
throws
ServiceNotProvidedException
,
ModuleStartException
{
GraphQLSchema
schema
=
SchemaParser
.
newParser
()
.
file
(
"ui-graphql-v6/common.graphqls"
)
.
resolvers
(
new
Query
(),
new
Mutation
())
.
build
()
.
makeExecutableSchema
();
this
.
graphQL
=
GraphQL
.
newGraphQL
(
schema
).
build
();
}
@Override
public
void
start
()
throws
ServiceNotProvidedException
,
ModuleStartException
{
JettyHandlerRegister
service
=
getManager
().
find
(
CoreModule
.
NAME
).
getService
(
JettyHandlerRegister
.
class
);
service
.
addHandler
(
new
GraphQLQueryHandler
(
config
.
getPath
(),
graphQL
));
}
@Override
public
void
notifyAfterCompleted
()
throws
ServiceNotProvidedException
,
ModuleStartException
{
}
@Override
public
String
[]
requiredModules
()
{
return
new
String
[
0
];
}
}
oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/Mutation.java
0 → 100644
浏览文件 @
7551bc7d
/*
* 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.
*
*/
package
org.apache.skywalking.oap.query.graphql.resolver
;
import
com.coxautodev.graphql.tools.GraphQLMutationResolver
;
/**
* Root mutation resolver.
*
* @author gaohongtao
*/
public
class
Mutation
implements
GraphQLMutationResolver
{
private
String
version
;
}
oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/Query.java
0 → 100644
浏览文件 @
7551bc7d
/*
* 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.
*
*/
package
org.apache.skywalking.oap.query.graphql.resolver
;
import
com.coxautodev.graphql.tools.GraphQLQueryResolver
;
/**
* Root Query Resolver.
*
* @author gaohongtao
*/
public
class
Query
implements
GraphQLQueryResolver
{
private
String
version
=
"6.0"
;
}
oap-server/server-query-plugin/query-graphql-plugin/src/main/resources/META-INF/services/org.apache.skywalking.oap.server.library.module.ModuleProvider
0 → 100644
浏览文件 @
7551bc7d
#
# 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.
#
#
org.apache.skywalking.oap.query.graphql.GraphQLQueryProvider
oap-server/server-starter/pom.xml
浏览文件 @
7551bc7d
...
...
@@ -73,5 +73,13 @@
<version>
${project.version}
</version>
</dependency>
<!-- storage module -->
<!-- query module -->
<dependency>
<groupId>
org.apache.skywalking
</groupId>
<artifactId>
query-graphql-plugin
</artifactId>
<version>
${project.version}
</version>
</dependency>
<!-- query module -->
</dependencies>
</project>
\ No newline at end of file
oap-server/server-starter/src/main/resources/application.yml
浏览文件 @
7551bc7d
...
...
@@ -37,3 +37,6 @@ storage:
elasticsearch
:
service-mesh
:
default
:
query
:
graphql
:
path
:
/graphql
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录