Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

K8s client lb cleanup 2 #1626

Merged
merged 154 commits into from
Apr 4, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
154 commits
Select commit Hold shift + click to select a range
032014e
test
wind57 Dec 4, 2021
c3d0ad2
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Dec 13, 2021
10889fd
fix @Nested tests not running
wind57 Dec 16, 2021
8f0375a
merged main
wind57 Dec 17, 2021
96ebf42
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Jan 5, 2022
db8403e
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Jan 12, 2022
90a5345
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Jan 12, 2022
b041c00
trigger again
wind57 Jan 13, 2022
9580444
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Mar 15, 2022
a34ac47
Add renovate.json
renovate[bot] Jul 13, 2022
6613f78
Merge branch 'spring-cloud:main' into main
wind57 Jul 13, 2022
1b3eae9
Merge pull request #1 from wind57/renovate/configure
wind57 Jul 13, 2022
4275382
Merge branch 'spring-cloud:main' into main
wind57 Mar 13, 2023
618f25a
Delete renovate.json
wind57 Mar 14, 2023
100a9cd
Delete delme.sh
wind57 Mar 14, 2023
4b9056b
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Mar 14, 2023
315a85b
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Mar 15, 2023
ed3c264
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Mar 15, 2023
446d630
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Mar 16, 2023
6821a28
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Mar 16, 2023
9e95a8a
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Mar 16, 2023
02840b1
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Mar 16, 2023
7e31d65
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Mar 20, 2023
926f4d7
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Mar 20, 2023
344e1d4
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Mar 21, 2023
e91ac12
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Mar 23, 2023
ba6e088
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Mar 28, 2023
49025e8
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Apr 1, 2023
a647bb3
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Apr 4, 2023
16b09ab
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Apr 4, 2023
c8d8a72
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Apr 5, 2023
591f340
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Apr 6, 2023
c331bd0
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Apr 6, 2023
f48b22b
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Apr 7, 2023
900843d
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Apr 8, 2023
76ecdd5
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Apr 8, 2023
b69d4a6
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Apr 11, 2023
df2ddcc
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Apr 14, 2023
3ff1cdd
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Apr 18, 2023
bd89cc8
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Apr 18, 2023
39ef510
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Apr 19, 2023
d389953
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Apr 19, 2023
b676bac
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Apr 21, 2023
b1473c9
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Apr 24, 2023
83ff113
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Apr 24, 2023
33dfbb7
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Apr 24, 2023
316af58
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Apr 25, 2023
425d30b
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Apr 26, 2023
763280a
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Apr 26, 2023
3afbaef
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Apr 27, 2023
cb97ba1
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Apr 28, 2023
b33edc8
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 May 1, 2023
7a1fdf1
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 May 2, 2023
a8beed9
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 May 2, 2023
2e445d9
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 May 9, 2023
5b51db1
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 May 12, 2023
b0ce76c
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 May 12, 2023
918bb7f
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 May 12, 2023
c629951
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 May 15, 2023
ccfc0bf
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 May 22, 2023
0f3fa24
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 May 23, 2023
b60a283
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 May 25, 2023
901cb66
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 May 26, 2023
251002b
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 May 27, 2023
fedeb17
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 May 30, 2023
004f95b
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Jun 3, 2023
10168be
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Jun 5, 2023
dc811cf
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Jun 6, 2023
3dfe77d
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Jun 8, 2023
619c8d0
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Jun 16, 2023
12ca211
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Jun 17, 2023
a91c1e1
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Jun 22, 2023
be2e809
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Jun 24, 2023
1c84e33
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Jul 17, 2023
1319fe7
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Jul 18, 2023
9424c2e
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Jul 25, 2023
cddd550
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Aug 2, 2023
f8d34f2
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Aug 3, 2023
31d2fb8
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Aug 5, 2023
fa9fd09
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Aug 8, 2023
22f3f51
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Aug 16, 2023
bb44f4b
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Aug 21, 2023
9714f2c
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Aug 22, 2023
0f9cb3d
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Sep 2, 2023
6e60174
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Sep 11, 2023
78c5575
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Sep 12, 2023
5eb5c51
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Sep 16, 2023
48f7cb0
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Sep 18, 2023
8a18085
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Sep 20, 2023
e4cab39
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Sep 21, 2023
ba4cab0
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Sep 21, 2023
bbc6e30
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Sep 23, 2023
0e9f1ad
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Sep 26, 2023
8a5243c
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Sep 28, 2023
cbf83c4
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Sep 29, 2023
3dd0260
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Sep 30, 2023
1408d44
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Oct 2, 2023
2925ee1
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Oct 2, 2023
af3a12b
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Oct 5, 2023
f5a27dc
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Oct 7, 2023
494454a
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Oct 7, 2023
add0f67
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Oct 13, 2023
b6a4b45
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Oct 20, 2023
00a559d
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Oct 27, 2023
882f9c1
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Oct 31, 2023
6c9071e
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Nov 3, 2023
09c10bb
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Nov 8, 2023
3615396
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Nov 14, 2023
116c199
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Nov 16, 2023
f1447cd
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Nov 18, 2023
14b165b
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Nov 21, 2023
3ce8fac
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Nov 30, 2023
41eaa8d
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Dec 4, 2023
4f89298
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Dec 7, 2023
ee1031d
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Dec 19, 2023
f6707d5
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Dec 22, 2023
9930c7d
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Dec 27, 2023
0043006
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Jan 16, 2024
4e292ec
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Feb 2, 2024
3129276
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Feb 16, 2024
1c90fc2
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Feb 16, 2024
fa0888a
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Feb 22, 2024
ab680d1
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Feb 25, 2024
4023ca3
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Mar 9, 2024
7ed7f5d
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Mar 9, 2024
3be81b7
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Mar 10, 2024
dd710ec
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Mar 10, 2024
4fdd06a
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Mar 12, 2024
bf61054
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Mar 13, 2024
f059697
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Mar 13, 2024
013cc6a
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Mar 14, 2024
13ff3b3
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Mar 18, 2024
88021bb
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Mar 18, 2024
dcf4e62
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Mar 19, 2024
a600c69
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Mar 19, 2024
3f1a180
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Mar 21, 2024
85ca441
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Mar 27, 2024
65acfe6
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Mar 27, 2024
5526b50
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Mar 28, 2024
0c131b5
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Mar 28, 2024
af8a8ee
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Mar 29, 2024
9c74e14
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Mar 30, 2024
a410606
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Apr 2, 2024
8c38ece
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Apr 2, 2024
dcb8fb4
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Apr 3, 2024
73e9765
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Apr 3, 2024
1a3a4d9
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Apr 3, 2024
926d2b0
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Apr 3, 2024
02737d4
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Apr 3, 2024
cba3a44
fic
wind57 Apr 4, 2024
e291a92
fix
wind57 Apr 4, 2024
24defb8
Merge branch 'main' of https://github.com/spring-cloud/spring-cloud-k…
wind57 Apr 4, 2024
566f162
merge main
wind57 Apr 4, 2024
64d240b
fix test
wind57 Apr 4, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -16,32 +16,38 @@

package org.springframework.cloud.kubernetes.client.loadbalancer;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;

import io.kubernetes.client.openapi.models.V1ObjectMeta;
import io.kubernetes.client.openapi.models.V1Service;
import io.kubernetes.client.openapi.models.V1ServicePort;
import io.kubernetes.client.openapi.models.V1ServiceSpec;

import org.springframework.cloud.kubernetes.commons.discovery.DefaultKubernetesServiceInstance;
import org.springframework.cloud.kubernetes.commons.discovery.DiscoveryClientUtils;
import org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryProperties;
import org.springframework.cloud.kubernetes.commons.discovery.KubernetesServiceInstance;
import org.springframework.cloud.kubernetes.commons.discovery.ServiceMetadata;
import org.springframework.cloud.kubernetes.commons.discovery.ServicePortNameAndNumber;
import org.springframework.cloud.kubernetes.commons.discovery.ServicePortSecureResolver;
import org.springframework.cloud.kubernetes.commons.loadbalancer.KubernetesLoadBalancerProperties;
import org.springframework.cloud.kubernetes.commons.loadbalancer.KubernetesServiceInstanceMapper;
import org.springframework.util.StringUtils;

import static org.springframework.cloud.kubernetes.commons.config.ConfigUtils.keysWithPrefix;
import static org.springframework.cloud.kubernetes.commons.discovery.ServicePortSecureResolver.Input;

/**
* @author Ryan Baxter
*/
public class KubernetesClientServiceInstanceMapper implements KubernetesServiceInstanceMapper<V1Service> {

/**
* empty on purpose, load balancer implementation does not need them.
*/
private static final Map<String, Integer> PORTS_DATA = Map.of();

private final KubernetesLoadBalancerProperties properties;

private final KubernetesDiscoveryProperties discoveryProperties;
Expand Down Expand Up @@ -80,24 +86,15 @@ else if (ports.size() > 1 && StringUtils.hasText(this.properties.getPortName()))
boolean secure = secure(port, service);

return new DefaultKubernetesServiceInstance(meta.getUid(), meta.getName(), host, port.getPort(),
getServiceMetadata(service), secure);
serviceMetadata(service), secure);
}

private Map<String, String> getServiceMetadata(V1Service service) {
final Map<String, String> serviceMetadata = new HashMap<>();
KubernetesDiscoveryProperties.Metadata metadataProps = this.discoveryProperties.metadata();
if (metadataProps.addLabels()) {
Map<String, String> labelMetadata = keysWithPrefix(service.getMetadata().getLabels(),
metadataProps.labelsPrefix());
serviceMetadata.putAll(labelMetadata);
}
if (metadataProps.addAnnotations()) {
Map<String, String> annotationMetadata = keysWithPrefix(service.getMetadata().getAnnotations(),
metadataProps.annotationsPrefix());
serviceMetadata.putAll(annotationMetadata);
}

return serviceMetadata;
private Map<String, String> serviceMetadata(V1Service service) {
V1ObjectMeta metadata = service.getMetadata();
V1ServiceSpec serviceSpec = service.getSpec();
ServiceMetadata serviceMetadata = new ServiceMetadata(metadata.getName(), metadata.getNamespace(),
serviceSpec.getType(), metadata.getLabels(), metadata.getAnnotations());
return DiscoveryClientUtils.serviceInstanceMetadata(PORTS_DATA, serviceMetadata, discoveryProperties);
}

private boolean secure(V1ServicePort port, V1Service service) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,13 +47,12 @@ void singlePortNonSecure() {

Map<String, String> annotations = Map.of("org.springframework.cloud", "true");
Map<String, String> labels = Map.of("beta", "true");
List<V1ServicePort> servicePorts = List.of(
new V1ServicePortBuilder().withName("http").withPort(80).build()
);
List<V1ServicePort> servicePorts = List.of(new V1ServicePortBuilder().withName("http").withPort(80).build());
V1Service service = createService("database", "default", annotations, labels, servicePorts);

KubernetesServiceInstance serviceInstance = mapper.map(service);
Map<String, String> metadata = Map.of("org.springframework.cloud", "true", "beta", "true");
Map<String, String> metadata = Map.of("org.springframework.cloud", "true", "beta", "true", "k8s_namespace",
"default", "type", "V1Service");
DefaultKubernetesServiceInstance result = new DefaultKubernetesServiceInstance("0", "database",
"database.default.svc.cluster.local", 80, metadata, false);
assertThat(serviceInstance).isEqualTo(result);
Expand All @@ -64,19 +63,18 @@ void singlePortNonSecure() {
void singlePortSecure() {
KubernetesLoadBalancerProperties loadBalancerProperties = new KubernetesLoadBalancerProperties();
KubernetesClientServiceInstanceMapper mapper = new KubernetesClientServiceInstanceMapper(loadBalancerProperties,
KubernetesDiscoveryProperties.DEFAULT);
KubernetesDiscoveryProperties.DEFAULT);

Map<String, String> annotations = Map.of("org.springframework.cloud", "true", "secured", "true");
Map<String, String> labels = Map.of("beta", "true");
List<V1ServicePort> servicePorts = List.of(
new V1ServicePortBuilder().withName("http").withPort(80).build()
);
List<V1ServicePort> servicePorts = List.of(new V1ServicePortBuilder().withName("http").withPort(80).build());
V1Service service = createService("database", "default", annotations, labels, servicePorts);

KubernetesServiceInstance serviceInstance = mapper.map(service);
Map<String, String> metadata = Map.of("org.springframework.cloud", "true", "beta", "true", "secured", "true");
Map<String, String> metadata = Map.of("org.springframework.cloud", "true", "beta", "true", "secured", "true",
"k8s_namespace", "default", "type", "V1Service");
DefaultKubernetesServiceInstance result = new DefaultKubernetesServiceInstance("0", "database",
"database.default.svc.cluster.local", 80, metadata, true);
"database.default.svc.cluster.local", 80, metadata, true);
assertThat(serviceInstance).isEqualTo(result);
}

Expand All @@ -89,13 +87,12 @@ void multiplePortsSecure() {

Map<String, String> annotations = Map.of("org.springframework.cloud", "true");
Map<String, String> labels = Map.of("beta", "true");
List<V1ServicePort> servicePorts = List.of(
new V1ServicePortBuilder().withName("http").withPort(80).build(),
new V1ServicePortBuilder().withName("https").withPort(443).build()
);
List<V1ServicePort> servicePorts = List.of(new V1ServicePortBuilder().withName("http").withPort(80).build(),
new V1ServicePortBuilder().withName("https").withPort(443).build());
V1Service service = createService("database", "default", annotations, labels, servicePorts);

Map<String, String> metadata = Map.of("org.springframework.cloud", "true", "beta", "true");
Map<String, String> metadata = Map.of("org.springframework.cloud", "true", "beta", "true", "k8s_namespace",
"default", "type", "V1Service");
KubernetesServiceInstance serviceInstance = mapper.map(service);
DefaultKubernetesServiceInstance result = new DefaultKubernetesServiceInstance("0", "database",
"database.default.svc.cluster.local", 443, metadata, true);
Expand All @@ -105,10 +102,9 @@ void multiplePortsSecure() {
private V1Service createService(String name, String namespace, Map<String, String> annotations,
Map<String, String> labels, List<V1ServicePort> servicePorts) {
return new V1ServiceBuilder()
.withMetadata(new V1ObjectMetaBuilder().withName(name).withUid("0")
.withNamespace(namespace).addToAnnotations(annotations)
.addToLabels(labels).build())
.withSpec(new V1ServiceSpecBuilder().addAllToPorts(servicePorts).build()).build();
.withMetadata(new V1ObjectMetaBuilder().withName(name).withUid("0").withNamespace(namespace)
.addToAnnotations(annotations).addToLabels(labels).build())
.withSpec(new V1ServiceSpecBuilder().addAllToPorts(servicePorts).withType("V1Service").build()).build();
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -71,16 +71,17 @@ class KubernetesClientServicesListSupplierTests {
private static final V1Service SERVICE_A_DEFAULT_NAMESPACE = new V1ServiceBuilder()
.withMetadata(new V1ObjectMetaBuilder().withName("service-a").withNamespace("default").withUid("0")
.addToLabels("beta", "true").addToAnnotations("org.springframework.cloud", "true").build())
.withSpec(new V1ServiceSpecBuilder()
.withSpec(new V1ServiceSpecBuilder().withType("V1Service")
.addToPorts(new V1ServicePortBuilder().withPort(80).withName("http").build()).build())
.build();

private static final V1Service SERVICE_A_TEST_NAMESPACE = new V1ServiceBuilder()
.withMetadata(new V1ObjectMetaBuilder().withName("service-a").withNamespace("test").withUid("1").build())
.withSpec(new V1ServiceSpecBuilder()
.addToPorts(new V1ServicePortBuilder().withPort(80).withName("http").build(),
new V1ServicePortBuilder().withPort(443).withName("https").build())
.build())
.withSpec(
new V1ServiceSpecBuilder().withType("V1Service")
.addToPorts(new V1ServicePortBuilder().withPort(80).withName("http").build(),
new V1ServicePortBuilder().withPort(443).withName("https").build())
.build())
.build();

private static final V1ServiceList SINGLE_NAMESPACE_SERVICES = new V1ServiceList()
Expand Down Expand Up @@ -142,7 +143,8 @@ void singleNamespaceTest(CapturedOutput output) {

Flux<List<ServiceInstance>> instances = listSupplier.get();

Map<String, String> metadata = Map.of("org.springframework.cloud", "true", "beta", "true");
Map<String, String> metadata = Map.of("org.springframework.cloud", "true", "beta", "true", "k8s_namespace",
"default", "type", "V1Service");
DefaultKubernetesServiceInstance serviceA = new DefaultKubernetesServiceInstance("0", "service-a",
"service-a.default.svc.cluster.local", 80, metadata, false);
List<ServiceInstance> services = new ArrayList<>();
Expand Down Expand Up @@ -209,11 +211,12 @@ void allNamespacesTest(CapturedOutput output) {

Flux<List<ServiceInstance>> instances = listSupplier.get();

Map<String, String> metadata = Map.of("org.springframework.cloud", "true", "beta", "true");
Map<String, String> metadata = Map.of("org.springframework.cloud", "true", "beta", "true", "k8s_namespace",
"default", "type", "V1Service");
DefaultKubernetesServiceInstance serviceADefaultNamespace = new DefaultKubernetesServiceInstance("0",
"service-a", "service-a.default.svc.cluster.local", 80, metadata, false);
DefaultKubernetesServiceInstance serviceATestNamespace = new DefaultKubernetesServiceInstance("1", "service-a",
"service-a.test.svc.cluster.local", 80, Map.of(), false);
"service-a.test.svc.cluster.local", 80, Map.of("k8s_namespace", "test", "type", "V1Service"), false);
List<ServiceInstance> services = new ArrayList<>();
services.add(serviceADefaultNamespace);
services.add(serviceATestNamespace);
Expand Down Expand Up @@ -253,11 +256,12 @@ void selectiveNamespacesTest(CapturedOutput output) {

Flux<List<ServiceInstance>> instances = listSupplier.get();

Map<String, String> metadata = Map.of("org.springframework.cloud", "true", "beta", "true");
Map<String, String> metadata = Map.of("org.springframework.cloud", "true", "beta", "true", "k8s_namespace",
"default", "type", "V1Service");
DefaultKubernetesServiceInstance serviceADefaultNamespace = new DefaultKubernetesServiceInstance("0",
"service-a", "service-a.default.svc.cluster.local", 80, metadata, false);
DefaultKubernetesServiceInstance serviceATestNamespace = new DefaultKubernetesServiceInstance("1", "service-a",
"service-a.test.svc.cluster.local", 80, Map.of(), false);
"service-a.test.svc.cluster.local", 80, Map.of("k8s_namespace", "test", "type", "V1Service"), false);
List<ServiceInstance> services = new ArrayList<>();
services.add(serviceADefaultNamespace);
services.add(serviceATestNamespace);
Expand Down
Loading