Drop overlapping configuration in blocking implementation (#1524)

This commit is contained in:
erabii
2023-11-30 23:14:23 +02:00
committed by GitHub
parent 0e7215e23e
commit 4bba72fc82
7 changed files with 65 additions and 30 deletions

View File

@@ -60,7 +60,8 @@ public record KubernetesDiscoveryProperties(
@DefaultValue Metadata metadata,
@DefaultValue("" + DEFAULT_ORDER) int order,
boolean useEndpointSlices,
boolean includeExternalNameServices) {
boolean includeExternalNameServices,
String discoveryServerUrl) {
// @formatter:on
/**
@@ -80,7 +81,20 @@ public record KubernetesDiscoveryProperties(
@DefaultValue Map<String, String> serviceLabels, String primaryPortName, @DefaultValue Metadata metadata,
@DefaultValue("" + DEFAULT_ORDER) int order, boolean useEndpointSlices) {
this(enabled, allNamespaces, namespaces, waitCacheReady, cacheLoadingTimeoutSeconds, includeNotReadyAddresses,
filter, knownSecurePorts, serviceLabels, primaryPortName, metadata, order, useEndpointSlices, false);
filter, knownSecurePorts, serviceLabels, primaryPortName, metadata, order, useEndpointSlices, false,
null);
}
public KubernetesDiscoveryProperties(@DefaultValue("true") boolean enabled, boolean allNamespaces,
@DefaultValue Set<String> namespaces, @DefaultValue("true") boolean waitCacheReady,
@DefaultValue("60") long cacheLoadingTimeoutSeconds, boolean includeNotReadyAddresses, String filter,
@DefaultValue({ "443", "8443" }) Set<Integer> knownSecurePorts,
@DefaultValue Map<String, String> serviceLabels, String primaryPortName, @DefaultValue Metadata metadata,
@DefaultValue("" + DEFAULT_ORDER) int order, boolean useEndpointSlices,
boolean includeExternalNameServices) {
this(enabled, allNamespaces, namespaces, waitCacheReady, cacheLoadingTimeoutSeconds, includeNotReadyAddresses,
filter, knownSecurePorts, serviceLabels, primaryPortName, metadata, order, useEndpointSlices,
includeExternalNameServices, null);
}
/**
@@ -88,7 +102,7 @@ public record KubernetesDiscoveryProperties(
*/
public static final KubernetesDiscoveryProperties DEFAULT = new KubernetesDiscoveryProperties(true, false, Set.of(),
true, 60, false, null, Set.of(), Map.of(), null, KubernetesDiscoveryProperties.Metadata.DEFAULT, 0, false,
false);
false, null);
/**
* @param addLabels include labels as metadata

View File

@@ -54,6 +54,7 @@ class KubernetesDiscoveryPropertiesTests {
assertThat(props.order()).isZero();
assertThat(props.useEndpointSlices()).isFalse();
assertThat(props.includeExternalNameServices()).isFalse();
assertThat(props.discoveryServerUrl()).isNull();
});
}
@@ -66,7 +67,8 @@ class KubernetesDiscoveryPropertiesTests {
"spring.cloud.kubernetes.discovery.use-endpoint-slices=true",
"spring.cloud.kubernetes.discovery.namespaces[0]=ns1",
"spring.cloud.kubernetes.discovery.namespaces[1]=ns2",
"spring.cloud.kubernetes.discovery.include-external-name-services=true")
"spring.cloud.kubernetes.discovery.include-external-name-services=true",
"spring.cloud.kubernetes.discovery.discovery-server-url=http://example")
.run(context -> {
KubernetesDiscoveryProperties props = context.getBean(KubernetesDiscoveryProperties.class);
assertThat(props).isNotNull();
@@ -87,6 +89,7 @@ class KubernetesDiscoveryPropertiesTests {
assertThat(props.order()).isZero();
assertThat(props.useEndpointSlices()).isTrue();
assertThat(props.includeExternalNameServices()).isTrue();
assertThat(props.discoveryServerUrl()).isEqualTo("http://example");
});
}