From 13787ee2f16ec3fc25a0311fdd492d34b589b411 Mon Sep 17 00:00:00 2001 From: erabii Date: Wed, 15 Nov 2023 23:54:11 +0200 Subject: [PATCH] Align fabric8 k8s discovery clients part 5 (#1506) --- .../KubernetesClientConfigServerBootstrapper.java | 11 +++++------ .../config/KubernetesConfigServerBootstrapper.java | 2 +- .../discovery/KubernetesDiscoveryProperties.java | 7 ++++++- .../discovery/ConfigServerBootstrapper.java | 3 +-- .../discovery/Fabric8ConfigServerBootstrapper.java | 3 +-- 5 files changed, 14 insertions(+), 12 deletions(-) diff --git a/spring-cloud-kubernetes-client-discovery/src/main/java/org/springframework/cloud/kubernetes/client/discovery/KubernetesClientConfigServerBootstrapper.java b/spring-cloud-kubernetes-client-discovery/src/main/java/org/springframework/cloud/kubernetes/client/discovery/KubernetesClientConfigServerBootstrapper.java index 282b8438..41c16d67 100644 --- a/spring-cloud-kubernetes-client-discovery/src/main/java/org/springframework/cloud/kubernetes/client/discovery/KubernetesClientConfigServerBootstrapper.java +++ b/spring-cloud-kubernetes-client-discovery/src/main/java/org/springframework/cloud/kubernetes/client/discovery/KubernetesClientConfigServerBootstrapper.java @@ -46,7 +46,6 @@ import org.springframework.cloud.kubernetes.commons.config.KubernetesConfigServe import org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryProperties; import org.springframework.core.env.AbstractEnvironment; import org.springframework.core.env.Environment; -import org.springframework.util.ClassUtils; import static org.springframework.cloud.kubernetes.client.KubernetesClientUtils.kubernetesApiClient; @@ -57,7 +56,7 @@ class KubernetesClientConfigServerBootstrapper extends KubernetesConfigServerBoo @Override public void initialize(BootstrapRegistry registry) { - if (!ClassUtils.isPresent("org.springframework.cloud.config.client.ConfigServerInstanceProvider", null)) { + if (hasConfigServerInstanceProvider()) { return; } // We need to pass a lambda here rather than create a new instance of @@ -96,7 +95,7 @@ class KubernetesClientConfigServerBootstrapper extends KubernetesConfigServerBoo .getInstances(serviceId); } - protected KubernetesConfigServerInstanceProvider getInstanceProvider( + private KubernetesConfigServerInstanceProvider getInstanceProvider( KubernetesDiscoveryProperties discoveryProperties, KubernetesClientProperties clientProperties, BootstrapContext context, Binder binder, BindHandler bindHandler, Log log) { if (context.isRegistered(KubernetesInformerDiscoveryClient.class)) { @@ -116,12 +115,12 @@ class KubernetesClientConfigServerBootstrapper extends KubernetesConfigServerBoo String namespace = getInformerNamespace(kubernetesNamespaceProvider, discoveryProperties); SharedInformerFactory sharedInformerFactory = new SharedInformerFactory(apiClient); - final GenericKubernetesApi servicesApi = new GenericKubernetesApi<>( - V1Service.class, V1ServiceList.class, "", "v1", "services", apiClient); + GenericKubernetesApi servicesApi = new GenericKubernetesApi<>(V1Service.class, + V1ServiceList.class, "", "v1", "services", apiClient); SharedIndexInformer serviceSharedIndexInformer = sharedInformerFactory .sharedIndexInformerFor(servicesApi, V1Service.class, 0L, namespace); Lister serviceLister = new Lister<>(serviceSharedIndexInformer.getIndexer()); - final GenericKubernetesApi endpointsApi = new GenericKubernetesApi<>( + GenericKubernetesApi endpointsApi = new GenericKubernetesApi<>( V1Endpoints.class, V1EndpointsList.class, "", "v1", "endpoints", apiClient); SharedIndexInformer endpointsSharedIndexInformer = sharedInformerFactory .sharedIndexInformerFor(endpointsApi, V1Endpoints.class, 0L, namespace); diff --git a/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/config/KubernetesConfigServerBootstrapper.java b/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/config/KubernetesConfigServerBootstrapper.java index 3e829899..d9d38096 100644 --- a/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/config/KubernetesConfigServerBootstrapper.java +++ b/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/config/KubernetesConfigServerBootstrapper.java @@ -37,7 +37,7 @@ public abstract class KubernetesConfigServerBootstrapper implements BootstrapReg public static KubernetesDiscoveryProperties createKubernetesDiscoveryProperties(Binder binder, BindHandler bindHandler) { - return binder.bind("spring.cloud.kubernetes.discovery", Bindable.of(KubernetesDiscoveryProperties.class), + return binder.bind(KubernetesDiscoveryProperties.PREFIX, Bindable.of(KubernetesDiscoveryProperties.class), bindHandler).orElseGet(() -> KubernetesDiscoveryProperties.DEFAULT); } diff --git a/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/discovery/KubernetesDiscoveryProperties.java b/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/discovery/KubernetesDiscoveryProperties.java index f5f0dfba..0d8b8032 100644 --- a/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/discovery/KubernetesDiscoveryProperties.java +++ b/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/discovery/KubernetesDiscoveryProperties.java @@ -48,7 +48,7 @@ import static org.springframework.cloud.client.discovery.DiscoveryClient.DEFAULT * have "type: ExternalName" in their spec. */ // @formatter:off -@ConfigurationProperties("spring.cloud.kubernetes.discovery") +@ConfigurationProperties(KubernetesDiscoveryProperties.PREFIX) public record KubernetesDiscoveryProperties( @DefaultValue("true") boolean enabled, boolean allNamespaces, @DefaultValue Set namespaces, @@ -63,6 +63,11 @@ public record KubernetesDiscoveryProperties( boolean includeExternalNameServices) { // @formatter:on + /** + * Prefix of the properties. + */ + public static final String PREFIX = "spring.cloud.kubernetes.discovery"; + @ConstructorBinding public KubernetesDiscoveryProperties { diff --git a/spring-cloud-kubernetes-discovery/src/main/java/org/springframework/cloud/kubernetes/discovery/ConfigServerBootstrapper.java b/spring-cloud-kubernetes-discovery/src/main/java/org/springframework/cloud/kubernetes/discovery/ConfigServerBootstrapper.java index a68d89b8..6b682012 100644 --- a/spring-cloud-kubernetes-discovery/src/main/java/org/springframework/cloud/kubernetes/discovery/ConfigServerBootstrapper.java +++ b/spring-cloud-kubernetes-discovery/src/main/java/org/springframework/cloud/kubernetes/discovery/ConfigServerBootstrapper.java @@ -33,7 +33,6 @@ import org.springframework.cloud.kubernetes.commons.KubernetesClientProperties; import org.springframework.cloud.kubernetes.commons.config.KubernetesConfigServerBootstrapper; import org.springframework.cloud.kubernetes.commons.config.KubernetesConfigServerInstanceProvider; import org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryProperties; -import org.springframework.util.ClassUtils; /** * @author Ryan Baxter @@ -42,7 +41,7 @@ class ConfigServerBootstrapper extends KubernetesConfigServerBootstrapper { @Override public void initialize(BootstrapRegistry registry) { - if (!ClassUtils.isPresent("org.springframework.cloud.config.client.ConfigServerInstanceProvider", null)) { + if (hasConfigServerInstanceProvider()) { return; } // We need to pass a lambda here rather than create a new instance of diff --git a/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/Fabric8ConfigServerBootstrapper.java b/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/Fabric8ConfigServerBootstrapper.java index dc2d6528..67cf0494 100644 --- a/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/Fabric8ConfigServerBootstrapper.java +++ b/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/Fabric8ConfigServerBootstrapper.java @@ -35,7 +35,6 @@ import org.springframework.cloud.kubernetes.commons.config.KubernetesConfigServe import org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryProperties; import org.springframework.cloud.kubernetes.commons.discovery.ServicePortSecureResolver; import org.springframework.cloud.kubernetes.fabric8.Fabric8AutoConfiguration; -import org.springframework.util.ClassUtils; /** * @author Ryan Baxter @@ -44,7 +43,7 @@ class Fabric8ConfigServerBootstrapper extends KubernetesConfigServerBootstrapper @Override public void initialize(BootstrapRegistry registry) { - if (!ClassUtils.isPresent("org.springframework.cloud.config.client.ConfigServerInstanceProvider", null)) { + if (hasConfigServerInstanceProvider()) { return; } // We need to pass a lambda here rather than create a new instance of