Skip to content

Commit 9bd9e5d

Browse files
authored
Merge pull request #15 from xianyanglin/hango-master
Add Ingress Manager
2 parents fd27a39 + 8b6550c commit 9bd9e5d

File tree

182 files changed

+2523
-5560
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

182 files changed

+2523
-5560
lines changed

hango-api-plane-server/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@
120120
<dependency>
121121
<groupId>io.fabric8</groupId>
122122
<artifactId>kubernetes-model-gatewayapi</artifactId>
123-
<version>6.2.0</version>
123+
<version>6.6.2</version>
124124
<exclusions>
125125
<exclusion>
126126
<groupId>io.fabric8</groupId>

hango-api-plane-server/src/main/java/org/hango/cloud/configuration/ApiPlaneAutoBaseConfiguration.java

-8
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import com.fasterxml.jackson.dataformat.yaml.YAMLMapper;
1010
import com.google.common.collect.ImmutableList;
1111
import com.hubspot.jackson.datatype.protobuf.ProtobufModule;
12-
import org.hango.cloud.configuration.ext.MeshConfig;
1312
import org.hango.cloud.util.freemarker.AutoRemoveDirective;
1413
import org.hango.cloud.util.freemarker.IgnoreDirective;
1514
import org.hango.cloud.util.freemarker.IndentationDirective;
@@ -21,7 +20,6 @@
2120
import org.springframework.context.annotation.Bean;
2221
import org.springframework.context.annotation.Configuration;
2322
import org.springframework.context.annotation.Primary;
24-
import org.springframework.context.annotation.PropertySource;
2523
import org.springframework.http.client.BufferingClientHttpRequestFactory;
2624
import org.springframework.http.client.ClientHttpRequestInterceptor;
2725
import org.springframework.http.client.InterceptingClientHttpRequestFactory;
@@ -36,7 +34,6 @@
3634

3735

3836
@Configuration
39-
@PropertySource(value = {"classpath:mesh-config.properties"})
4037
public class ApiPlaneAutoBaseConfiguration {
4138

4239
@Autowired
@@ -99,9 +96,4 @@ void configureFreemarkerConfig() throws IOException {
9996
freemarkerConfig.setSharedVariable("supply", new SupplyDirective());
10097
freemarkerConfig.setSharedVariable("autoremove", new AutoRemoveDirective());
10198
}
102-
103-
@Bean
104-
MeshConfig meshConfig() {
105-
return new MeshConfig();
106-
}
10799
}

hango-api-plane-server/src/main/java/org/hango/cloud/configuration/ext/MeshConfig.java

-57
This file was deleted.

hango-api-plane-server/src/main/java/org/hango/cloud/core/AbstractConfigManagerSupport.java

-2
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,6 @@ protected void update(ConfigStore configStore, List<K8sResourcePack> resources,
3030
if (latest instanceof EmptyResource && pack.hasSubtracter()) {
3131
// 若latest标识为emptyResource, 则进行subtract操作
3232
merged = pack.getSubtracter().subtract(old);
33-
} else if (pack.hasMerger()) {
34-
merged = pack.getMerger().merge(old, latest);
3533
} else {
3634
merged = modelEngine.merge(old, latest);
3735
}

hango-api-plane-server/src/main/java/org/hango/cloud/core/ConfigStore.java

+2
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ public interface ConfigStore {
2121

2222
List<HasMetadata> get(String kind, String namespace);
2323

24+
List<HasMetadata> get(String kind);
25+
2426
List<HasMetadata> get(String kind, String namespace, Map<String, String> labels);
2527

2628
}

hango-api-plane-server/src/main/java/org/hango/cloud/core/GlobalConfig.java

+36-11
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,7 @@
44
import org.springframework.beans.factory.annotation.Value;
55
import org.springframework.context.annotation.Configuration;
66

7-
import java.util.Arrays;
8-
import java.util.List;
9-
10-
import static org.hango.cloud.util.Const.VAILD_REGISTRY;
11-
12-
import java.util.Arrays;
13-
import java.util.Collections;
14-
import java.util.HashSet;
15-
import java.util.List;
16-
import java.util.Set;
7+
import java.util.*;
178

189
import static org.hango.cloud.util.Const.VAILD_REGISTRY;
1910

@@ -29,7 +20,7 @@ public class GlobalConfig {
2920
@Value("${apiPlaneVersion}")
3021
private String apiPlaneVersion;
3122

32-
@Value("${istioRev:gw-1.12}")
23+
@Value("${istioRev:gw-stable}")
3324
private String istioRev;
3425

3526
@Value("${telnet.connect.timeout:3000}")
@@ -41,6 +32,23 @@ public class GlobalConfig {
4132
@Value("${registry:all}")
4233
private String registry;
4334

35+
//项目隔离标识
36+
@Value("${projectCode:skiff.netease.com/project}")
37+
private String projectCode;
38+
39+
//ingress controller标识,和istio保持一致
40+
@Value("${ingressClass:hango}")
41+
private String ingressClass;
42+
43+
//自定义插件代码挂载cm 名称
44+
@Value("${pluginContentConfigName:hango-rider-plugin}")
45+
private String pluginContentConfigName;
46+
47+
//自定义插件schema挂载cm 名称
48+
@Value("${pluginSchemaConfigName:hango-plugin-schema}")
49+
private String pluginSchemaConfigName;
50+
51+
4452
private final String ALL = "all";
4553

4654
@Value("${ignorePlugins:#{null}}")
@@ -85,4 +93,21 @@ public List<String> getRegistryList() {
8593
}
8694
return Arrays.asList(registry.split(","));
8795
}
96+
97+
public String getProjectCode() {
98+
return projectCode;
99+
}
100+
101+
public String getIngressClass() {
102+
return ingressClass;
103+
}
104+
105+
public String getPluginContentConfigName() {
106+
return pluginContentConfigName;
107+
}
108+
109+
public String getPluginSchemaConfigName() {
110+
return pluginSchemaConfigName;
111+
}
112+
88113
}

hango-api-plane-server/src/main/java/org/hango/cloud/core/IstioModelEngine.java

+8-19
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
11
package org.hango.cloud.core;
22

3+
import io.fabric8.kubernetes.api.model.HasMetadata;
34
import org.hango.cloud.core.editor.ResourceType;
45
import org.hango.cloud.core.k8s.K8sResourceEnum;
56
import org.hango.cloud.core.k8s.K8sResourceGenerator;
67
import org.hango.cloud.core.k8s.K8sResourcePack;
78
import org.hango.cloud.core.k8s.operator.IntegratedResourceOperator;
89
import org.hango.cloud.util.exception.ApiPlaneException;
910
import org.hango.cloud.util.exception.ExceptionConst;
10-
import org.hango.cloud.util.function.Merger;
1111
import org.hango.cloud.util.function.Subtracter;
12-
import io.fabric8.kubernetes.api.model.HasMetadata;
1312
import org.slf4j.Logger;
1413
import org.slf4j.LoggerFactory;
1514
import org.springframework.beans.factory.annotation.Autowired;
@@ -69,34 +68,24 @@ protected HasMetadata str2HasMetadata(String str) {
6968
}
7069

7170
protected List<K8sResourcePack> generateK8sPack(List<String> raws) {
72-
return generateK8sPack(raws, null, null, r -> r, this::str2HasMetadata, hsm -> hsm);
71+
return generateK8sPack(raws, null, r -> r, this::str2HasMetadata, hsm -> hsm);
7372
}
7473

75-
protected List<K8sResourcePack> generateK8sPack(List<String> raws, Function<String, HasMetadata> transFun) {
76-
return generateK8sPack(raws, null, null, r -> r, transFun, hsm -> hsm);
77-
}
7874

7975
protected List<K8sResourcePack> generateK8sPack(List<String> raws, Subtracter subtracter) {
80-
return generateK8sPack(raws, null, subtracter, r -> r, this::str2HasMetadata, hsm -> hsm);
76+
return generateK8sPack(raws, subtracter, r -> r, this::str2HasMetadata, hsm -> hsm);
8177
}
8278

83-
protected List<K8sResourcePack> generateK8sPack(List<String> raws, Merger merger, Subtracter subtracter, Function<String, HasMetadata> transFun) {
84-
return generateK8sPack(raws, merger, subtracter, r -> r, transFun, hsm -> hsm);
85-
}
86-
87-
protected List<K8sResourcePack> generateK8sPack(List<String> raws, Merger merger, Subtracter subtracter, Function<String, String> preFun, Function<String, HasMetadata> transFun) {
88-
return generateK8sPack(raws, merger, subtracter, preFun, transFun, hsm -> hsm);
79+
protected List<K8sResourcePack> generateK8sPack(List<String> raws, Subtracter subtracter, Function<String, HasMetadata> transFun) {
80+
return generateK8sPack(raws, subtracter, r -> r, transFun, hsm -> hsm);
8981
}
9082

9183
protected List<K8sResourcePack> generateK8sPack(List<String> raws, Subtracter subtracter, Function<String, String> preFun, Function<HasMetadata, HasMetadata> postFun) {
92-
return generateK8sPack(raws, null, subtracter, preFun, this::str2HasMetadata, postFun);
84+
return generateK8sPack(raws, subtracter, preFun, this::str2HasMetadata, postFun);
9385
}
9486

95-
protected List<K8sResourcePack> generateK8sPack(List<String> raws, Function<String, String> preFun, Function<HasMetadata, HasMetadata> postFun) {
96-
return generateK8sPack(raws, null, null, preFun, this::str2HasMetadata, postFun);
97-
}
9887

99-
protected List<K8sResourcePack> generateK8sPack(List<String> raws, Merger merger, Subtracter subtracter,
88+
protected List<K8sResourcePack> generateK8sPack(List<String> raws, Subtracter subtracter,
10089
Function<String, String> preFun, Function<String, HasMetadata> transFun,
10190
Function<HasMetadata, HasMetadata> postFun) {
10291
if (CollectionUtils.isEmpty(raws)) {
@@ -106,7 +95,7 @@ protected List<K8sResourcePack> generateK8sPack(List<String> raws, Merger merger
10695
return raws.stream().map(r -> preFun.apply(r))
10796
.map(r -> transFun.apply(r))
10897
.map(hsm -> postFun.apply(hsm))
109-
.map(hsm -> new K8sResourcePack(hsm, merger, subtracter))
98+
.map(hsm -> new K8sResourcePack(hsm, subtracter))
11099
.collect(Collectors.toList());
111100
}
112101

hango-api-plane-server/src/main/java/org/hango/cloud/core/editor/ResourceGenerator.java

-25
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import com.jayway.jsonpath.JsonPath;
99
import com.jayway.jsonpath.Predicate;
1010
import org.hango.cloud.util.exception.ApiPlaneException;
11-
import org.apache.commons.lang3.StringUtils;
1211

1312
import java.io.IOException;
1413
import java.util.List;
@@ -274,9 +273,6 @@ public static String yaml2json(String yaml) {
274273
return yaml2json(yaml, defaultContext);
275274
}
276275

277-
public static String json2yaml(String json) {
278-
return json2yaml(json, defaultContext);
279-
}
280276

281277
public static String obj2json(Object obj) {
282278
return obj2json(obj, defaultContext);
@@ -286,15 +282,6 @@ public static <T> T json2obj(String json, Class<T> type) {
286282
return json2obj(json, type, defaultContext);
287283
}
288284

289-
public static <T> T yaml2obj(String yaml, Class<T> type) {
290-
return yaml2obj(yaml, type, defaultContext);
291-
}
292-
293-
public static String prettyJson(String json) {
294-
if (StringUtils.isEmpty(json)) return json;
295-
return prettyJson(json, defaultContext);
296-
}
297-
298285
public static String yaml2json(String yaml, EditorContext editorContext) {
299286
try {
300287
Object obj = editorContext.yamlMapper().readValue(yaml, Object.class);
@@ -329,16 +316,4 @@ public static <T> T json2obj(String json, Class<T> type, EditorContext editorCon
329316
throw new ApiPlaneException(e.getMessage(), e);
330317
}
331318
}
332-
333-
public static <T> T yaml2obj(String yaml, Class<T> type, EditorContext editorContext) {
334-
return json2obj(yaml2json(yaml, editorContext), type, editorContext);
335-
}
336-
337-
public static String prettyJson(String json, EditorContext editorContext) {
338-
try {
339-
return editorContext.jsonMapper().writerWithDefaultPrettyPrinter().writeValueAsString(json2obj(json, Object.class, editorContext));
340-
} catch (JsonProcessingException e) {
341-
throw new ApiPlaneException(e.getMessage(), e);
342-
}
343-
}
344319
}

0 commit comments

Comments
 (0)