From 3dbae43e123071d8c12ee916d164107014626d27 Mon Sep 17 00:00:00 2001 From: buildmaster Date: Tue, 27 Sep 2022 03:59:02 +0000 Subject: [PATCH 01/13] Bumping versions --- docs/src/main/asciidoc/_configprops.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/src/main/asciidoc/_configprops.adoc b/docs/src/main/asciidoc/_configprops.adoc index 76b149db..7eeb7114 100644 --- a/docs/src/main/asciidoc/_configprops.adoc +++ b/docs/src/main/asciidoc/_configprops.adoc @@ -48,7 +48,7 @@ |spring.cloud.kubernetes.client.watchReconnectInterval | `+++1s+++` | Reconnect Interval |spring.cloud.kubernetes.client.watchReconnectLimit | `+++-1+++` | Reconnect Interval limit retries |spring.cloud.kubernetes.config.enable-api | `+++true+++` | -|spring.cloud.kubernetes.config.enabled | `+++true+++` | Enable the ConfigMap property source locator. +|spring.cloud.kubernetes.config.enabled | `+++true+++` | |spring.cloud.kubernetes.config.fail-fast | `+++false+++` | |spring.cloud.kubernetes.config.include-profile-specific-sources | `+++true+++` | |spring.cloud.kubernetes.config.labels | | @@ -100,7 +100,7 @@ |spring.cloud.kubernetes.reload.period | `+++15000ms+++` | Sets the polling period to use when the detection mode is POLLING. |spring.cloud.kubernetes.reload.strategy | | Sets reload strategy for Kubernetes configuration reload on change. |spring.cloud.kubernetes.secrets.enable-api | `+++false+++` | -|spring.cloud.kubernetes.secrets.enabled | `+++true+++` | Enable the Secrets property source locator. +|spring.cloud.kubernetes.secrets.enabled | `+++true+++` | |spring.cloud.kubernetes.secrets.fail-fast | `+++false+++` | |spring.cloud.kubernetes.secrets.include-profile-specific-sources | `+++true+++` | |spring.cloud.kubernetes.secrets.labels | | From e9efe905032c456f102cae9c8ae39d7f33f460e5 Mon Sep 17 00:00:00 2001 From: erabii Date: Tue, 27 Sep 2022 17:16:30 +0300 Subject: [PATCH 02/13] simplify config starters (#1084) --- .../pom.xml | 7 +---- .../pom.xml | 9 +----- .../pom.xml | 28 +------------------ 3 files changed, 3 insertions(+), 41 deletions(-) diff --git a/spring-cloud-kubernetes-fabric8-config/pom.xml b/spring-cloud-kubernetes-fabric8-config/pom.xml index 437258bc..30665b0c 100644 --- a/spring-cloud-kubernetes-fabric8-config/pom.xml +++ b/spring-cloud-kubernetes-fabric8-config/pom.xml @@ -154,12 +154,7 @@ spring-boot-configuration-processor true - - org.codehaus.groovy - groovy-all - ${groovy.version} - test - + diff --git a/spring-cloud-starter-kubernetes-client-config/pom.xml b/spring-cloud-starter-kubernetes-client-config/pom.xml index 12d79b2c..eaefde56 100644 --- a/spring-cloud-starter-kubernetes-client-config/pom.xml +++ b/spring-cloud-starter-kubernetes-client-config/pom.xml @@ -10,16 +10,9 @@ 4.0.0 spring-cloud-starter-kubernetes-client-config + Spring Cloud Kubernetes :: Kubernetes Native Starter :: Config - - org.springframework.cloud - spring-cloud-kubernetes-commons - - - org.springframework.cloud - spring-cloud-kubernetes-client-autoconfig - org.springframework.cloud spring-cloud-kubernetes-client-config diff --git a/spring-cloud-starter-kubernetes-fabric8-config/pom.xml b/spring-cloud-starter-kubernetes-fabric8-config/pom.xml index eb6ec617..eb1a821b 100644 --- a/spring-cloud-starter-kubernetes-fabric8-config/pom.xml +++ b/spring-cloud-starter-kubernetes-fabric8-config/pom.xml @@ -1,21 +1,4 @@ - - @@ -27,18 +10,9 @@ 4.0.0 spring-cloud-starter-kubernetes-fabric8-config - Spring Cloud Kubernetes :: Starter :: Config + Spring Cloud Kubernetes :: Fabric8 Starter :: Config - - org.springframework.cloud - spring-cloud-kubernetes-commons - - - org.springframework.cloud - spring-cloud-kubernetes-fabric8-autoconfig - - org.springframework.cloud spring-cloud-kubernetes-fabric8-config From 14cf1bd2a93a38416c49a24c5381d93544136c93 Mon Sep 17 00:00:00 2001 From: erabii Date: Wed, 28 Sep 2022 00:06:19 +0300 Subject: [PATCH 03/13] simplify all and loadbalancer starters (#1085) --- .../pom.xml | 13 +++++++---- .../pom.xml | 9 +------- .../pom.xml | 23 +------------------ .../pom.xml | 10 +------- 4 files changed, 11 insertions(+), 44 deletions(-) diff --git a/spring-cloud-starter-kubernetes-client-all/pom.xml b/spring-cloud-starter-kubernetes-client-all/pom.xml index b4d6229e..12306cbc 100644 --- a/spring-cloud-starter-kubernetes-client-all/pom.xml +++ b/spring-cloud-starter-kubernetes-client-all/pom.xml @@ -10,21 +10,24 @@ 4.0.0 spring-cloud-starter-kubernetes-client-all + Spring Cloud Kubernetes :: Kubernetes Native Starter :: All - - org.springframework.cloud - spring-cloud-kubernetes-client-autoconfig - + org.springframework.cloud spring-cloud-kubernetes-client-config + org.springframework.cloud spring-cloud-kubernetes-client-discovery + + + org.springframework.cloud + spring-cloud-kubernetes-client-loadbalancer + - diff --git a/spring-cloud-starter-kubernetes-client-loadbalancer/pom.xml b/spring-cloud-starter-kubernetes-client-loadbalancer/pom.xml index cafabec3..61577178 100644 --- a/spring-cloud-starter-kubernetes-client-loadbalancer/pom.xml +++ b/spring-cloud-starter-kubernetes-client-loadbalancer/pom.xml @@ -10,20 +10,13 @@ 4.0.0 spring-cloud-starter-kubernetes-client-loadbalancer + Spring Cloud Kubernetes :: Kubernetes Native Starter :: LoadBalancer - - org.springframework.cloud - spring-cloud-kubernetes-client-autoconfig - org.springframework.cloud spring-cloud-kubernetes-client-loadbalancer - - org.springframework.cloud - spring-cloud-starter-loadbalancer - diff --git a/spring-cloud-starter-kubernetes-fabric8-all/pom.xml b/spring-cloud-starter-kubernetes-fabric8-all/pom.xml index 86f399e0..7f82c4c6 100644 --- a/spring-cloud-starter-kubernetes-fabric8-all/pom.xml +++ b/spring-cloud-starter-kubernetes-fabric8-all/pom.xml @@ -1,21 +1,4 @@ - - @@ -27,13 +10,9 @@ 4.0.0 spring-cloud-starter-kubernetes-fabric8-all - Spring Cloud Kubernetes :: Starter :: All + Spring Cloud Kubernetes :: Fabric8 Starter :: All - - org.springframework.cloud - spring-cloud-kubernetes-fabric8-autoconfig - org.springframework.cloud diff --git a/spring-cloud-starter-kubernetes-fabric8-loadbalancer/pom.xml b/spring-cloud-starter-kubernetes-fabric8-loadbalancer/pom.xml index 2c3acf68..842eb444 100644 --- a/spring-cloud-starter-kubernetes-fabric8-loadbalancer/pom.xml +++ b/spring-cloud-starter-kubernetes-fabric8-loadbalancer/pom.xml @@ -10,21 +10,13 @@ 4.0.0 spring-cloud-starter-kubernetes-fabric8-loadbalancer - Spring Cloud Kubernetes :: Starter :: LoadBalancer + Spring Cloud Kubernetes :: Fabric8 Starter :: LoadBalancer - - org.springframework.cloud - spring-cloud-kubernetes-fabric8-autoconfig - org.springframework.cloud spring-cloud-kubernetes-fabric8-loadbalancer - - org.springframework.cloud - spring-cloud-starter-loadbalancer - From 9a215a925fe53134d0ab40dc6447538805fc87f5 Mon Sep 17 00:00:00 2001 From: buildmaster Date: Wed, 28 Sep 2022 04:00:12 +0000 Subject: [PATCH 04/13] Bumping versions --- docs/src/main/asciidoc/_configprops.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/src/main/asciidoc/_configprops.adoc b/docs/src/main/asciidoc/_configprops.adoc index 7eeb7114..76b149db 100644 --- a/docs/src/main/asciidoc/_configprops.adoc +++ b/docs/src/main/asciidoc/_configprops.adoc @@ -48,7 +48,7 @@ |spring.cloud.kubernetes.client.watchReconnectInterval | `+++1s+++` | Reconnect Interval |spring.cloud.kubernetes.client.watchReconnectLimit | `+++-1+++` | Reconnect Interval limit retries |spring.cloud.kubernetes.config.enable-api | `+++true+++` | -|spring.cloud.kubernetes.config.enabled | `+++true+++` | +|spring.cloud.kubernetes.config.enabled | `+++true+++` | Enable the ConfigMap property source locator. |spring.cloud.kubernetes.config.fail-fast | `+++false+++` | |spring.cloud.kubernetes.config.include-profile-specific-sources | `+++true+++` | |spring.cloud.kubernetes.config.labels | | @@ -100,7 +100,7 @@ |spring.cloud.kubernetes.reload.period | `+++15000ms+++` | Sets the polling period to use when the detection mode is POLLING. |spring.cloud.kubernetes.reload.strategy | | Sets reload strategy for Kubernetes configuration reload on change. |spring.cloud.kubernetes.secrets.enable-api | `+++false+++` | -|spring.cloud.kubernetes.secrets.enabled | `+++true+++` | +|spring.cloud.kubernetes.secrets.enabled | `+++true+++` | Enable the Secrets property source locator. |spring.cloud.kubernetes.secrets.fail-fast | `+++false+++` | |spring.cloud.kubernetes.secrets.include-profile-specific-sources | `+++true+++` | |spring.cloud.kubernetes.secrets.labels | | From 4354d84c240c27d51da1b8be1ded8d072ea04f00 Mon Sep 17 00:00:00 2001 From: erabii Date: Wed, 28 Sep 2022 15:59:41 +0300 Subject: [PATCH 05/13] clean-up in discovery implementation - part 2 (#1088) --- .../client/KubernetesClientPodUtils.java | 2 +- .../cloud/kubernetes/commons/PodUtils.java | 6 +- .../config/MultipleSourcesContainer.java | 2 +- ...overyClientHealthIndicatorInitializer.java | 28 +++- ...ClientHealthIndicatorInitializerTests.java | 146 ++++++++++++++++++ .../kubernetes/fabric8/Fabric8PodUtils.java | 2 +- 6 files changed, 175 insertions(+), 11 deletions(-) create mode 100644 spring-cloud-kubernetes-commons/src/test/java/org/springframework/cloud/kubernetes/commons/discovery/KubernetesDiscoveryClientHealthIndicatorInitializerTests.java diff --git a/spring-cloud-kubernetes-client-autoconfig/src/main/java/org/springframework/cloud/kubernetes/client/KubernetesClientPodUtils.java b/spring-cloud-kubernetes-client-autoconfig/src/main/java/org/springframework/cloud/kubernetes/client/KubernetesClientPodUtils.java index 15370170..9c60efce 100644 --- a/spring-cloud-kubernetes-client-autoconfig/src/main/java/org/springframework/cloud/kubernetes/client/KubernetesClientPodUtils.java +++ b/spring-cloud-kubernetes-client-autoconfig/src/main/java/org/springframework/cloud/kubernetes/client/KubernetesClientPodUtils.java @@ -75,7 +75,7 @@ public class KubernetesClientPodUtils implements PodUtils { } @Override - public Boolean isInsideKubernetes() { + public boolean isInsideKubernetes() { return currentPod().get() != null; } diff --git a/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/PodUtils.java b/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/PodUtils.java index d4ab4bc1..5a4a452d 100644 --- a/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/PodUtils.java +++ b/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/PodUtils.java @@ -26,14 +26,14 @@ import java.util.function.Supplier; public interface PodUtils { /** - * @return A supplier of the currentPod {@link Pod}. The supplier will hold the - * currentPod {@link Pod} if inside Kubernetes or false, otherwise. + * @return A supplier of the current Pod. The supplier will hold the current Pod if + * inside Kubernetes or null, otherwise. */ Supplier currentPod(); /** * @return true if called from within Kubernetes, false otherwise. */ - Boolean isInsideKubernetes(); + boolean isInsideKubernetes(); } diff --git a/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/config/MultipleSourcesContainer.java b/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/config/MultipleSourcesContainer.java index f8a39c91..892171f7 100644 --- a/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/config/MultipleSourcesContainer.java +++ b/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/config/MultipleSourcesContainer.java @@ -25,7 +25,7 @@ import java.util.Map; * Container that stores multiple sources, to be exact their names and their flattenned * data. We force a LinkedHashSet on purpose, to preserve the order of sources. */ -public final record MultipleSourcesContainer(LinkedHashSet names, Map data) { +public record MultipleSourcesContainer(LinkedHashSet names, Map data) { private static final MultipleSourcesContainer EMPTY = new MultipleSourcesContainer(new LinkedHashSet<>(0), Map.of()); diff --git a/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/discovery/KubernetesDiscoveryClientHealthIndicatorInitializer.java b/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/discovery/KubernetesDiscoveryClientHealthIndicatorInitializer.java index 939ec97d..154c017f 100644 --- a/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/discovery/KubernetesDiscoveryClientHealthIndicatorInitializer.java +++ b/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/discovery/KubernetesDiscoveryClientHealthIndicatorInitializer.java @@ -16,15 +16,21 @@ package org.springframework.cloud.kubernetes.commons.discovery; -import org.springframework.beans.factory.InitializingBean; +import jakarta.annotation.PostConstruct; +import org.apache.commons.logging.LogFactory; + import org.springframework.cloud.client.discovery.event.InstanceRegisteredEvent; import org.springframework.cloud.kubernetes.commons.PodUtils; import org.springframework.context.ApplicationEventPublisher; +import org.springframework.core.log.LogAccessor; /** * @author Ryan Baxter */ -public final class KubernetesDiscoveryClientHealthIndicatorInitializer implements InitializingBean { +public final class KubernetesDiscoveryClientHealthIndicatorInitializer { + + private static final LogAccessor LOG = new LogAccessor( + LogFactory.getLog(KubernetesDiscoveryClientHealthIndicatorInitializer.class)); private final PodUtils podUtils; @@ -36,9 +42,21 @@ public final class KubernetesDiscoveryClientHealthIndicatorInitializer implement this.applicationEventPublisher = applicationEventPublisher; } - @Override - public void afterPropertiesSet() { - this.applicationEventPublisher.publishEvent(new InstanceRegisteredEvent<>(podUtils.currentPod(), null)); + @PostConstruct + private void postConstruct() { + LOG.debug(() -> "publishing InstanceRegisteredEvent"); + this.applicationEventPublisher.publishEvent(new InstanceRegisteredEvent<>( + new RegisteredEventSource("kubernetes", podUtils.isInsideKubernetes(), podUtils.currentPod().get()), + null)); + } + + /** + * @param cloudPlatform "kubernetes" always + * @param inside inside kubernetes or not + * @param pod an actual pod or null, if we are outside kubernetes + */ + public record RegisteredEventSource(String cloudPlatform, boolean inside, Object pod) { + } } diff --git a/spring-cloud-kubernetes-commons/src/test/java/org/springframework/cloud/kubernetes/commons/discovery/KubernetesDiscoveryClientHealthIndicatorInitializerTests.java b/spring-cloud-kubernetes-commons/src/test/java/org/springframework/cloud/kubernetes/commons/discovery/KubernetesDiscoveryClientHealthIndicatorInitializerTests.java new file mode 100644 index 00000000..ab7dd829 --- /dev/null +++ b/spring-cloud-kubernetes-commons/src/test/java/org/springframework/cloud/kubernetes/commons/discovery/KubernetesDiscoveryClientHealthIndicatorInitializerTests.java @@ -0,0 +1,146 @@ +/* + * Copyright 2013-2022 the original author or authors. + * + * Licensed 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 + * + * https://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.springframework.cloud.kubernetes.commons.discovery; + +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Test; +import org.mockito.ArgumentCaptor; +import org.mockito.Mockito; + +import org.springframework.boot.test.context.runner.ApplicationContextRunner; +import org.springframework.cloud.client.discovery.event.InstanceRegisteredEvent; +import org.springframework.cloud.kubernetes.commons.PodUtils; +import org.springframework.context.ApplicationEventPublisher; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Primary; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryClientHealthIndicatorInitializer.RegisteredEventSource; + +/** + * @author wind57 + * + * Tests the + * {@link org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryClientHealthIndicatorInitializer} + * with the fabric8 client. + * + */ +class KubernetesDiscoveryClientHealthIndicatorInitializerTests { + + private static ApplicationEventPublisher publisher; + + // we don't really need an actual Pod here (fabric8 or k8s-native), but only + // "something" we can assert for. + private static final Object POD = Mockito.mock(Object.class); + + @AfterEach + void afterEach() { + Mockito.reset(publisher, POD); + } + + @Test + @SuppressWarnings("unchecked") + void testInstanceRegistrationEventPublishedWhenInsideK8s() { + new ApplicationContextRunner() + .withUserConfiguration(InstanceRegistrationEventPublishedInsideK8sConfiguration.class) + .run(context -> assertThat(context).hasSingleBean(PodUtils.class)); + + ArgumentCaptor> captor = ArgumentCaptor + .forClass(InstanceRegisteredEvent.class); + Mockito.verify(publisher, Mockito.times(1)).publishEvent(captor.capture()); + KubernetesDiscoveryClientHealthIndicatorInitializer.RegisteredEventSource source = (KubernetesDiscoveryClientHealthIndicatorInitializer.RegisteredEventSource) captor + .getValue().getSource(); + assertThat(source.cloudPlatform()).isEqualTo("kubernetes"); + assertThat(source.inside()).isTrue(); + assertThat(source.pod()).isSameAs(POD); + + } + + @Test + @SuppressWarnings("unchecked") + void testInstanceRegistrationEventPublishedWhenOutsideK8s() { + new ApplicationContextRunner() + .withUserConfiguration(InstanceRegistrationEventPublishedOutsideK8sConfiguration.class) + .run(context -> assertThat(context).hasSingleBean(PodUtils.class)); + + ArgumentCaptor> captor = ArgumentCaptor + .forClass(InstanceRegisteredEvent.class); + Mockito.verify(publisher, Mockito.times(1)).publishEvent(captor.capture()); + KubernetesDiscoveryClientHealthIndicatorInitializer.RegisteredEventSource source = (KubernetesDiscoveryClientHealthIndicatorInitializer.RegisteredEventSource) captor + .getValue().getSource(); + assertThat(source.cloudPlatform()).isEqualTo("kubernetes"); + assertThat(source.inside()).isFalse(); + assertThat(source.pod()).isNotNull(); + + } + + @Configuration + static class InstanceRegistrationEventPublishedInsideK8sConfiguration { + + @Bean + @SuppressWarnings("unchecked") + PodUtils podUtils() { + PodUtils podUtils = Mockito.mock(PodUtils.class); + Mockito.when(podUtils.isInsideKubernetes()).thenReturn(true); + Mockito.when(podUtils.currentPod()).thenReturn(() -> POD); + return podUtils; + } + + @Bean + @Primary + ApplicationEventPublisher publisher() { + publisher = Mockito.mock(ApplicationEventPublisher.class); + return publisher; + } + + @Bean + KubernetesDiscoveryClientHealthIndicatorInitializer indicatorInitializer(PodUtils podUtils, + ApplicationEventPublisher publisher) { + return new KubernetesDiscoveryClientHealthIndicatorInitializer(podUtils, publisher); + } + + } + + @Configuration + static class InstanceRegistrationEventPublishedOutsideK8sConfiguration { + + @Bean + @SuppressWarnings("unchecked") + PodUtils podUtils() { + PodUtils podUtils = Mockito.mock(PodUtils.class); + Mockito.when(podUtils.isInsideKubernetes()).thenReturn(false); + Mockito.when(podUtils.currentPod()).thenReturn(() -> POD); + return podUtils; + } + + @Bean + @Primary + ApplicationEventPublisher publisher() { + publisher = Mockito.mock(ApplicationEventPublisher.class); + return publisher; + } + + @Bean + KubernetesDiscoveryClientHealthIndicatorInitializer indicatorInitializer(PodUtils podUtils, + ApplicationEventPublisher publisher) { + return new KubernetesDiscoveryClientHealthIndicatorInitializer(podUtils, publisher); + } + + } + +} diff --git a/spring-cloud-kubernetes-fabric8-autoconfig/src/main/java/org/springframework/cloud/kubernetes/fabric8/Fabric8PodUtils.java b/spring-cloud-kubernetes-fabric8-autoconfig/src/main/java/org/springframework/cloud/kubernetes/fabric8/Fabric8PodUtils.java index 4f888234..e7066f9e 100644 --- a/spring-cloud-kubernetes-fabric8-autoconfig/src/main/java/org/springframework/cloud/kubernetes/fabric8/Fabric8PodUtils.java +++ b/spring-cloud-kubernetes-fabric8-autoconfig/src/main/java/org/springframework/cloud/kubernetes/fabric8/Fabric8PodUtils.java @@ -74,7 +74,7 @@ public class Fabric8PodUtils implements PodUtils { } @Override - public Boolean isInsideKubernetes() { + public boolean isInsideKubernetes() { return currentPod().get() != null; } From cae442fde54f90ad9f1301ea5b0a320592708e18 Mon Sep 17 00:00:00 2001 From: Cyril Sadovsky Date: Wed, 28 Sep 2022 20:01:52 +0200 Subject: [PATCH 06/13] Add possibility to disable configmap creation (#1081) --- docs/src/main/asciidoc/_configprops.adoc | 3 +- .../commons/leader/LeaderProperties.java | 15 ++++++ .../leader/Fabric8LeadershipController.java | 7 +++ .../Fabric8LeadershipControllerTest.java | 49 ++++++++++++++++++- 4 files changed, 72 insertions(+), 2 deletions(-) diff --git a/docs/src/main/asciidoc/_configprops.adoc b/docs/src/main/asciidoc/_configprops.adoc index 76b149db..e23dcdec 100644 --- a/docs/src/main/asciidoc/_configprops.adoc +++ b/docs/src/main/asciidoc/_configprops.adoc @@ -86,6 +86,7 @@ |spring.cloud.kubernetes.leader.publish-failed-events | `+++false+++` | Enable/disable publishing events in case leadership acquisition fails. Default: false |spring.cloud.kubernetes.leader.role | | Role for which leadership this candidate will compete. |spring.cloud.kubernetes.leader.update-period | `+++60000ms+++` | Leadership status check period. Default: 60s +|spring.cloud.kubernetes.leader.create-config-map | `+++true+++` | Enable/disable creating ConfigMap if it does not exist. Default: true |spring.cloud.kubernetes.loadbalancer.cluster-domain | `+++cluster.local+++` | cluster domain. |spring.cloud.kubernetes.loadbalancer.enabled | `+++true+++` | Load balancer enabled,default true. |spring.cloud.kubernetes.loadbalancer.mode | | {@link KubernetesLoadBalancerMode} setting load balancer server list with ip of pod or service name. default value is POD. @@ -115,4 +116,4 @@ |spring.cloud.kubernetes.secrets.sources | | |spring.cloud.kubernetes.secrets.use-name-as-prefix | `+++false+++` | -|=== \ No newline at end of file +|=== diff --git a/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/leader/LeaderProperties.java b/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/leader/LeaderProperties.java index e66ebe53..f1352461 100644 --- a/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/leader/LeaderProperties.java +++ b/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/leader/LeaderProperties.java @@ -38,6 +38,8 @@ public class LeaderProperties { private static final boolean DEFAULT_PUBLISH_FAILED_EVENTS = false; + private static final boolean DEFAULT_CREATE_CONFIG_MAP = true; + /** * Should leader election be enabled. Default: true */ @@ -79,6 +81,11 @@ public class LeaderProperties { */ private boolean publishFailedEvents = DEFAULT_PUBLISH_FAILED_EVENTS; + /** + * Enable/disable creating ConfigMap if it does not exist. Default: true + */ + private boolean createConfigMap = DEFAULT_CREATE_CONFIG_MAP; + public boolean isEnabled() { return this.enabled; } @@ -151,4 +158,12 @@ public class LeaderProperties { this.publishFailedEvents = publishFailedEvents; } + public boolean isCreateConfigMap() { + return this.createConfigMap; + } + + public void setCreateConfigMap(boolean createConfigMap) { + this.createConfigMap = createConfigMap; + } + } diff --git a/spring-cloud-kubernetes-fabric8-leader/src/main/java/org/springframework/cloud/kubernetes/fabric8/leader/Fabric8LeadershipController.java b/spring-cloud-kubernetes-fabric8-leader/src/main/java/org/springframework/cloud/kubernetes/fabric8/leader/Fabric8LeadershipController.java index 757bd46c..fada557e 100644 --- a/spring-cloud-kubernetes-fabric8-leader/src/main/java/org/springframework/cloud/kubernetes/fabric8/leader/Fabric8LeadershipController.java +++ b/spring-cloud-kubernetes-fabric8-leader/src/main/java/org/springframework/cloud/kubernetes/fabric8/leader/Fabric8LeadershipController.java @@ -51,6 +51,12 @@ public class Fabric8LeadershipController extends LeadershipController { public synchronized void update() { LOGGER.debug("Checking leader state"); ConfigMap configMap = getConfigMap(); + if (configMap == null && !leaderProperties.isCreateConfigMap()) { + LOGGER.warn("ConfigMap '{}' does not exist and leaderProperties.isCreateConfigMap() " + + "is false, cannot acquire leadership", leaderProperties.getConfigMapName()); + notifyOnFailedToAcquire(); + return; + } Leader leader = extractLeader(configMap); if (leader != null && isPodReady(leader.getId())) { @@ -98,6 +104,7 @@ public class Fabric8LeadershipController extends LeadershipController { try { Map data = getLeaderData(this.candidate); + if (configMap == null) { createConfigMap(data); } diff --git a/spring-cloud-kubernetes-fabric8-leader/src/test/java/org/springframework/cloud/kubernetes/fabric8/leader/Fabric8LeadershipControllerTest.java b/spring-cloud-kubernetes-fabric8-leader/src/test/java/org/springframework/cloud/kubernetes/fabric8/leader/Fabric8LeadershipControllerTest.java index 690df9ae..652c3f76 100644 --- a/spring-cloud-kubernetes-fabric8-leader/src/test/java/org/springframework/cloud/kubernetes/fabric8/leader/Fabric8LeadershipControllerTest.java +++ b/spring-cloud-kubernetes-fabric8-leader/src/test/java/org/springframework/cloud/kubernetes/fabric8/leader/Fabric8LeadershipControllerTest.java @@ -17,17 +17,28 @@ package org.springframework.cloud.kubernetes.fabric8.leader; import io.fabric8.kubernetes.client.KubernetesClient; +import io.fabric8.kubernetes.client.dsl.NonNamespaceOperation; +import io.fabric8.kubernetes.client.dsl.Resource; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.Answers; import org.mockito.Mock; +import org.mockito.Mockito; import org.mockito.junit.jupiter.MockitoExtension; +import org.springframework.boot.test.system.CapturedOutput; +import org.springframework.boot.test.system.OutputCaptureExtension; import org.springframework.cloud.kubernetes.commons.leader.LeaderProperties; import org.springframework.integration.leader.Candidate; import org.springframework.integration.leader.event.LeaderEventPublisher; import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.Mockito.never; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; /** * @author Gytis Trikleris @@ -44,7 +55,7 @@ public class Fabric8LeadershipControllerTest { @Mock private LeaderEventPublisher mockLeaderEventPublisher; - @Mock + @Mock(answer = Answers.RETURNS_DEEP_STUBS) private KubernetesClient mockKubernetesClient; private Fabric8LeadershipController fabric8LeadershipController; @@ -60,4 +71,40 @@ public class Fabric8LeadershipControllerTest { assertThat(this.fabric8LeadershipController.getLocalLeader().isPresent()).isFalse(); } + @ExtendWith(OutputCaptureExtension.class) + @Test + void whenNonExistentConfigmapAndCreationNotAllowedStopLeadershipAcquire(CapturedOutput output) { + // given + String testNamespace = "test-namespace"; + String testConfigmap = "test-configmap"; + Resource mockResource = Mockito.mock(Resource.class); + NonNamespaceOperation mockNonNamespaceOperation = Mockito.mock(NonNamespaceOperation.class); + + Fabric8LeadershipController fabric8LeadershipController = new Fabric8LeadershipController(mockCandidate, + mockLeaderProperties, mockLeaderEventPublisher, mockKubernetesClient); + + when(mockLeaderProperties.isCreateConfigMap()).thenReturn(false); + when(mockLeaderProperties.isPublishFailedEvents()).thenReturn(true); + when(mockLeaderProperties.getConfigMapName()).thenReturn(testConfigmap); + when(mockKubernetesClient.getNamespace()).thenReturn(testNamespace); + when(mockLeaderProperties.getNamespace(anyString())).thenReturn(testNamespace); + when(mockKubernetesClient.configMaps().inNamespace(anyString())).thenReturn(mockNonNamespaceOperation); + when(mockNonNamespaceOperation.withName(any())).thenReturn(mockResource); + when(mockResource.get()).thenReturn(null); + + // when + fabric8LeadershipController.update(); + + // then + assertThat(output).contains("ConfigMap '" + testConfigmap + "' does not exist " + + "and leaderProperties.isCreateConfigMap() is false, cannot acquire leadership"); + verify(mockLeaderEventPublisher).publishOnFailedToAcquire(any(), any(), any()); + + verify(mockKubernetesClient, never()).pods(); + verify(mockCandidate, never()).getId(); + verify(mockLeaderProperties, never()).getLeaderIdPrefix(); + verify(mockLeaderEventPublisher, never()).publishOnGranted(any(), any(), any()); + verify(mockLeaderEventPublisher, never()).publishOnRevoked(any(), any(), any()); + } + } From 24f768cde113b59af9e19206311e0419531df03f Mon Sep 17 00:00:00 2001 From: erabii Date: Thu, 29 Sep 2022 02:50:38 +0300 Subject: [PATCH 07/13] Discovery refactor 6 (#1091) --- .../KubernetesInformerDiscoveryClient.java | 4 +- ...ubernetesInformerDiscoveryClientTests.java | 27 +-- .../KubernetesServiceInstanceTests.java | 52 ----- ...sInformerReactiveDiscoveryClientTests.java | 6 +- ...KubernetesClientServiceInstanceMapper.java | 3 +- ...netesClientServiceInstanceMapperTests.java | 5 +- ...rnetesClientServicesListSupplierTests.java | 8 +- .../DefaultKubernetesServiceInstance.java | 107 +++++++++ .../discovery/KubernetesServiceInstance.java | 212 +----------------- .../KubernetesServiceInstanceTests.java | 89 ++++++++ ...asedConfigMapWatchChangeDetectorTests.java | 6 +- ...pBasedSecretsWatchChangeDetectorTests.java | 6 +- .../discovery/KubernetesDiscoveryClient.java | 4 +- .../KubernetesServiceInstanceTests.java | 58 ----- .../Fabric8ServiceInstanceMapper.java | 3 +- .../KubernetesServiceListSupplierTests.java | 8 +- 16 files changed, 248 insertions(+), 350 deletions(-) delete mode 100644 spring-cloud-kubernetes-client-discovery/src/test/java/org/springframework/cloud/kubernetes/client/discovery/KubernetesServiceInstanceTests.java create mode 100644 spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/discovery/DefaultKubernetesServiceInstance.java create mode 100644 spring-cloud-kubernetes-commons/src/test/java/org/springframework/cloud/kubernetes/commons/discovery/KubernetesServiceInstanceTests.java delete mode 100644 spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesServiceInstanceTests.java diff --git a/spring-cloud-kubernetes-client-discovery/src/main/java/org/springframework/cloud/kubernetes/client/discovery/KubernetesInformerDiscoveryClient.java b/spring-cloud-kubernetes-client-discovery/src/main/java/org/springframework/cloud/kubernetes/client/discovery/KubernetesInformerDiscoveryClient.java index ca1010bf..747d22ad 100644 --- a/spring-cloud-kubernetes-client-discovery/src/main/java/org/springframework/cloud/kubernetes/client/discovery/KubernetesInformerDiscoveryClient.java +++ b/spring-cloud-kubernetes-client-discovery/src/main/java/org/springframework/cloud/kubernetes/client/discovery/KubernetesInformerDiscoveryClient.java @@ -39,8 +39,8 @@ import org.apache.commons.logging.LogFactory; import org.springframework.beans.factory.InitializingBean; import org.springframework.cloud.client.ServiceInstance; import org.springframework.cloud.client.discovery.DiscoveryClient; +import org.springframework.cloud.kubernetes.commons.discovery.DefaultKubernetesServiceInstance; import org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryProperties; -import org.springframework.cloud.kubernetes.commons.discovery.KubernetesServiceInstance; import org.springframework.util.Assert; import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; @@ -159,7 +159,7 @@ public class KubernetesInformerDiscoveryClient implements DiscoveryClient, Initi final int port = findEndpointPort(endpointPorts, primaryPortName, serviceId); return addresses.stream() - .map(addr -> new KubernetesServiceInstance( + .map(addr -> new DefaultKubernetesServiceInstance( addr.getTargetRef() != null ? addr.getTargetRef().getUid() : "", serviceId, addr.getIp(), port, metadata, false, service.getMetadata().getNamespace(), service.getMetadata().getClusterName())); diff --git a/spring-cloud-kubernetes-client-discovery/src/test/java/org/springframework/cloud/kubernetes/client/discovery/KubernetesInformerDiscoveryClientTests.java b/spring-cloud-kubernetes-client-discovery/src/test/java/org/springframework/cloud/kubernetes/client/discovery/KubernetesInformerDiscoveryClientTests.java index c435047b..fe5e039c 100644 --- a/spring-cloud-kubernetes-client-discovery/src/test/java/org/springframework/cloud/kubernetes/client/discovery/KubernetesInformerDiscoveryClientTests.java +++ b/spring-cloud-kubernetes-client-discovery/src/test/java/org/springframework/cloud/kubernetes/client/discovery/KubernetesInformerDiscoveryClientTests.java @@ -35,8 +35,8 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.cloud.kubernetes.commons.discovery.DefaultKubernetesServiceInstance; import org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryProperties; -import org.springframework.cloud.kubernetes.commons.discovery.KubernetesServiceInstance; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.times; @@ -151,8 +151,9 @@ public class KubernetesInformerDiscoveryClientTests { sharedInformerFactory, serviceLister, endpointsLister, null, null, kubernetesDiscoveryProperties); assertThat(discoveryClient.getInstances("test-svc-1").toArray()).isEmpty(); - assertThat(discoveryClient.getInstances("test-svc-3").toArray()).containsOnly(new KubernetesServiceInstance("", - "test-svc-3", "2.2.2.2", 8080, new HashMap<>(), false, "namespace1", null)); + assertThat(discoveryClient.getInstances("test-svc-3").toArray()) + .containsOnly(new DefaultKubernetesServiceInstance("", "test-svc-3", "2.2.2.2", 8080, new HashMap<>(), + false, "namespace1", null)); } @Test @@ -179,7 +180,7 @@ public class KubernetesInformerDiscoveryClientTests { KubernetesInformerDiscoveryClient discoveryClient = new KubernetesInformerDiscoveryClient("", sharedInformerFactory, serviceLister, endpointsLister, null, null, kubernetesDiscoveryProperties); - assertThat(discoveryClient.getInstances("test-svc-1")).containsOnly(new KubernetesServiceInstance("", + assertThat(discoveryClient.getInstances("test-svc-1")).containsOnly(new DefaultKubernetesServiceInstance("", "test-svc-1", "2.2.2.2", 8080, new HashMap<>(), false, "namespace1", null)); verify(kubernetesDiscoveryProperties, times(2)).isAllNamespaces(); @@ -196,7 +197,7 @@ public class KubernetesInformerDiscoveryClientTests { KubernetesInformerDiscoveryClient discoveryClient = new KubernetesInformerDiscoveryClient("namespace1", sharedInformerFactory, serviceLister, endpointsLister, null, null, kubernetesDiscoveryProperties); - assertThat(discoveryClient.getInstances("test-svc-1")).containsOnly(new KubernetesServiceInstance("", + assertThat(discoveryClient.getInstances("test-svc-1")).containsOnly(new DefaultKubernetesServiceInstance("", "test-svc-1", "2.2.2.2", 8080, new HashMap<>(), false, "namespace1", null)); verify(kubernetesDiscoveryProperties, times(1)).isAllNamespaces(); verify(kubernetesDiscoveryProperties, times(1)).getPrimaryPortName(); @@ -229,7 +230,7 @@ public class KubernetesInformerDiscoveryClientTests { KubernetesInformerDiscoveryClient discoveryClient = new KubernetesInformerDiscoveryClient("namespace1", sharedInformerFactory, serviceLister, endpointsLister, null, null, kubernetesDiscoveryProperties); - assertThat(discoveryClient.getInstances("test-svc-1")).containsOnly(new KubernetesServiceInstance("", + assertThat(discoveryClient.getInstances("test-svc-1")).containsOnly(new DefaultKubernetesServiceInstance("", "test-svc-1", "2.2.2.2", 8080, new HashMap<>(), false, "namespace1", null)); verify(kubernetesDiscoveryProperties, times(1)).isAllNamespaces(); verify(kubernetesDiscoveryProperties, times(1)).getPrimaryPortName(); @@ -275,7 +276,7 @@ public class KubernetesInformerDiscoveryClientTests { KubernetesInformerDiscoveryClient discoveryClient = new KubernetesInformerDiscoveryClient("namespace1", sharedInformerFactory, serviceLister, endpointsLister, null, null, kubernetesDiscoveryProperties); - assertThat(discoveryClient.getInstances("test-svc-1")).containsOnly(new KubernetesServiceInstance("", + assertThat(discoveryClient.getInstances("test-svc-1")).containsOnly(new DefaultKubernetesServiceInstance("", "test-svc-1", "1.1.1.1", 443, new HashMap<>(), false, "namespace1", null)); verify(kubernetesDiscoveryProperties, times(1)).isAllNamespaces(); verify(kubernetesDiscoveryProperties, times(1)).getPrimaryPortName(); @@ -294,7 +295,7 @@ public class KubernetesInformerDiscoveryClientTests { KubernetesInformerDiscoveryClient discoveryClient = new KubernetesInformerDiscoveryClient("namespace1", sharedInformerFactory, serviceLister, endpointsLister, null, null, kubernetesDiscoveryProperties); - assertThat(discoveryClient.getInstances("test-svc-1")).containsOnly(new KubernetesServiceInstance("", + assertThat(discoveryClient.getInstances("test-svc-1")).containsOnly(new DefaultKubernetesServiceInstance("", "test-svc-1", "1.1.1.1", 80, new HashMap<>(), false, "namespace1", null)); verify(kubernetesDiscoveryProperties, times(1)).isAllNamespaces(); verify(kubernetesDiscoveryProperties, times(1)).getPrimaryPortName(); @@ -311,7 +312,7 @@ public class KubernetesInformerDiscoveryClientTests { KubernetesInformerDiscoveryClient discoveryClient = new KubernetesInformerDiscoveryClient("namespace1", sharedInformerFactory, serviceLister, endpointsLister, null, null, kubernetesDiscoveryProperties); - assertThat(discoveryClient.getInstances("test-svc-1")).containsOnly(new KubernetesServiceInstance("", + assertThat(discoveryClient.getInstances("test-svc-1")).containsOnly(new DefaultKubernetesServiceInstance("", "test-svc-1", "1.1.1.1", 443, new HashMap<>(), false, "namespace1", null)); verify(kubernetesDiscoveryProperties, times(1)).getPrimaryPortName(); verify(kubernetesDiscoveryProperties, times(1)).isAllNamespaces(); @@ -330,7 +331,7 @@ public class KubernetesInformerDiscoveryClientTests { KubernetesInformerDiscoveryClient discoveryClient = new KubernetesInformerDiscoveryClient("namespace1", sharedInformerFactory, serviceLister, endpointsLister, null, null, kubernetesDiscoveryProperties); - assertThat(discoveryClient.getInstances("test-svc-1")).containsOnly(new KubernetesServiceInstance("", + assertThat(discoveryClient.getInstances("test-svc-1")).containsOnly(new DefaultKubernetesServiceInstance("", "test-svc-1", "1.1.1.1", 80, new HashMap<>(), false, "namespace1", null)); verify(kubernetesDiscoveryProperties, times(1)).isAllNamespaces(); verify(kubernetesDiscoveryProperties, times(1)).getPrimaryPortName(); @@ -346,7 +347,7 @@ public class KubernetesInformerDiscoveryClientTests { KubernetesInformerDiscoveryClient discoveryClient = new KubernetesInformerDiscoveryClient("namespace1", sharedInformerFactory, serviceLister, endpointsLister, null, null, kubernetesDiscoveryProperties); - assertThat(discoveryClient.getInstances("test-svc-1")).containsOnly(new KubernetesServiceInstance("", + assertThat(discoveryClient.getInstances("test-svc-1")).containsOnly(new DefaultKubernetesServiceInstance("", "test-svc-1", "1.1.1.1", 443, new HashMap<>(), false, "namespace1", null)); verify(kubernetesDiscoveryProperties, times(1)).isAllNamespaces(); verify(kubernetesDiscoveryProperties, times(1)).getPrimaryPortName(); @@ -362,7 +363,7 @@ public class KubernetesInformerDiscoveryClientTests { KubernetesInformerDiscoveryClient discoveryClient = new KubernetesInformerDiscoveryClient("namespace1", sharedInformerFactory, serviceLister, endpointsLister, null, null, kubernetesDiscoveryProperties); - assertThat(discoveryClient.getInstances("test-svc-1")).containsOnly(new KubernetesServiceInstance("", + assertThat(discoveryClient.getInstances("test-svc-1")).containsOnly(new DefaultKubernetesServiceInstance("", "test-svc-1", "1.1.1.1", 80, new HashMap<>(), false, "namespace1", null)); verify(kubernetesDiscoveryProperties, times(1)).isAllNamespaces(); verify(kubernetesDiscoveryProperties, times(1)).getPrimaryPortName(); @@ -379,7 +380,7 @@ public class KubernetesInformerDiscoveryClientTests { KubernetesInformerDiscoveryClient discoveryClient = new KubernetesInformerDiscoveryClient("namespace1", sharedInformerFactory, serviceLister, endpointsLister, null, null, kubernetesDiscoveryProperties); - assertThat(discoveryClient.getInstances("test-svc-1")).containsOnly(new KubernetesServiceInstance("", + assertThat(discoveryClient.getInstances("test-svc-1")).containsOnly(new DefaultKubernetesServiceInstance("", "test-svc-1", "1.1.1.1", 80, new HashMap<>(), false, "namespace1", null)); verify(kubernetesDiscoveryProperties, times(1)).isAllNamespaces(); verify(kubernetesDiscoveryProperties, times(1)).getPrimaryPortName(); diff --git a/spring-cloud-kubernetes-client-discovery/src/test/java/org/springframework/cloud/kubernetes/client/discovery/KubernetesServiceInstanceTests.java b/spring-cloud-kubernetes-client-discovery/src/test/java/org/springframework/cloud/kubernetes/client/discovery/KubernetesServiceInstanceTests.java deleted file mode 100644 index 97ee7128..00000000 --- a/spring-cloud-kubernetes-client-discovery/src/test/java/org/springframework/cloud/kubernetes/client/discovery/KubernetesServiceInstanceTests.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright 2013-2020 the original author or authors. - * - * Licensed 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 - * - * https://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.springframework.cloud.kubernetes.client.discovery; - -import java.util.Collections; - -import org.junit.Test; - -import org.springframework.cloud.kubernetes.commons.discovery.KubernetesServiceInstance; - -import static org.assertj.core.api.Assertions.assertThat; - -public class KubernetesServiceInstanceTests { - - @Test - public void schemeIsHttp() { - assertServiceInstance(false); - } - - private KubernetesServiceInstance assertServiceInstance(boolean secure) { - KubernetesServiceInstance instance = new KubernetesServiceInstance("123", "myservice", "1.2.3.4", 8080, - Collections.emptyMap(), secure); - - assertThat(instance.getInstanceId()).isEqualTo("123"); - assertThat(instance.getServiceId()).isEqualTo("myservice"); - assertThat(instance.getHost()).isEqualTo("1.2.3.4"); - assertThat(instance.getPort()).isEqualTo(8080); - assertThat(instance.isSecure()).isEqualTo(secure); - assertThat(instance.getScheme()).isEqualTo(secure ? "https" : "http"); - return instance; - } - - @Test - public void schemeIsHttps() { - assertServiceInstance(true); - } - -} diff --git a/spring-cloud-kubernetes-client-discovery/src/test/java/org/springframework/cloud/kubernetes/client/discovery/reactive/KubernetesInformerReactiveDiscoveryClientTests.java b/spring-cloud-kubernetes-client-discovery/src/test/java/org/springframework/cloud/kubernetes/client/discovery/reactive/KubernetesInformerReactiveDiscoveryClientTests.java index 84dcaf9b..e5cb50fb 100644 --- a/spring-cloud-kubernetes-client-discovery/src/test/java/org/springframework/cloud/kubernetes/client/discovery/reactive/KubernetesInformerReactiveDiscoveryClientTests.java +++ b/spring-cloud-kubernetes-client-discovery/src/test/java/org/springframework/cloud/kubernetes/client/discovery/reactive/KubernetesInformerReactiveDiscoveryClientTests.java @@ -36,8 +36,8 @@ import org.mockito.junit.MockitoJUnitRunner; import reactor.test.StepVerifier; import org.springframework.cloud.kubernetes.commons.KubernetesNamespaceProvider; +import org.springframework.cloud.kubernetes.commons.discovery.DefaultKubernetesServiceInstance; import org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryProperties; -import org.springframework.cloud.kubernetes.commons.discovery.KubernetesServiceInstance; import org.springframework.mock.env.MockEnvironment; import static org.mockito.Mockito.mock; @@ -117,7 +117,7 @@ public class KubernetesInformerReactiveDiscoveryClientTests { endpointsLister, null, null, kubernetesDiscoveryProperties); StepVerifier - .create(discoveryClient.getInstances("test-svc-1")).expectNext(new KubernetesServiceInstance("", + .create(discoveryClient.getInstances("test-svc-1")).expectNext(new DefaultKubernetesServiceInstance("", "test-svc-1", "2.2.2.2", 8080, new HashMap<>(), false, "namespace1", null)) .expectComplete().verify(); @@ -137,7 +137,7 @@ public class KubernetesInformerReactiveDiscoveryClientTests { kubernetesDiscoveryProperties); StepVerifier - .create(discoveryClient.getInstances("test-svc-1")).expectNext(new KubernetesServiceInstance("", + .create(discoveryClient.getInstances("test-svc-1")).expectNext(new DefaultKubernetesServiceInstance("", "test-svc-1", "2.2.2.2", 8080, new HashMap<>(), false, "namespace1", null)) .expectComplete().verify(); diff --git a/spring-cloud-kubernetes-client-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/client/loadbalancer/KubernetesClientServiceInstanceMapper.java b/spring-cloud-kubernetes-client-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/client/loadbalancer/KubernetesClientServiceInstanceMapper.java index 25bd5aa0..f2f2aedd 100644 --- a/spring-cloud-kubernetes-client-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/client/loadbalancer/KubernetesClientServiceInstanceMapper.java +++ b/spring-cloud-kubernetes-client-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/client/loadbalancer/KubernetesClientServiceInstanceMapper.java @@ -25,6 +25,7 @@ import io.kubernetes.client.openapi.models.V1ObjectMeta; import io.kubernetes.client.openapi.models.V1Service; import io.kubernetes.client.openapi.models.V1ServicePort; +import org.springframework.cloud.kubernetes.commons.discovery.DefaultKubernetesServiceInstance; import org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryProperties; import org.springframework.cloud.kubernetes.commons.discovery.KubernetesServiceInstance; import org.springframework.cloud.kubernetes.commons.loadbalancer.KubernetesLoadBalancerProperties; @@ -69,7 +70,7 @@ public class KubernetesClientServiceInstanceMapper implements KubernetesServiceI service.getMetadata().getNamespace(), properties.getClusterDomain()); final boolean secure = KubernetesServiceInstanceMapper.isSecure(service.getMetadata().getLabels(), service.getMetadata().getAnnotations(), port.getName(), port.getPort()); - return new KubernetesServiceInstance(meta.getUid(), meta.getName(), host, port.getPort(), + return new DefaultKubernetesServiceInstance(meta.getUid(), meta.getName(), host, port.getPort(), getServiceMetadata(service), secure); } diff --git a/spring-cloud-kubernetes-client-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/client/loadbalancer/KubernetesClientServiceInstanceMapperTests.java b/spring-cloud-kubernetes-client-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/client/loadbalancer/KubernetesClientServiceInstanceMapperTests.java index c79c9c20..cddd2128 100644 --- a/spring-cloud-kubernetes-client-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/client/loadbalancer/KubernetesClientServiceInstanceMapperTests.java +++ b/spring-cloud-kubernetes-client-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/client/loadbalancer/KubernetesClientServiceInstanceMapperTests.java @@ -26,6 +26,7 @@ import io.kubernetes.client.openapi.models.V1ServicePortBuilder; import io.kubernetes.client.openapi.models.V1ServiceSpecBuilder; import org.junit.jupiter.api.Test; +import org.springframework.cloud.kubernetes.commons.discovery.DefaultKubernetesServiceInstance; import org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryProperties; import org.springframework.cloud.kubernetes.commons.discovery.KubernetesServiceInstance; import org.springframework.cloud.kubernetes.commons.loadbalancer.KubernetesLoadBalancerProperties; @@ -56,7 +57,7 @@ class KubernetesClientServiceInstanceMapperTests { Map metadata = new HashMap<>(); metadata.put("org.springframework.cloud", "true"); metadata.put("beta", "true"); - KubernetesServiceInstance result = new KubernetesServiceInstance("0", "database", + DefaultKubernetesServiceInstance result = new DefaultKubernetesServiceInstance("0", "database", "database.default.svc.cluster.local", 80, metadata, false); assertThat(serviceInstance).isEqualTo(result); } @@ -79,7 +80,7 @@ class KubernetesClientServiceInstanceMapperTests { .build(); KubernetesServiceInstance serviceInstance = mapper.map(service); - KubernetesServiceInstance result = new KubernetesServiceInstance("0", "database", + DefaultKubernetesServiceInstance result = new DefaultKubernetesServiceInstance("0", "database", "database.default.svc.cluster.local", 443, new HashMap(), true); assertThat(serviceInstance).isEqualTo(result); } diff --git a/spring-cloud-kubernetes-client-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/client/loadbalancer/KubernetesClientServicesListSupplierTests.java b/spring-cloud-kubernetes-client-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/client/loadbalancer/KubernetesClientServicesListSupplierTests.java index 39c987d8..c2d848be 100644 --- a/spring-cloud-kubernetes-client-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/client/loadbalancer/KubernetesClientServicesListSupplierTests.java +++ b/spring-cloud-kubernetes-client-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/client/loadbalancer/KubernetesClientServicesListSupplierTests.java @@ -42,8 +42,8 @@ import reactor.test.StepVerifier; import org.springframework.cloud.client.ServiceInstance; import org.springframework.cloud.kubernetes.commons.KubernetesNamespaceProvider; +import org.springframework.cloud.kubernetes.commons.discovery.DefaultKubernetesServiceInstance; import org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryProperties; -import org.springframework.cloud.kubernetes.commons.discovery.KubernetesServiceInstance; import org.springframework.cloud.kubernetes.commons.loadbalancer.KubernetesLoadBalancerProperties; import org.springframework.cloud.loadbalancer.support.LoadBalancerClientFactory; import org.springframework.mock.env.MockEnvironment; @@ -131,7 +131,7 @@ class KubernetesClientServicesListSupplierTests { Map metadata = new HashMap<>(); metadata.put("org.springframework.cloud", "true"); metadata.put("beta", "true"); - KubernetesServiceInstance service1 = new KubernetesServiceInstance("0", "service1", + DefaultKubernetesServiceInstance service1 = new DefaultKubernetesServiceInstance("0", "service1", "service1.default.svc.cluster.local", 80, metadata, false); List services = new ArrayList<>(); services.add(service1); @@ -161,9 +161,9 @@ class KubernetesClientServicesListSupplierTests { Map metadata = new HashMap<>(); metadata.put("org.springframework.cloud", "true"); metadata.put("beta", "true"); - KubernetesServiceInstance service1 = new KubernetesServiceInstance("0", "service1", + DefaultKubernetesServiceInstance service1 = new DefaultKubernetesServiceInstance("0", "service1", "service1.default.svc.cluster.local", 80, metadata, false); - KubernetesServiceInstance service2 = new KubernetesServiceInstance("1", "service1", + DefaultKubernetesServiceInstance service2 = new DefaultKubernetesServiceInstance("1", "service1", "service1.test.svc.cluster.local", 80, new HashMap<>(), false); List services = new ArrayList<>(); services.add(service1); diff --git a/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/discovery/DefaultKubernetesServiceInstance.java b/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/discovery/DefaultKubernetesServiceInstance.java new file mode 100644 index 00000000..5f55233c --- /dev/null +++ b/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/discovery/DefaultKubernetesServiceInstance.java @@ -0,0 +1,107 @@ +/* + * Copyright 2013-2022 the original author or authors. + * + * Licensed 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 + * + * https://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.springframework.cloud.kubernetes.commons.discovery; + +import java.net.URI; +import java.util.Map; + +import static org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryConstants.HTTP; +import static org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryConstants.HTTPS; +import static org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryConstants.NAMESPACE_METADATA_KEY; + +/** + * @author wind57 + * @param instanceId the id of the instance. + * @param serviceId the id of the service. + * @param host the address where the service instance can be found. + * @param port the port on which the service is running. + * @param metadata a map containing metadata. + * @param secure indicates whether the connection needs to be secure. + * @param namespace the namespace of the service. + * @param cluster the cluster the service resides in. + */ +public record DefaultKubernetesServiceInstance(String instanceId, String serviceId, String host, int port, + Map metadata, boolean secure, String namespace, + String cluster) implements KubernetesServiceInstance { + + /** + * @param instanceId the id of the instance. + * @param serviceId the id of the service. + * @param host the address where the service instance can be found. + * @param port the port on which the service is running. + * @param metadata a map containing metadata. + * @param secure indicates whether the connection needs to be secure. + */ + public DefaultKubernetesServiceInstance(String instanceId, String serviceId, String host, int port, + Map metadata, boolean secure) { + this(instanceId, serviceId, host, port, metadata, secure, null, null); + } + + @Override + public String getInstanceId() { + return this.instanceId; + } + + @Override + public String getServiceId() { + return serviceId; + } + + @Override + public String getHost() { + return host; + } + + @Override + public int getPort() { + return port; + } + + @Override + public boolean isSecure() { + return secure; + } + + @Override + public URI getUri() { + return createUri(secure ? HTTPS : HTTP, host, port); + } + + @Override + public Map getMetadata() { + return metadata; + } + + @Override + public String getScheme() { + return isSecure() ? HTTPS : HTTP; + } + + @Override + public String getNamespace() { + return namespace != null ? namespace : this.metadata.get(NAMESPACE_METADATA_KEY); + } + + @Override + public String getCluster() { + return this.cluster; + } + + private URI createUri(String scheme, String host, int port) { + return URI.create(scheme + "://" + host + ":" + port); + } +} diff --git a/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/discovery/KubernetesServiceInstance.java b/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/discovery/KubernetesServiceInstance.java index 1399f9ed..2f6c4e20 100644 --- a/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/discovery/KubernetesServiceInstance.java +++ b/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/discovery/KubernetesServiceInstance.java @@ -1,5 +1,5 @@ /* - * Copyright 2013-2020 the original author or authors. + * Copyright 2019-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,211 +16,17 @@ package org.springframework.cloud.kubernetes.commons.discovery; -import java.net.URI; -import java.util.Map; -import java.util.Objects; - import org.springframework.cloud.client.ServiceInstance; -import org.springframework.core.style.ToStringCreator; -import static org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryConstants.HTTP; -import static org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryConstants.HTTPS; -import static org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryConstants.NAMESPACE_METADATA_KEY; +/** + * @author wind57 + * + * {@link ServiceInstance} with additional methods, specific to kubernetes. + */ +sealed public interface KubernetesServiceInstance extends ServiceInstance permits DefaultKubernetesServiceInstance { -public final class KubernetesServiceInstance implements ServiceInstance { + String getNamespace(); - private String instanceId; - - private String serviceId; - - private String host; - - private int port; - - private URI uri; - - private Boolean secure; - - private Map metadata; - - private String namespace; - - private String cluster; - - /** - * @param instanceId the id of the instance. - * @param serviceId the id of the service. - * @param host the address where the service instance can be found. - * @param port the port on which the service is running. - * @param metadata a map containing metadata. - * @param secure indicates whether the connection needs to be secure. - */ - public KubernetesServiceInstance(String instanceId, String serviceId, String host, int port, - Map metadata, Boolean secure) { - this.instanceId = instanceId; - this.serviceId = serviceId; - this.host = host; - this.port = port; - this.metadata = metadata; - this.secure = secure; - this.uri = createUri(secure ? HTTPS : HTTP, host, port); - this.namespace = null; - this.cluster = null; - } - - /** - * @param instanceId the id of the instance. - * @param serviceId the id of the service. - * @param host the address where the service instance can be found. - * @param port the port on which the service is running. - * @param metadata a map containing metadata. - * @param secure indicates whether the connection needs to be secure. - * @param namespace the namespace of the service. - * @param cluster the cluster the service resides in. - */ - public KubernetesServiceInstance(String instanceId, String serviceId, String host, int port, - Map metadata, Boolean secure, String namespace, String cluster) { - this.instanceId = instanceId; - this.serviceId = serviceId; - this.host = host; - this.port = port; - this.metadata = metadata; - this.secure = secure; - this.uri = createUri(secure ? HTTPS : HTTP, host, port); - this.namespace = namespace; - this.cluster = cluster; - } - - // Allows for deserialization - public KubernetesServiceInstance() { - } - - @Override - public String getInstanceId() { - return this.instanceId; - } - - @Override - public String getServiceId() { - return this.serviceId; - } - - @Override - public String getHost() { - return this.host; - } - - @Override - public int getPort() { - return this.port; - } - - @Override - public boolean isSecure() { - return this.secure; - } - - @Override - public URI getUri() { - return uri; - } - - public Map getMetadata() { - return this.metadata; - } - - @Override - public String getScheme() { - return isSecure() ? HTTPS : HTTP; - } - - private URI createUri(String scheme, String host, int port) { - return URI.create(scheme + "://" + host + ":" + port); - } - - public String getNamespace() { - return namespace != null ? namespace : this.metadata.get(NAMESPACE_METADATA_KEY); - } - - public String getCluster() { - return this.cluster; - } - - public void setInstanceId(String instanceId) { - this.instanceId = instanceId; - } - - public void setServiceId(String serviceId) { - this.serviceId = serviceId; - } - - public void setHost(String host) { - this.host = host; - } - - public void setPort(int port) { - this.port = port; - } - - public void setUri(URI uri) { - this.uri = uri; - } - - public void setSecure(Boolean secure) { - this.secure = secure; - } - - public void setMetadata(Map metadata) { - this.metadata = metadata; - } - - public void setNamespace(String namespace) { - this.namespace = namespace; - } - - public void setCluster(String cluster) { - this.cluster = cluster; - } - - public Boolean getSecure() { - return secure; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - KubernetesServiceInstance that = (KubernetesServiceInstance) o; - return port == that.port && Objects.equals(instanceId, that.instanceId) - && Objects.equals(serviceId, that.serviceId) && Objects.equals(host, that.host) - && Objects.equals(uri, that.uri) && Objects.equals(secure, that.secure) - && Objects.equals(metadata, that.metadata) && Objects.equals(getNamespace(), that.getNamespace()) - && Objects.equals(cluster, that.cluster); - } - - @Override - public String toString() { - ToStringCreator creator = new ToStringCreator(this); - creator.append("instanceId", instanceId); - creator.append("serviceId", serviceId); - creator.append("host", host); - creator.append("port", port); - creator.append("uri", uri); - creator.append("secure", secure); - creator.append("namespace", getNamespace()); - creator.append("cluster", cluster); - creator.append("metadata", metadata); - - return creator.toString(); - } - - @Override - public int hashCode() { - return Objects.hash(instanceId, serviceId, host, port, uri, secure, getNamespace(), cluster, metadata); - } + String getCluster(); } diff --git a/spring-cloud-kubernetes-commons/src/test/java/org/springframework/cloud/kubernetes/commons/discovery/KubernetesServiceInstanceTests.java b/spring-cloud-kubernetes-commons/src/test/java/org/springframework/cloud/kubernetes/commons/discovery/KubernetesServiceInstanceTests.java new file mode 100644 index 00000000..9a06cafe --- /dev/null +++ b/spring-cloud-kubernetes-commons/src/test/java/org/springframework/cloud/kubernetes/commons/discovery/KubernetesServiceInstanceTests.java @@ -0,0 +1,89 @@ +/* + * Copyright 2013-2022 the original author or authors. + * + * Licensed 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 + * + * https://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.springframework.cloud.kubernetes.commons.discovery; + +import java.net.URI; +import java.util.Collections; +import java.util.Map; + +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThat; + +/** + * @author wind57 + */ +class KubernetesServiceInstanceTests { + + @Test + void testFirstConstructor() { + DefaultKubernetesServiceInstance instance = new DefaultKubernetesServiceInstance("instanceId", "serviceId", + "host", 8080, Map.of("k8s_namespace", "spring-k8s"), true); + + assertThat(instance.getInstanceId()).isEqualTo("instanceId"); + assertThat(instance.getServiceId()).isEqualTo("serviceId"); + assertThat(instance.getHost()).isEqualTo("host"); + assertThat(instance.getPort()).isEqualTo(8080); + assertThat(instance.isSecure()).isTrue(); + assertThat(instance.getUri()).isEqualTo(URI.create("https://host:8080")); + assertThat(instance.getMetadata()).isEqualTo(Map.of("k8s_namespace", "spring-k8s")); + assertThat(instance.getScheme()).isEqualTo("https"); + assertThat(instance.getNamespace()).isEqualTo("spring-k8s"); + assertThat(instance.getCluster()).isNull(); + } + + @Test + void testSecondConstructor() { + DefaultKubernetesServiceInstance instance = new DefaultKubernetesServiceInstance("instanceId", "serviceId", + "host", 8080, Map.of("a", "b"), true, "spring-k8s", "cluster"); + + assertThat(instance.getInstanceId()).isEqualTo("instanceId"); + assertThat(instance.getServiceId()).isEqualTo("serviceId"); + assertThat(instance.getHost()).isEqualTo("host"); + assertThat(instance.getPort()).isEqualTo(8080); + assertThat(instance.isSecure()).isTrue(); + assertThat(instance.getUri()).isEqualTo(URI.create("https://host:8080")); + assertThat(instance.getMetadata()).isEqualTo(Map.of("a", "b")); + assertThat(instance.getScheme()).isEqualTo("https"); + assertThat(instance.getNamespace()).isEqualTo("spring-k8s"); + assertThat(instance.getCluster()).isEqualTo("cluster"); + } + + @Test + void schemeIsHttp() { + assertServiceInstance(false); + } + + @Test + void schemeIsHttps() { + assertServiceInstance(true); + } + + private DefaultKubernetesServiceInstance assertServiceInstance(boolean secure) { + DefaultKubernetesServiceInstance instance = new DefaultKubernetesServiceInstance("123", "myservice", "1.2.3.4", + 8080, Collections.emptyMap(), secure); + + assertThat(instance.getInstanceId()).isEqualTo("123"); + assertThat(instance.getServiceId()).isEqualTo("myservice"); + assertThat(instance.getHost()).isEqualTo("1.2.3.4"); + assertThat(instance.getPort()).isEqualTo(8080); + assertThat(instance.isSecure()).isEqualTo(secure); + assertThat(instance.getScheme()).isEqualTo(secure ? "https" : "http"); + return instance; + } + +} diff --git a/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/HttpBasedConfigMapWatchChangeDetectorTests.java b/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/HttpBasedConfigMapWatchChangeDetectorTests.java index dae0ad60..8ea4b56c 100644 --- a/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/HttpBasedConfigMapWatchChangeDetectorTests.java +++ b/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/HttpBasedConfigMapWatchChangeDetectorTests.java @@ -48,7 +48,7 @@ import org.springframework.cloud.kubernetes.client.discovery.reactive.Kubernetes import org.springframework.cloud.kubernetes.commons.KubernetesNamespaceProvider; import org.springframework.cloud.kubernetes.commons.config.reload.ConfigReloadProperties; import org.springframework.cloud.kubernetes.commons.config.reload.ConfigurationUpdateStrategy; -import org.springframework.cloud.kubernetes.commons.discovery.KubernetesServiceInstance; +import org.springframework.cloud.kubernetes.commons.discovery.DefaultKubernetesServiceInstance; import org.springframework.mock.env.MockEnvironment; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.web.reactive.function.client.WebClient; @@ -162,7 +162,7 @@ class HttpBasedConfigMapWatchChangeDetectorTests { V1EndpointPort fooEndpointPort = new V1EndpointPort(); fooEndpointPort.setPort(port); List instances = new ArrayList<>(); - KubernetesServiceInstance fooServiceInstance = new KubernetesServiceInstance("foo", "foo", + DefaultKubernetesServiceInstance fooServiceInstance = new DefaultKubernetesServiceInstance("foo", "foo", fooEndpointAddress.getIp(), fooEndpointPort.getPort(), metadata, false); instances.add(fooServiceInstance); when(reactiveDiscoveryClient.getInstances(eq("foo"))).thenReturn(Flux.fromIterable(instances)); @@ -187,7 +187,7 @@ class HttpBasedConfigMapWatchChangeDetectorTests { fooEndpointPort.setPort(WIRE_MOCK_SERVER.port()); List instances = new ArrayList<>(); - KubernetesServiceInstance fooServiceInstance = new KubernetesServiceInstance("foo", "foo", + DefaultKubernetesServiceInstance fooServiceInstance = new DefaultKubernetesServiceInstance("foo", "foo", fooEndpointAddress.getIp(), fooEndpointPort.getPort(), new HashMap<>(), false); instances.add(fooServiceInstance); when(reactiveDiscoveryClient.getInstances(eq("foo"))).thenReturn(Flux.fromIterable(instances)); diff --git a/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/HttpBasedSecretsWatchChangeDetectorTests.java b/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/HttpBasedSecretsWatchChangeDetectorTests.java index 210ee52a..f4813df3 100644 --- a/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/HttpBasedSecretsWatchChangeDetectorTests.java +++ b/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/HttpBasedSecretsWatchChangeDetectorTests.java @@ -48,7 +48,7 @@ import org.springframework.cloud.kubernetes.client.discovery.reactive.Kubernetes import org.springframework.cloud.kubernetes.commons.KubernetesNamespaceProvider; import org.springframework.cloud.kubernetes.commons.config.reload.ConfigReloadProperties; import org.springframework.cloud.kubernetes.commons.config.reload.ConfigurationUpdateStrategy; -import org.springframework.cloud.kubernetes.commons.discovery.KubernetesServiceInstance; +import org.springframework.cloud.kubernetes.commons.discovery.DefaultKubernetesServiceInstance; import org.springframework.mock.env.MockEnvironment; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.web.reactive.function.client.WebClient; @@ -156,7 +156,7 @@ class HttpBasedSecretsWatchChangeDetectorTests { V1EndpointPort fooEndpointPort = new V1EndpointPort(); fooEndpointPort.setPort(WIRE_MOCK_SERVER.port()); List instances = new ArrayList<>(); - KubernetesServiceInstance fooServiceInstance = new KubernetesServiceInstance("foo", "foo", + DefaultKubernetesServiceInstance fooServiceInstance = new DefaultKubernetesServiceInstance("foo", "foo", fooEndpointAddress.getIp(), fooEndpointPort.getPort(), metadata, false); instances.add(fooServiceInstance); when(reactiveDiscoveryClient.getInstances(eq("foo"))).thenReturn(Flux.fromIterable(instances)); @@ -177,7 +177,7 @@ class HttpBasedSecretsWatchChangeDetectorTests { V1EndpointPort fooEndpointPort = new V1EndpointPort(); fooEndpointPort.setPort(WIRE_MOCK_SERVER.port()); List instances = new ArrayList<>(); - KubernetesServiceInstance fooServiceInstance = new KubernetesServiceInstance("foo", "foo", + DefaultKubernetesServiceInstance fooServiceInstance = new DefaultKubernetesServiceInstance("foo", "foo", fooEndpointAddress.getIp(), fooEndpointPort.getPort(), new HashMap<>(), false); instances.add(fooServiceInstance); when(reactiveDiscoveryClient.getInstances(eq("foo"))).thenReturn(Flux.fromIterable(instances)); diff --git a/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClient.java b/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClient.java index e36d9034..bd37ad0d 100644 --- a/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClient.java +++ b/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClient.java @@ -34,8 +34,8 @@ import org.apache.commons.logging.LogFactory; import org.springframework.cloud.client.ServiceInstance; import org.springframework.cloud.client.discovery.DiscoveryClient; +import org.springframework.cloud.kubernetes.commons.discovery.DefaultKubernetesServiceInstance; import org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryProperties; -import org.springframework.cloud.kubernetes.commons.discovery.KubernetesServiceInstance; import org.springframework.expression.Expression; import org.springframework.expression.spel.standard.SpelExpressionParser; import org.springframework.expression.spel.support.SimpleEvaluationContext; @@ -178,7 +178,7 @@ public class KubernetesDiscoveryClient implements DiscoveryClient { if (endpointAddress.getTargetRef() != null) { instanceId = endpointAddress.getTargetRef().getUid(); } - instances.add(new KubernetesServiceInstance(instanceId, serviceId, endpointAddress.getIp(), + instances.add(new DefaultKubernetesServiceInstance(instanceId, serviceId, endpointAddress.getIp(), endpointPort, endpointMetadata, this.servicePortSecureResolver.resolve(new ServicePortSecureResolver.Input(endpointPort, service.getMetadata().getName(), service.getMetadata().getLabels(), diff --git a/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesServiceInstanceTests.java b/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesServiceInstanceTests.java deleted file mode 100644 index 32087578..00000000 --- a/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesServiceInstanceTests.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright 2013-2020 the original author or authors. - * - * Licensed 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 - * - * https://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.springframework.cloud.kubernetes.fabric8.discovery; - -import java.util.Collections; - -import io.fabric8.kubernetes.api.model.EndpointAddress; -import io.fabric8.kubernetes.api.model.EndpointPort; -import org.junit.Test; - -import org.springframework.cloud.kubernetes.commons.discovery.KubernetesServiceInstance; - -import static org.assertj.core.api.Assertions.assertThat; - -public class KubernetesServiceInstanceTests { - - @Test - public void schemeIsHttp() { - assertServiceInstance(false); - } - - private KubernetesServiceInstance assertServiceInstance(boolean secure) { - EndpointAddress address = new EndpointAddress(); - address.setIp("1.2.3.4"); - EndpointPort port = new EndpointPort(); - port.setPort(8080); - KubernetesServiceInstance instance = new KubernetesServiceInstance("123", "myservice", address.getIp(), - port.getPort(), Collections.emptyMap(), secure); - - assertThat(instance.getInstanceId()).isEqualTo("123"); - assertThat(instance.getServiceId()).isEqualTo("myservice"); - assertThat(instance.getHost()).isEqualTo("1.2.3.4"); - assertThat(instance.getPort()).isEqualTo(8080); - assertThat(instance.isSecure()).isEqualTo(secure); - assertThat(instance.getScheme()).isEqualTo(secure ? "https" : "http"); - return instance; - } - - @Test - public void schemeIsHttps() { - assertServiceInstance(true); - } - -} diff --git a/spring-cloud-kubernetes-fabric8-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/fabric8/loadbalancer/Fabric8ServiceInstanceMapper.java b/spring-cloud-kubernetes-fabric8-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/fabric8/loadbalancer/Fabric8ServiceInstanceMapper.java index 5fe0d5a1..2b3ac47f 100644 --- a/spring-cloud-kubernetes-fabric8-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/fabric8/loadbalancer/Fabric8ServiceInstanceMapper.java +++ b/spring-cloud-kubernetes-fabric8-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/fabric8/loadbalancer/Fabric8ServiceInstanceMapper.java @@ -26,6 +26,7 @@ import io.fabric8.kubernetes.api.model.Service; import io.fabric8.kubernetes.api.model.ServicePort; import io.fabric8.kubernetes.client.utils.Utils; +import org.springframework.cloud.kubernetes.commons.discovery.DefaultKubernetesServiceInstance; import org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryProperties; import org.springframework.cloud.kubernetes.commons.discovery.KubernetesServiceInstance; import org.springframework.cloud.kubernetes.commons.loadbalancer.KubernetesLoadBalancerProperties; @@ -70,7 +71,7 @@ public class Fabric8ServiceInstanceMapper implements KubernetesServiceInstanceMa service.getMetadata().getNamespace(), properties.getClusterDomain()); final boolean secure = KubernetesServiceInstanceMapper.isSecure(service.getMetadata().getLabels(), service.getMetadata().getAnnotations(), port.getName(), port.getPort()); - return new KubernetesServiceInstance(meta.getUid(), meta.getName(), host, port.getPort(), + return new DefaultKubernetesServiceInstance(meta.getUid(), meta.getName(), host, port.getPort(), getServiceMetadata(service), secure); } diff --git a/spring-cloud-kubernetes-fabric8-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/fabric8/loadbalancer/KubernetesServiceListSupplierTests.java b/spring-cloud-kubernetes-fabric8-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/fabric8/loadbalancer/KubernetesServiceListSupplierTests.java index b3ce577a..3f73f86d 100644 --- a/spring-cloud-kubernetes-fabric8-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/fabric8/loadbalancer/KubernetesServiceListSupplierTests.java +++ b/spring-cloud-kubernetes-fabric8-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/fabric8/loadbalancer/KubernetesServiceListSupplierTests.java @@ -33,8 +33,8 @@ import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.cloud.client.ServiceInstance; +import org.springframework.cloud.kubernetes.commons.discovery.DefaultKubernetesServiceInstance; import org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryProperties; -import org.springframework.cloud.kubernetes.commons.discovery.KubernetesServiceInstance; import org.springframework.cloud.kubernetes.commons.loadbalancer.KubernetesServicesListSupplier; import org.springframework.core.env.Environment; @@ -68,7 +68,8 @@ class KubernetesServiceListSupplierTests { @Test void testPositiveMatch() { when(environment.getProperty("loadbalancer.client.name")).thenReturn("test-service"); - when(mapper.map(any(Service.class))).thenReturn(new KubernetesServiceInstance("", "", "", 0, null, false)); + when(mapper.map(any(Service.class))) + .thenReturn(new DefaultKubernetesServiceInstance("", "", "", 0, null, false)); when(this.client.getNamespace()).thenReturn("test"); when(this.client.services()).thenReturn(this.serviceOperation); when(this.serviceOperation.inNamespace("test")).thenReturn(namespaceOperation); @@ -84,7 +85,8 @@ class KubernetesServiceListSupplierTests { @Test void testPositiveMatchAllNamespaces() { when(environment.getProperty("loadbalancer.client.name")).thenReturn("test-service"); - when(mapper.map(any(Service.class))).thenReturn(new KubernetesServiceInstance("", "", "", 0, null, false)); + when(mapper.map(any(Service.class))) + .thenReturn(new DefaultKubernetesServiceInstance("", "", "", 0, null, false)); when(this.client.services()).thenReturn(this.serviceOperation); when(this.serviceOperation.inAnyNamespace()).thenReturn(this.multiDeletable); when(this.multiDeletable.withField("metadata.name", "test-service")).thenReturn(this.multiDeletable); From 60dbf7c3059066a34878e80b8acbc3afb84328ec Mon Sep 17 00:00:00 2001 From: buildmaster Date: Thu, 29 Sep 2022 04:01:54 +0000 Subject: [PATCH 08/13] Bumping versions --- docs/src/main/asciidoc/_configprops.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/src/main/asciidoc/_configprops.adoc b/docs/src/main/asciidoc/_configprops.adoc index e23dcdec..f79374e2 100644 --- a/docs/src/main/asciidoc/_configprops.adoc +++ b/docs/src/main/asciidoc/_configprops.adoc @@ -80,13 +80,13 @@ |spring.cloud.kubernetes.discovery.wait-cache-ready | `+++true+++` | |spring.cloud.kubernetes.leader.auto-startup | `+++true+++` | Should leader election be started automatically on startup. Default: true |spring.cloud.kubernetes.leader.config-map-name | `+++leaders+++` | Kubernetes ConfigMap where leaders information will be stored. Default: leaders +|spring.cloud.kubernetes.leader.create-config-map | `+++true+++` | Enable/disable creating ConfigMap if it does not exist. Default: true |spring.cloud.kubernetes.leader.enabled | `+++true+++` | Should leader election be enabled. Default: true |spring.cloud.kubernetes.leader.leader-id-prefix | `+++leader.id.+++` | Leader id property prefix for the ConfigMap. Default: leader.id. |spring.cloud.kubernetes.leader.namespace | | Kubernetes namespace where the leaders ConfigMap and candidates are located. |spring.cloud.kubernetes.leader.publish-failed-events | `+++false+++` | Enable/disable publishing events in case leadership acquisition fails. Default: false |spring.cloud.kubernetes.leader.role | | Role for which leadership this candidate will compete. |spring.cloud.kubernetes.leader.update-period | `+++60000ms+++` | Leadership status check period. Default: 60s -|spring.cloud.kubernetes.leader.create-config-map | `+++true+++` | Enable/disable creating ConfigMap if it does not exist. Default: true |spring.cloud.kubernetes.loadbalancer.cluster-domain | `+++cluster.local+++` | cluster domain. |spring.cloud.kubernetes.loadbalancer.enabled | `+++true+++` | Load balancer enabled,default true. |spring.cloud.kubernetes.loadbalancer.mode | | {@link KubernetesLoadBalancerMode} setting load balancer server list with ip of pod or service name. default value is POD. @@ -116,4 +116,4 @@ |spring.cloud.kubernetes.secrets.sources | | |spring.cloud.kubernetes.secrets.use-name-as-prefix | `+++false+++` | -|=== +|=== \ No newline at end of file From a304c7787ee4ea40109d0cde88895a5888291580 Mon Sep 17 00:00:00 2001 From: erabii Date: Thu, 29 Sep 2022 17:15:02 +0300 Subject: [PATCH 09/13] Refactor Metadata to a record (#1092) --- .../KubernetesInformerDiscoveryClient.java | 14 +-- ...KubernetesClientServiceInstanceMapper.java | 10 +- .../KubernetesDiscoveryProperties.java | 105 +++--------------- ...netesDiscoveryPropertiesMetadataTests.java | 63 +++++++++++ .../discovery/KubernetesDiscoveryClient.java | 12 +- ...etesDiscoveryClientFilterMetadataTest.java | 58 +++------- .../KubernetesDiscoveryClientTest.java | 9 +- ...ubernetesReactiveDiscoveryClientTests.java | 10 +- .../Fabric8ServiceInstanceMapper.java | 10 +- 9 files changed, 129 insertions(+), 162 deletions(-) create mode 100644 spring-cloud-kubernetes-commons/src/test/java/org/springframework/cloud/kubernetes/commons/discovery/KubernetesDiscoveryPropertiesMetadataTests.java diff --git a/spring-cloud-kubernetes-client-discovery/src/main/java/org/springframework/cloud/kubernetes/client/discovery/KubernetesInformerDiscoveryClient.java b/spring-cloud-kubernetes-client-discovery/src/main/java/org/springframework/cloud/kubernetes/client/discovery/KubernetesInformerDiscoveryClient.java index 747d22ad..17ca176d 100644 --- a/spring-cloud-kubernetes-client-discovery/src/main/java/org/springframework/cloud/kubernetes/client/discovery/KubernetesInformerDiscoveryClient.java +++ b/spring-cloud-kubernetes-client-discovery/src/main/java/org/springframework/cloud/kubernetes/client/discovery/KubernetesInformerDiscoveryClient.java @@ -107,19 +107,19 @@ public class KubernetesInformerDiscoveryClient implements DiscoveryClient, Initi Map svcMetadata = new HashMap<>(); if (this.properties.getMetadata() != null) { - if (this.properties.getMetadata().isAddLabels()) { + if (this.properties.getMetadata().addLabels()) { if (service.getMetadata() != null && service.getMetadata().getLabels() != null) { - String labelPrefix = this.properties.getMetadata().getLabelsPrefix() != null - ? this.properties.getMetadata().getLabelsPrefix() : ""; + String labelPrefix = this.properties.getMetadata().labelsPrefix() != null + ? this.properties.getMetadata().labelsPrefix() : ""; service.getMetadata().getLabels().entrySet().stream() .filter(e -> e.getKey().startsWith(labelPrefix)) .forEach(e -> svcMetadata.put(e.getKey(), e.getValue())); } } - if (this.properties.getMetadata().isAddAnnotations()) { + if (this.properties.getMetadata().addAnnotations()) { if (service.getMetadata() != null && service.getMetadata().getAnnotations() != null) { - String annotationPrefix = this.properties.getMetadata().getAnnotationsPrefix() != null - ? this.properties.getMetadata().getAnnotationsPrefix() : ""; + String annotationPrefix = this.properties.getMetadata().annotationsPrefix() != null + ? this.properties.getMetadata().annotationsPrefix() : ""; service.getMetadata().getAnnotations().entrySet().stream() .filter(e -> e.getKey().startsWith(annotationPrefix)) .forEach(e -> svcMetadata.put(e.getKey(), e.getValue())); @@ -145,7 +145,7 @@ public class KubernetesInformerDiscoveryClient implements DiscoveryClient, Initi .flatMap(subset -> { Map metadata = new HashMap<>(svcMetadata); List endpointPorts = subset.getPorts(); - if (this.properties.getMetadata() != null && this.properties.getMetadata().isAddPorts()) { + if (this.properties.getMetadata() != null && this.properties.getMetadata().addPorts()) { endpointPorts.forEach(p -> metadata.put(p.getName(), Integer.toString(p.getPort()))); } List addresses = subset.getAddresses(); diff --git a/spring-cloud-kubernetes-client-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/client/loadbalancer/KubernetesClientServiceInstanceMapper.java b/spring-cloud-kubernetes-client-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/client/loadbalancer/KubernetesClientServiceInstanceMapper.java index f2f2aedd..07bd330e 100644 --- a/spring-cloud-kubernetes-client-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/client/loadbalancer/KubernetesClientServiceInstanceMapper.java +++ b/spring-cloud-kubernetes-client-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/client/loadbalancer/KubernetesClientServiceInstanceMapper.java @@ -77,14 +77,14 @@ public class KubernetesClientServiceInstanceMapper implements KubernetesServiceI private Map getServiceMetadata(V1Service service) { final Map serviceMetadata = new HashMap<>(); KubernetesDiscoveryProperties.Metadata metadataProps = this.discoveryProperties.getMetadata(); - if (metadataProps.isAddLabels()) { + if (metadataProps.addLabels()) { Map labelMetadata = KubernetesServiceInstanceMapper - .getMapWithPrefixedKeys(service.getMetadata().getLabels(), metadataProps.getLabelsPrefix()); + .getMapWithPrefixedKeys(service.getMetadata().getLabels(), metadataProps.labelsPrefix()); serviceMetadata.putAll(labelMetadata); } - if (metadataProps.isAddAnnotations()) { - Map annotationMetadata = KubernetesServiceInstanceMapper.getMapWithPrefixedKeys( - service.getMetadata().getAnnotations(), metadataProps.getAnnotationsPrefix()); + if (metadataProps.addAnnotations()) { + Map annotationMetadata = KubernetesServiceInstanceMapper + .getMapWithPrefixedKeys(service.getMetadata().getAnnotations(), metadataProps.annotationsPrefix()); serviceMetadata.putAll(annotationMetadata); } 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 6b1f6277..2058c4fc 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 @@ -24,6 +24,8 @@ import java.util.stream.Collectors; import java.util.stream.Stream; import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.boot.context.properties.ConstructorBinding; +import org.springframework.boot.context.properties.bind.DefaultValue; import org.springframework.core.style.ToStringCreator; import static org.springframework.cloud.client.discovery.DiscoveryClient.DEFAULT_ORDER; @@ -175,100 +177,25 @@ public class KubernetesDiscoveryProperties { } /** - * Metadata properties. + * @param addLabels include labels as metadata + * @param labelsPrefix prefix for the labels + * @param addAnnotations include annotations as metadata + * @param annotationsPrefix prefix for the annotations + * @param addPorts include ports as metadata + * @param portsPrefix prefix for the ports, by default it is "port." */ - public static class Metadata { + public record Metadata(@DefaultValue("true") boolean addLabels, String labelsPrefix, + @DefaultValue("true") boolean addAnnotations, String annotationsPrefix, + @DefaultValue("true") boolean addPorts, @DefaultValue("port.") String portsPrefix) { - /** - * When set, the Kubernetes labels of the services will be included as metadata of - * the returned ServiceInstance. - */ - private boolean addLabels = true; + @ConstructorBinding + public Metadata { - /** - * When addLabels is set, then this will be used as a prefix to the key names in - * the metadata map. - */ - private String labelsPrefix; - - /** - * When set, the Kubernetes annotations of the services will be included as - * metadata of the returned ServiceInstance. - */ - private boolean addAnnotations = true; - - /** - * When addAnnotations is set, then this will be used as a prefix to the key names - * in the metadata map. - */ - private String annotationsPrefix; - - /** - * When set, any named Kubernetes service ports will be included as metadata of - * the returned ServiceInstance. - */ - private boolean addPorts = true; - - /** - * When addPorts is set, then this will be used as a prefix to the key names in - * the metadata map. - */ - private String portsPrefix = "port."; - - public boolean isAddLabels() { - return this.addLabels; } - public void setAddLabels(boolean addLabels) { - this.addLabels = addLabels; - } - - public String getLabelsPrefix() { - return this.labelsPrefix; - } - - public void setLabelsPrefix(String labelsPrefix) { - this.labelsPrefix = labelsPrefix; - } - - public boolean isAddAnnotations() { - return this.addAnnotations; - } - - public void setAddAnnotations(boolean addAnnotations) { - this.addAnnotations = addAnnotations; - } - - public String getAnnotationsPrefix() { - return this.annotationsPrefix; - } - - public void setAnnotationsPrefix(String annotationsPrefix) { - this.annotationsPrefix = annotationsPrefix; - } - - public boolean isAddPorts() { - return this.addPorts; - } - - public void setAddPorts(boolean addPorts) { - this.addPorts = addPorts; - } - - public String getPortsPrefix() { - return this.portsPrefix; - } - - public void setPortsPrefix(String portsPrefix) { - this.portsPrefix = portsPrefix; - } - - @Override - public String toString() { - return new ToStringCreator(this).append("addLabels", this.addLabels) - .append("labelsPrefix", this.labelsPrefix).append("addAnnotations", this.addAnnotations) - .append("annotationsPrefix", this.annotationsPrefix).append("addPorts", this.addPorts) - .append("portsPrefix", this.portsPrefix).toString(); + // needed in order to get the defaults for some fields + public Metadata() { + this(true, null, true, null, true, "port."); } } diff --git a/spring-cloud-kubernetes-commons/src/test/java/org/springframework/cloud/kubernetes/commons/discovery/KubernetesDiscoveryPropertiesMetadataTests.java b/spring-cloud-kubernetes-commons/src/test/java/org/springframework/cloud/kubernetes/commons/discovery/KubernetesDiscoveryPropertiesMetadataTests.java new file mode 100644 index 00000000..a55a4eda --- /dev/null +++ b/spring-cloud-kubernetes-commons/src/test/java/org/springframework/cloud/kubernetes/commons/discovery/KubernetesDiscoveryPropertiesMetadataTests.java @@ -0,0 +1,63 @@ +/* + * Copyright 2013-2022 the original author or authors. + * + * Licensed 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 + * + * https://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.springframework.cloud.kubernetes.commons.discovery; + +import org.junit.jupiter.api.Test; + +import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.boot.test.context.runner.ApplicationContextRunner; +import org.springframework.context.annotation.Configuration; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryProperties.Metadata; + +/** + * @author wind57 + */ +class KubernetesDiscoveryPropertiesMetadataTests { + + @Test + void testDefaultConstructor() { + Metadata m = new Metadata(); + assertThat(m.addLabels()).isTrue(); + assertThat(m.labelsPrefix()).isNull(); + assertThat(m.addAnnotations()).isTrue(); + assertThat(m.annotationsPrefix()).isNull(); + assertThat(m.addPorts()).isTrue(); + assertThat(m.portsPrefix()).isEqualTo("port."); + } + + @Test + void testSpringBindingFields() { + new ApplicationContextRunner().withUserConfiguration(Config.class) + .withPropertyValues("spring.cloud.kubernetes.discovery.metadata.labelsPrefix=labelsPrefix") + .run(context -> { + KubernetesDiscoveryProperties props = context.getBean(KubernetesDiscoveryProperties.class); + assertThat(props).isNotNull(); + assertThat(props.getMetadata().labelsPrefix()).isEqualTo("labelsPrefix"); + assertThat(props.getMetadata().addPorts()).isTrue(); + assertThat(props.getMetadata().portsPrefix()).isEqualTo("port."); + }); + } + + @Configuration + @EnableConfigurationProperties(KubernetesDiscoveryProperties.class) + static class Config { + + } + +} diff --git a/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClient.java b/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClient.java index bd37ad0d..65cc91d9 100644 --- a/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClient.java +++ b/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClient.java @@ -147,11 +147,11 @@ public class KubernetesDiscoveryClient implements DiscoveryClient { // Extend the service metadata map with per-endpoint port information (if // requested) Map endpointMetadata = new HashMap<>(serviceMetadata); - if (metadataProps.isAddPorts()) { + if (metadataProps.addPorts()) { Map ports = s.getPorts().stream() .filter(port -> StringUtils.hasText(port.getName())) .collect(toMap(EndpointPort::getName, port -> Integer.toString(port.getPort()))); - Map portMetadata = getMapWithPrefixedKeys(ports, metadataProps.getPortsPrefix()); + Map portMetadata = getMapWithPrefixedKeys(ports, metadataProps.portsPrefix()); if (log.isDebugEnabled()) { log.debug("Adding port metadata: " + portMetadata); } @@ -193,17 +193,17 @@ public class KubernetesDiscoveryClient implements DiscoveryClient { private Map getServiceMetadata(Service service) { final Map serviceMetadata = new HashMap<>(); KubernetesDiscoveryProperties.Metadata metadataProps = this.properties.getMetadata(); - if (metadataProps.isAddLabels()) { + if (metadataProps.addLabels()) { Map labelMetadata = getMapWithPrefixedKeys(service.getMetadata().getLabels(), - metadataProps.getLabelsPrefix()); + metadataProps.labelsPrefix()); if (log.isDebugEnabled()) { log.debug("Adding label metadata: " + labelMetadata); } serviceMetadata.putAll(labelMetadata); } - if (metadataProps.isAddAnnotations()) { + if (metadataProps.addAnnotations()) { Map annotationMetadata = getMapWithPrefixedKeys(service.getMetadata().getAnnotations(), - metadataProps.getAnnotationsPrefix()); + metadataProps.annotationsPrefix()); if (log.isDebugEnabled()) { log.debug("Adding annotation metadata: " + annotationMetadata); } diff --git a/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClientFilterMetadataTest.java b/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClientFilterMetadataTest.java index ec4b0dec..acbdf0bb 100644 --- a/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClientFilterMetadataTest.java +++ b/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClientFilterMetadataTest.java @@ -54,6 +54,7 @@ import static org.mockito.ArgumentMatchers.anyMap; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.when; +import static org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryProperties.Metadata; @RunWith(MockitoJUnitRunner.class) public class KubernetesDiscoveryClientFilterMetadataTest { @@ -67,9 +68,6 @@ public class KubernetesDiscoveryClientFilterMetadataTest { @Mock private ServicePortSecureResolver isServicePortSecureResolver; - @Mock - private KubernetesDiscoveryProperties.Metadata metadata; - @Mock private MixedOperation> serviceOperation; @@ -92,10 +90,8 @@ public class KubernetesDiscoveryClientFilterMetadataTest { public void testAllExtraMetadataDisabled() { final String serviceId = "s"; - when(this.properties.getMetadata()).thenReturn(this.metadata); - when(this.metadata.isAddLabels()).thenReturn(false); - when(this.metadata.isAddAnnotations()).thenReturn(false); - when(this.metadata.isAddPorts()).thenReturn(false); + Metadata metadata = new Metadata(false, null, false, null, false, null); + when(this.properties.getMetadata()).thenReturn(metadata); setupServiceWithLabelsAndAnnotationsAndPorts(serviceId, "ns", new HashMap() { { @@ -121,10 +117,8 @@ public class KubernetesDiscoveryClientFilterMetadataTest { public void testLabelsEnabled() { final String serviceId = "s"; - when(this.properties.getMetadata()).thenReturn(this.metadata); - when(this.metadata.isAddLabels()).thenReturn(true); - when(this.metadata.isAddAnnotations()).thenReturn(false); - when(this.metadata.isAddPorts()).thenReturn(false); + Metadata metadata = new Metadata(true, null, false, null, false, null); + when(this.properties.getMetadata()).thenReturn(metadata); setupServiceWithLabelsAndAnnotationsAndPorts(serviceId, "ns", new HashMap() { { @@ -151,11 +145,8 @@ public class KubernetesDiscoveryClientFilterMetadataTest { public void testLabelsEnabledWithPrefix() { final String serviceId = "s"; - when(this.properties.getMetadata()).thenReturn(this.metadata); - when(this.metadata.isAddLabels()).thenReturn(true); - when(this.metadata.getLabelsPrefix()).thenReturn("l_"); - when(this.metadata.isAddAnnotations()).thenReturn(false); - when(this.metadata.isAddPorts()).thenReturn(false); + Metadata metadata = new Metadata(true, "l_", false, null, false, null); + when(this.properties.getMetadata()).thenReturn(metadata); setupServiceWithLabelsAndAnnotationsAndPorts(serviceId, "ns", new HashMap() { { @@ -182,10 +173,8 @@ public class KubernetesDiscoveryClientFilterMetadataTest { public void testAnnotationsEnabled() { final String serviceId = "s"; - when(this.properties.getMetadata()).thenReturn(this.metadata); - when(this.metadata.isAddLabels()).thenReturn(false); - when(this.metadata.isAddAnnotations()).thenReturn(true); - when(this.metadata.isAddPorts()).thenReturn(false); + Metadata metadata = new Metadata(false, null, true, null, false, null); + when(this.properties.getMetadata()).thenReturn(metadata); setupServiceWithLabelsAndAnnotationsAndPorts(serviceId, "ns", new HashMap() { { @@ -212,11 +201,8 @@ public class KubernetesDiscoveryClientFilterMetadataTest { public void testAnnotationsEnabledWithPrefix() { final String serviceId = "s"; - when(this.properties.getMetadata()).thenReturn(this.metadata); - when(this.metadata.isAddLabels()).thenReturn(false); - when(this.metadata.isAddAnnotations()).thenReturn(true); - when(this.metadata.getAnnotationsPrefix()).thenReturn("a_"); - when(this.metadata.isAddPorts()).thenReturn(false); + Metadata metadata = new Metadata(false, null, true, "a_", false, null); + when(this.properties.getMetadata()).thenReturn(metadata); setupServiceWithLabelsAndAnnotationsAndPorts(serviceId, "ns", new HashMap() { { @@ -243,10 +229,8 @@ public class KubernetesDiscoveryClientFilterMetadataTest { public void testPortsEnabled() { final String serviceId = "s"; - when(this.properties.getMetadata()).thenReturn(this.metadata); - when(this.metadata.isAddLabels()).thenReturn(false); - when(this.metadata.isAddAnnotations()).thenReturn(false); - when(this.metadata.isAddPorts()).thenReturn(true); + Metadata metadata = new Metadata(false, null, false, null, true, null); + when(this.properties.getMetadata()).thenReturn(metadata); setupServiceWithLabelsAndAnnotationsAndPorts(serviceId, "ns", new HashMap() { { @@ -273,11 +257,8 @@ public class KubernetesDiscoveryClientFilterMetadataTest { public void testPortsEnabledWithPrefix() { final String serviceId = "s"; - when(this.properties.getMetadata()).thenReturn(this.metadata); - when(this.metadata.isAddLabels()).thenReturn(false); - when(this.metadata.isAddAnnotations()).thenReturn(false); - when(this.metadata.isAddPorts()).thenReturn(true); - when(this.metadata.getPortsPrefix()).thenReturn("p_"); + Metadata metadata = new Metadata(false, null, false, null, true, "p_"); + when(this.properties.getMetadata()).thenReturn(metadata); setupServiceWithLabelsAndAnnotationsAndPorts(serviceId, "ns", new HashMap() { { @@ -304,13 +285,8 @@ public class KubernetesDiscoveryClientFilterMetadataTest { public void testLabelsAndAnnotationsAndPortsEnabledWithPrefix() { final String serviceId = "s"; - when(this.properties.getMetadata()).thenReturn(this.metadata); - when(this.metadata.isAddLabels()).thenReturn(true); - when(this.metadata.getLabelsPrefix()).thenReturn("l_"); - when(this.metadata.isAddAnnotations()).thenReturn(true); - when(this.metadata.getAnnotationsPrefix()).thenReturn("a_"); - when(this.metadata.isAddPorts()).thenReturn(true); - when(this.metadata.getPortsPrefix()).thenReturn("p_"); + Metadata metadata = new Metadata(true, "l_", true, "a_", true, "p_"); + when(this.properties.getMetadata()).thenReturn(metadata); setupServiceWithLabelsAndAnnotationsAndPorts(serviceId, "ns", new HashMap() { { diff --git a/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClientTest.java b/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClientTest.java index 42ad1ddb..28fc292f 100644 --- a/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClientTest.java +++ b/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClientTest.java @@ -40,6 +40,7 @@ import org.springframework.cloud.kubernetes.commons.discovery.KubernetesServiceI import org.springframework.test.context.junit.jupiter.SpringExtension; import static org.assertj.core.api.Assertions.assertThat; +import static org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryProperties.Metadata; @ExtendWith(SpringExtension.class) @EnableKubernetesMockClient(crud = true, https = false) @@ -81,9 +82,9 @@ public class KubernetesDiscoveryClientTest { mockClient.services().inNamespace("test").create(service); final KubernetesDiscoveryProperties properties = new KubernetesDiscoveryProperties(); + Metadata metadata = new Metadata(false, null, false, null, true, "port."); properties.setServiceLabels(labels); - properties.getMetadata().setAddLabels(false); - properties.getMetadata().setAddAnnotations(false); + properties.setMetadata(metadata); final DiscoveryClient discoveryClient = new KubernetesDiscoveryClient(mockClient, properties, KubernetesClient::services, new ServicePortSecureResolver(properties)); @@ -167,8 +168,8 @@ public class KubernetesDiscoveryClientTest { final KubernetesDiscoveryProperties properties = new KubernetesDiscoveryProperties(); properties.setServiceLabels(labels); - properties.getMetadata().setAddAnnotations(false); - properties.getMetadata().setAddLabels(false); + Metadata metadata = new Metadata(false, null, false, null, true, "port."); + properties.setMetadata(metadata); final DiscoveryClient discoveryClient = new KubernetesDiscoveryClient(mockClient, properties, KubernetesClient::services, new ServicePortSecureResolver(properties)); diff --git a/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/reactive/KubernetesReactiveDiscoveryClientTests.java b/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/reactive/KubernetesReactiveDiscoveryClientTests.java index 1be42da5..a4365045 100644 --- a/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/reactive/KubernetesReactiveDiscoveryClientTests.java +++ b/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/reactive/KubernetesReactiveDiscoveryClientTests.java @@ -42,6 +42,7 @@ import org.springframework.cloud.kubernetes.fabric8.discovery.support.Kubernetes import static java.util.Collections.singletonList; import static org.assertj.core.api.Assertions.assertThat; +import static org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryProperties.Metadata; /** * @author Tim Ysewyn @@ -180,8 +181,8 @@ class KubernetesReactiveDiscoveryClientTests { .andReturn(200, services.getItems().get(0)).once(); KubernetesDiscoveryProperties properties = new KubernetesDiscoveryProperties(); - properties.getMetadata().setAddAnnotations(false); - properties.getMetadata().setAddLabels(false); + Metadata metadata = new Metadata(false, null, false, null, true, "port."); + properties.setMetadata(metadata); ReactiveDiscoveryClient client = new KubernetesReactiveDiscoveryClient(kubernetesClient, properties, KubernetesClient::services); Flux instances = client.getInstances("existing-service"); @@ -224,9 +225,8 @@ class KubernetesReactiveDiscoveryClientTests { .once(); KubernetesDiscoveryProperties properties = new KubernetesDiscoveryProperties(); - properties.getMetadata().setAnnotationsPrefix("annotation."); - properties.getMetadata().setLabelsPrefix("label."); - properties.getMetadata().setPortsPrefix("port."); + Metadata metadata = new Metadata(true, "label.", true, "annotation.", true, "port."); + properties.setMetadata(metadata); ReactiveDiscoveryClient client = new KubernetesReactiveDiscoveryClient(kubernetesClient, properties, KubernetesClient::services); Flux instances = client.getInstances("existing-service"); diff --git a/spring-cloud-kubernetes-fabric8-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/fabric8/loadbalancer/Fabric8ServiceInstanceMapper.java b/spring-cloud-kubernetes-fabric8-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/fabric8/loadbalancer/Fabric8ServiceInstanceMapper.java index 2b3ac47f..8ca53c99 100644 --- a/spring-cloud-kubernetes-fabric8-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/fabric8/loadbalancer/Fabric8ServiceInstanceMapper.java +++ b/spring-cloud-kubernetes-fabric8-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/fabric8/loadbalancer/Fabric8ServiceInstanceMapper.java @@ -78,14 +78,14 @@ public class Fabric8ServiceInstanceMapper implements KubernetesServiceInstanceMa private Map getServiceMetadata(Service service) { final Map serviceMetadata = new HashMap<>(); KubernetesDiscoveryProperties.Metadata metadataProps = this.discoveryProperties.getMetadata(); - if (metadataProps.isAddLabels()) { + if (metadataProps.addLabels()) { Map labelMetadata = KubernetesServiceInstanceMapper - .getMapWithPrefixedKeys(service.getMetadata().getLabels(), metadataProps.getLabelsPrefix()); + .getMapWithPrefixedKeys(service.getMetadata().getLabels(), metadataProps.labelsPrefix()); serviceMetadata.putAll(labelMetadata); } - if (metadataProps.isAddAnnotations()) { - Map annotationMetadata = KubernetesServiceInstanceMapper.getMapWithPrefixedKeys( - service.getMetadata().getAnnotations(), metadataProps.getAnnotationsPrefix()); + if (metadataProps.addAnnotations()) { + Map annotationMetadata = KubernetesServiceInstanceMapper + .getMapWithPrefixedKeys(service.getMetadata().getAnnotations(), metadataProps.annotationsPrefix()); serviceMetadata.putAll(annotationMetadata); } From 271be52c5247d1cb29a4642e0e3270dedb202265 Mon Sep 17 00:00:00 2001 From: buildmaster Date: Fri, 30 Sep 2022 03:52:18 +0000 Subject: [PATCH 10/13] Bumping versions --- docs/src/main/asciidoc/_configprops.adoc | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/src/main/asciidoc/_configprops.adoc b/docs/src/main/asciidoc/_configprops.adoc index f79374e2..7842beb8 100644 --- a/docs/src/main/asciidoc/_configprops.adoc +++ b/docs/src/main/asciidoc/_configprops.adoc @@ -68,12 +68,12 @@ |spring.cloud.kubernetes.discovery.filter | | SpEL expression to filter services AFTER they have been retrieved from the Kubernetes API server. |spring.cloud.kubernetes.discovery.include-not-ready-addresses | `+++false+++` | If endpoint addresses not marked 'ready' by the k8s api server should be discovered. |spring.cloud.kubernetes.discovery.known-secure-ports | | Set the port numbers that are considered secure and use HTTPS. -|spring.cloud.kubernetes.discovery.metadata.add-annotations | `+++true+++` | When set, the Kubernetes annotations of the services will be included as metadata of the returned ServiceInstance. -|spring.cloud.kubernetes.discovery.metadata.add-labels | `+++true+++` | When set, the Kubernetes labels of the services will be included as metadata of the returned ServiceInstance. -|spring.cloud.kubernetes.discovery.metadata.add-ports | `+++true+++` | When set, any named Kubernetes service ports will be included as metadata of the returned ServiceInstance. -|spring.cloud.kubernetes.discovery.metadata.annotations-prefix | | When addAnnotations is set, then this will be used as a prefix to the key names in the metadata map. -|spring.cloud.kubernetes.discovery.metadata.labels-prefix | | When addLabels is set, then this will be used as a prefix to the key names in the metadata map. -|spring.cloud.kubernetes.discovery.metadata.ports-prefix | `+++port.+++` | When addPorts is set, then this will be used as a prefix to the key names in the metadata map. +|spring.cloud.kubernetes.discovery.metadata.add-annotations | `+++true+++` | +|spring.cloud.kubernetes.discovery.metadata.add-labels | `+++true+++` | +|spring.cloud.kubernetes.discovery.metadata.add-ports | `+++true+++` | +|spring.cloud.kubernetes.discovery.metadata.annotations-prefix | | +|spring.cloud.kubernetes.discovery.metadata.labels-prefix | | +|spring.cloud.kubernetes.discovery.metadata.ports-prefix | `+++port.+++` | |spring.cloud.kubernetes.discovery.order | | |spring.cloud.kubernetes.discovery.primary-port-name | | If set then the port with a given name is used as primary when multiple ports are defined for a service. |spring.cloud.kubernetes.discovery.service-labels | | If set, then only the services matching these labels will be fetched from the Kubernetes API server. From b20e88963ac75bfddff17aae411bc2d7e8182fa4 Mon Sep 17 00:00:00 2001 From: erabii Date: Fri, 30 Sep 2022 17:05:27 +0300 Subject: [PATCH 11/13] fix (#1094) --- .../pom.xml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-loadbalancer/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-loadbalancer/pom.xml index 4ab0f5c5..79e0bd57 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-loadbalancer/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-loadbalancer/pom.xml @@ -64,11 +64,22 @@ + build-image + + ${skip.build.image} + package build-image + + repackage + package + + repackage + + From 15e5ca67a338788847a8fbd9b45da223f845570d Mon Sep 17 00:00:00 2001 From: buildmaster Date: Thu, 6 Oct 2022 04:32:24 +0000 Subject: [PATCH 12/13] Update SNAPSHOT to 3.0.0-M5 --- docs/pom.xml | 2 +- pom.xml | 12 ++++++------ spring-cloud-kubernetes-client-autoconfig/pom.xml | 2 +- spring-cloud-kubernetes-client-config/pom.xml | 2 +- spring-cloud-kubernetes-client-discovery/pom.xml | 2 +- spring-cloud-kubernetes-client-loadbalancer/pom.xml | 2 +- spring-cloud-kubernetes-commons/pom.xml | 2 +- spring-cloud-kubernetes-controllers/pom.xml | 2 +- .../spring-cloud-kubernetes-configserver/pom.xml | 2 +- .../pom.xml | 2 +- .../spring-cloud-kubernetes-discoveryserver/pom.xml | 2 +- spring-cloud-kubernetes-dependencies/pom.xml | 4 ++-- spring-cloud-kubernetes-discovery/pom.xml | 2 +- .../kubernetes-hello-world-example/pom.xml | 2 +- .../kubernetes-leader-election-example/pom.xml | 2 +- .../greeting-service/pom.xml | 2 +- .../name-service/pom.xml | 2 +- .../kubernetes-loadbalancer-example/pom.xml | 2 +- .../kubernetes-reload-example/pom.xml | 2 +- spring-cloud-kubernetes-examples/pom.xml | 2 +- spring-cloud-kubernetes-fabric8-autoconfig/pom.xml | 2 +- spring-cloud-kubernetes-fabric8-config/pom.xml | 2 +- spring-cloud-kubernetes-fabric8-discovery/pom.xml | 2 +- spring-cloud-kubernetes-fabric8-istio/pom.xml | 2 +- spring-cloud-kubernetes-fabric8-leader/pom.xml | 2 +- spring-cloud-kubernetes-fabric8-loadbalancer/pom.xml | 2 +- spring-cloud-kubernetes-integration-tests/pom.xml | 2 +- .../spring-cloud-kubernetes-client-config-it/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../spring-cloud-kubernetes-fabric8-istio-it/pom.xml | 2 +- spring-cloud-kubernetes-test-support/pom.xml | 2 +- spring-cloud-starter-kubernetes-client-all/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- spring-cloud-starter-kubernetes-client/pom.xml | 2 +- .../pom.xml | 2 +- spring-cloud-starter-kubernetes-fabric8-all/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- spring-cloud-starter-kubernetes-fabric8/pom.xml | 2 +- 61 files changed, 67 insertions(+), 67 deletions(-) diff --git a/docs/pom.xml b/docs/pom.xml index f1f249bd..8743ee75 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -8,7 +8,7 @@ org.springframework.cloud spring-cloud-kubernetes - 3.0.0-SNAPSHOT + 3.0.0-M5 jar Spring Cloud Kubernetes Docs diff --git a/pom.xml b/pom.xml index 0f4660c4..7b591b76 100644 --- a/pom.xml +++ b/pom.xml @@ -25,12 +25,12 @@ org.springframework.cloud spring-cloud-build - 4.0.0-SNAPSHOT + 4.0.0-M5 spring-cloud-kubernetes - 3.0.0-SNAPSHOT + 3.0.0-M5 pom Spring Cloud Kubernetes @@ -63,10 +63,10 @@ - 4.0.0-SNAPSHOT - 4.0.0-SNAPSHOT - 4.0.0-SNAPSHOT - 4.0.0-SNAPSHOT + 4.0.0-M5 + 4.0.0-M5 + 4.0.0-M5 + 4.0.0-M5 3.5 diff --git a/spring-cloud-kubernetes-client-autoconfig/pom.xml b/spring-cloud-kubernetes-client-autoconfig/pom.xml index 8371fd72..a74cb54a 100644 --- a/spring-cloud-kubernetes-client-autoconfig/pom.xml +++ b/spring-cloud-kubernetes-client-autoconfig/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes org.springframework.cloud - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-kubernetes-client-config/pom.xml b/spring-cloud-kubernetes-client-config/pom.xml index eba0fe4e..787a4d53 100644 --- a/spring-cloud-kubernetes-client-config/pom.xml +++ b/spring-cloud-kubernetes-client-config/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes org.springframework.cloud - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-kubernetes-client-discovery/pom.xml b/spring-cloud-kubernetes-client-discovery/pom.xml index c1eda7bf..006e278d 100644 --- a/spring-cloud-kubernetes-client-discovery/pom.xml +++ b/spring-cloud-kubernetes-client-discovery/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes org.springframework.cloud - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-kubernetes-client-loadbalancer/pom.xml b/spring-cloud-kubernetes-client-loadbalancer/pom.xml index d4fb5029..f439ab88 100644 --- a/spring-cloud-kubernetes-client-loadbalancer/pom.xml +++ b/spring-cloud-kubernetes-client-loadbalancer/pom.xml @@ -6,7 +6,7 @@ spring-cloud-kubernetes org.springframework.cloud - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-kubernetes-commons/pom.xml b/spring-cloud-kubernetes-commons/pom.xml index 947bfc1d..dc999278 100644 --- a/spring-cloud-kubernetes-commons/pom.xml +++ b/spring-cloud-kubernetes-commons/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-kubernetes - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-kubernetes-controllers/pom.xml b/spring-cloud-kubernetes-controllers/pom.xml index 9190115a..97f14048 100644 --- a/spring-cloud-kubernetes-controllers/pom.xml +++ b/spring-cloud-kubernetes-controllers/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes org.springframework.cloud - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 pom diff --git a/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configserver/pom.xml b/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configserver/pom.xml index 99d6d216..19432add 100644 --- a/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configserver/pom.xml +++ b/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configserver/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes-controllers org.springframework.cloud - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/pom.xml b/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/pom.xml index 938f28b3..e059bf3a 100644 --- a/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/pom.xml +++ b/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-kubernetes-controllers - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-discoveryserver/pom.xml b/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-discoveryserver/pom.xml index 3adcba9e..3c923a71 100644 --- a/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-discoveryserver/pom.xml +++ b/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-discoveryserver/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes-controllers org.springframework.cloud - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-kubernetes-dependencies/pom.xml b/spring-cloud-kubernetes-dependencies/pom.xml index 15417bc6..2836b7a8 100644 --- a/spring-cloud-kubernetes-dependencies/pom.xml +++ b/spring-cloud-kubernetes-dependencies/pom.xml @@ -23,11 +23,11 @@ spring-cloud-dependencies-parent org.springframework.cloud - 4.0.0-SNAPSHOT + 4.0.0-M5 spring-cloud-kubernetes-dependencies - 3.0.0-SNAPSHOT + 3.0.0-M5 pom Spring Cloud Kubernetes :: Dependencies Spring Cloud Kubernetes Dependencies diff --git a/spring-cloud-kubernetes-discovery/pom.xml b/spring-cloud-kubernetes-discovery/pom.xml index 51e00d61..c8d811e9 100644 --- a/spring-cloud-kubernetes-discovery/pom.xml +++ b/spring-cloud-kubernetes-discovery/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes org.springframework.cloud - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-kubernetes-examples/kubernetes-hello-world-example/pom.xml b/spring-cloud-kubernetes-examples/kubernetes-hello-world-example/pom.xml index a217d9d5..2ad812cf 100644 --- a/spring-cloud-kubernetes-examples/kubernetes-hello-world-example/pom.xml +++ b/spring-cloud-kubernetes-examples/kubernetes-hello-world-example/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes-examples org.springframework.cloud - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-kubernetes-examples/kubernetes-leader-election-example/pom.xml b/spring-cloud-kubernetes-examples/kubernetes-leader-election-example/pom.xml index ebb031b1..94983eda 100644 --- a/spring-cloud-kubernetes-examples/kubernetes-leader-election-example/pom.xml +++ b/spring-cloud-kubernetes-examples/kubernetes-leader-election-example/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-kubernetes-examples - 3.0.0-SNAPSHOT + 3.0.0-M5 kubernetes-leader-election-example diff --git a/spring-cloud-kubernetes-examples/kubernetes-loadbalancer-example/greeting-service/pom.xml b/spring-cloud-kubernetes-examples/kubernetes-loadbalancer-example/greeting-service/pom.xml index 250083d2..96b7d5ee 100644 --- a/spring-cloud-kubernetes-examples/kubernetes-loadbalancer-example/greeting-service/pom.xml +++ b/spring-cloud-kubernetes-examples/kubernetes-loadbalancer-example/greeting-service/pom.xml @@ -5,7 +5,7 @@ kubernetes-loadbalancer-example org.springframework.cloud - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-kubernetes-examples/kubernetes-loadbalancer-example/name-service/pom.xml b/spring-cloud-kubernetes-examples/kubernetes-loadbalancer-example/name-service/pom.xml index a9c0f64f..812cb797 100644 --- a/spring-cloud-kubernetes-examples/kubernetes-loadbalancer-example/name-service/pom.xml +++ b/spring-cloud-kubernetes-examples/kubernetes-loadbalancer-example/name-service/pom.xml @@ -5,7 +5,7 @@ kubernetes-loadbalancer-example org.springframework.cloud - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-kubernetes-examples/kubernetes-loadbalancer-example/pom.xml b/spring-cloud-kubernetes-examples/kubernetes-loadbalancer-example/pom.xml index 20f23461..3dc50331 100644 --- a/spring-cloud-kubernetes-examples/kubernetes-loadbalancer-example/pom.xml +++ b/spring-cloud-kubernetes-examples/kubernetes-loadbalancer-example/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes-examples org.springframework.cloud - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 kubernetes-loadbalancer-example diff --git a/spring-cloud-kubernetes-examples/kubernetes-reload-example/pom.xml b/spring-cloud-kubernetes-examples/kubernetes-reload-example/pom.xml index 5bf458be..379bae1e 100644 --- a/spring-cloud-kubernetes-examples/kubernetes-reload-example/pom.xml +++ b/spring-cloud-kubernetes-examples/kubernetes-reload-example/pom.xml @@ -22,7 +22,7 @@ spring-cloud-kubernetes-examples org.springframework.cloud - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-kubernetes-examples/pom.xml b/spring-cloud-kubernetes-examples/pom.xml index bf0bbec9..29161b74 100644 --- a/spring-cloud-kubernetes-examples/pom.xml +++ b/spring-cloud-kubernetes-examples/pom.xml @@ -23,7 +23,7 @@ spring-cloud-kubernetes org.springframework.cloud - 3.0.0-SNAPSHOT + 3.0.0-M5 spring-cloud-kubernetes-examples diff --git a/spring-cloud-kubernetes-fabric8-autoconfig/pom.xml b/spring-cloud-kubernetes-fabric8-autoconfig/pom.xml index bc6b4fe2..e76c6ef9 100644 --- a/spring-cloud-kubernetes-fabric8-autoconfig/pom.xml +++ b/spring-cloud-kubernetes-fabric8-autoconfig/pom.xml @@ -23,7 +23,7 @@ org.springframework.cloud spring-cloud-kubernetes - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-kubernetes-fabric8-config/pom.xml b/spring-cloud-kubernetes-fabric8-config/pom.xml index 30665b0c..176ca505 100644 --- a/spring-cloud-kubernetes-fabric8-config/pom.xml +++ b/spring-cloud-kubernetes-fabric8-config/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes org.springframework.cloud - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-kubernetes-fabric8-discovery/pom.xml b/spring-cloud-kubernetes-fabric8-discovery/pom.xml index d27450d0..74f3f082 100644 --- a/spring-cloud-kubernetes-fabric8-discovery/pom.xml +++ b/spring-cloud-kubernetes-fabric8-discovery/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-kubernetes - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-kubernetes-fabric8-istio/pom.xml b/spring-cloud-kubernetes-fabric8-istio/pom.xml index 1b4f7322..e9335243 100644 --- a/spring-cloud-kubernetes-fabric8-istio/pom.xml +++ b/spring-cloud-kubernetes-fabric8-istio/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes org.springframework.cloud - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-kubernetes-fabric8-leader/pom.xml b/spring-cloud-kubernetes-fabric8-leader/pom.xml index 0fe3ffe7..7d98c70a 100644 --- a/spring-cloud-kubernetes-fabric8-leader/pom.xml +++ b/spring-cloud-kubernetes-fabric8-leader/pom.xml @@ -22,7 +22,7 @@ org.springframework.cloud spring-cloud-kubernetes - 3.0.0-SNAPSHOT + 3.0.0-M5 spring-cloud-kubernetes-fabric8-leader diff --git a/spring-cloud-kubernetes-fabric8-loadbalancer/pom.xml b/spring-cloud-kubernetes-fabric8-loadbalancer/pom.xml index 6397a647..3f9218e1 100644 --- a/spring-cloud-kubernetes-fabric8-loadbalancer/pom.xml +++ b/spring-cloud-kubernetes-fabric8-loadbalancer/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-kubernetes - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-kubernetes-integration-tests/pom.xml b/spring-cloud-kubernetes-integration-tests/pom.xml index 5d81a213..c7fb6a03 100644 --- a/spring-cloud-kubernetes-integration-tests/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-kubernetes - 3.0.0-SNAPSHOT + 3.0.0-M5 spring-cloud-kubernetes-integration-tests diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-config-it/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-config-it/pom.xml index 2b890d91..a85bd7ab 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-config-it/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-config-it/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-kubernetes-integration-tests - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-configmap-event-reload-multiple-apps/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-configmap-event-reload-multiple-apps/pom.xml index 7607e7ff..e9eeae1b 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-configmap-event-reload-multiple-apps/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-configmap-event-reload-multiple-apps/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes-integration-tests org.springframework.cloud - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 spring-cloud-kubernetes-client-configmap-event-reload-multiple-apps diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-configmap-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-configmap-app-a/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-configmap-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-configmap-app-a/pom.xml index 874e6142..dbe5f342 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-configmap-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-configmap-app-a/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-configmap-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-configmap-app-a/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes-client-configmap-event-reload-multiple-apps org.springframework.cloud - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 jar diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-configmap-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-configmap-app-b/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-configmap-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-configmap-app-b/pom.xml index 34b1d761..99d5cdaa 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-configmap-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-configmap-app-b/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-configmap-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-configmap-app-b/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes-client-configmap-event-reload-multiple-apps org.springframework.cloud - 3.0.0-SNAPSHOT + 3.0.0-M5 ../../spring-cloud-kubernetes-client-configmap-event-reload-multiple-apps 4.0.0 diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-configmap-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-configmap-test-app/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-configmap-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-configmap-test-app/pom.xml index 062f5429..ae02a6f7 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-configmap-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-configmap-test-app/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-configmap-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-configmap-test-app/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes-client-configmap-event-reload-multiple-apps org.springframework.cloud - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 jar diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-configmap-event-reload/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-configmap-event-reload/pom.xml index 4b8751ba..b8d5f7ae 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-configmap-event-reload/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-configmap-event-reload/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes-integration-tests org.springframework.cloud - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-loadbalancer-it/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-loadbalancer-it/pom.xml index 7e397ef6..ac902aaa 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-loadbalancer-it/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-loadbalancer-it/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-kubernetes-integration-tests - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-reactive-discoveryclient-it/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-reactive-discoveryclient-it/pom.xml index ab4d6b45..d8f5a1f3 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-reactive-discoveryclient-it/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-reactive-discoveryclient-it/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-kubernetes-integration-tests - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-secrets-event-reload-multiple-apps/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-secrets-event-reload-multiple-apps/pom.xml index 4d13c8b1..1f1e1465 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-secrets-event-reload-multiple-apps/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-secrets-event-reload-multiple-apps/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes-integration-tests org.springframework.cloud - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-secrets-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-secrets-app-a/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-secrets-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-secrets-app-a/pom.xml index 539a9bf9..406454ed 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-secrets-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-secrets-app-a/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-secrets-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-secrets-app-a/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes-client-secrets-event-reload-multiple-apps org.springframework.cloud - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 jar diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-secrets-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-secrets-app-b/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-secrets-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-secrets-app-b/pom.xml index 635cbd17..28a99de8 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-secrets-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-secrets-app-b/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-secrets-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-secrets-app-b/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes-client-secrets-event-reload-multiple-apps org.springframework.cloud - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 jar diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-secrets-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-secrets-test-app/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-secrets-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-secrets-test-app/pom.xml index 171b7fe7..94c925b0 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-secrets-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-secrets-test-app/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-secrets-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-secrets-test-app/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes-client-secrets-event-reload-multiple-apps org.springframework.cloud - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 jar diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-secrets-event-reload/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-secrets-event-reload/pom.xml index 68e905b6..499b482b 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-secrets-event-reload/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-secrets-event-reload/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-kubernetes-integration-tests - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/pom.xml index 1871fb77..3046f31b 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-kubernetes-integration-tests - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-core-k8s-client-it/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-core-k8s-client-it/pom.xml index 61116b34..dbfb9a7b 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-core-k8s-client-it/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-core-k8s-client-it/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-kubernetes-integration-tests - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-discoveryclient-it/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-discoveryclient-it/pom.xml index 7e9e22df..f2f5724f 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-discoveryclient-it/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-discoveryclient-it/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes-integration-tests org.springframework.cloud - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-configmap-event-reload/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-configmap-event-reload/pom.xml index 729df4b6..0072dd3b 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-configmap-event-reload/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-configmap-event-reload/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes-integration-tests org.springframework.cloud - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-configmap-polling-reload/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-configmap-polling-reload/pom.xml index d5fe35a4..3f9c0b21 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-configmap-polling-reload/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-configmap-polling-reload/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-kubernetes-integration-tests - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-configmap/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-configmap/pom.xml index 1929199e..b274d679 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-configmap/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-configmap/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-kubernetes-integration-tests - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery/pom.xml index fcad92cc..3df44ade 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-kubernetes-integration-tests - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-loadbalancer/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-loadbalancer/pom.xml index 79e0bd57..bf61c2d4 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-loadbalancer/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-loadbalancer/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-kubernetes-integration-tests - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-secrets-event-reload/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-secrets-event-reload/pom.xml index 8f3110de..126a2640 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-secrets-event-reload/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-secrets-event-reload/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-kubernetes-integration-tests - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-simple-core/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-simple-core/pom.xml index 6a6d8eb9..0eab5e07 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-simple-core/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-simple-core/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-kubernetes-integration-tests - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-istio-it/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-istio-it/pom.xml index d326b886..8130cb0a 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-istio-it/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-istio-it/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-kubernetes-integration-tests - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-kubernetes-test-support/pom.xml b/spring-cloud-kubernetes-test-support/pom.xml index 0a0379fd..63d60a8c 100644 --- a/spring-cloud-kubernetes-test-support/pom.xml +++ b/spring-cloud-kubernetes-test-support/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-kubernetes - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-starter-kubernetes-client-all/pom.xml b/spring-cloud-starter-kubernetes-client-all/pom.xml index 12306cbc..5a841945 100644 --- a/spring-cloud-starter-kubernetes-client-all/pom.xml +++ b/spring-cloud-starter-kubernetes-client-all/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes org.springframework.cloud - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-starter-kubernetes-client-config/pom.xml b/spring-cloud-starter-kubernetes-client-config/pom.xml index eaefde56..a6cefd1a 100644 --- a/spring-cloud-starter-kubernetes-client-config/pom.xml +++ b/spring-cloud-starter-kubernetes-client-config/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes org.springframework.cloud - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-starter-kubernetes-client-loadbalancer/pom.xml b/spring-cloud-starter-kubernetes-client-loadbalancer/pom.xml index 61577178..dfb5503b 100644 --- a/spring-cloud-starter-kubernetes-client-loadbalancer/pom.xml +++ b/spring-cloud-starter-kubernetes-client-loadbalancer/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes org.springframework.cloud - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-starter-kubernetes-client/pom.xml b/spring-cloud-starter-kubernetes-client/pom.xml index c799e000..b2047885 100644 --- a/spring-cloud-starter-kubernetes-client/pom.xml +++ b/spring-cloud-starter-kubernetes-client/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes org.springframework.cloud - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-starter-kubernetes-discoveryclient/pom.xml b/spring-cloud-starter-kubernetes-discoveryclient/pom.xml index 195d4d4f..a4f6e2b8 100644 --- a/spring-cloud-starter-kubernetes-discoveryclient/pom.xml +++ b/spring-cloud-starter-kubernetes-discoveryclient/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes org.springframework.cloud - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-starter-kubernetes-fabric8-all/pom.xml b/spring-cloud-starter-kubernetes-fabric8-all/pom.xml index 7f82c4c6..f60c9c39 100644 --- a/spring-cloud-starter-kubernetes-fabric8-all/pom.xml +++ b/spring-cloud-starter-kubernetes-fabric8-all/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes org.springframework.cloud - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-starter-kubernetes-fabric8-config/pom.xml b/spring-cloud-starter-kubernetes-fabric8-config/pom.xml index eb1a821b..4f3d7195 100644 --- a/spring-cloud-starter-kubernetes-fabric8-config/pom.xml +++ b/spring-cloud-starter-kubernetes-fabric8-config/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes org.springframework.cloud - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-starter-kubernetes-fabric8-loadbalancer/pom.xml b/spring-cloud-starter-kubernetes-fabric8-loadbalancer/pom.xml index 842eb444..1bc52375 100644 --- a/spring-cloud-starter-kubernetes-fabric8-loadbalancer/pom.xml +++ b/spring-cloud-starter-kubernetes-fabric8-loadbalancer/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes org.springframework.cloud - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 diff --git a/spring-cloud-starter-kubernetes-fabric8/pom.xml b/spring-cloud-starter-kubernetes-fabric8/pom.xml index 8cb1aa5f..e6b11444 100644 --- a/spring-cloud-starter-kubernetes-fabric8/pom.xml +++ b/spring-cloud-starter-kubernetes-fabric8/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes org.springframework.cloud - 3.0.0-SNAPSHOT + 3.0.0-M5 4.0.0 From 2193b30a94f6217765a04ddb980f800d5286f006 Mon Sep 17 00:00:00 2001 From: buildmaster Date: Thu, 6 Oct 2022 04:43:24 +0000 Subject: [PATCH 13/13] Going back to snapshots --- docs/pom.xml | 2 +- pom.xml | 12 ++++++------ spring-cloud-kubernetes-client-autoconfig/pom.xml | 2 +- spring-cloud-kubernetes-client-config/pom.xml | 2 +- spring-cloud-kubernetes-client-discovery/pom.xml | 2 +- spring-cloud-kubernetes-client-loadbalancer/pom.xml | 2 +- spring-cloud-kubernetes-commons/pom.xml | 2 +- spring-cloud-kubernetes-controllers/pom.xml | 2 +- .../spring-cloud-kubernetes-configserver/pom.xml | 2 +- .../pom.xml | 2 +- .../spring-cloud-kubernetes-discoveryserver/pom.xml | 2 +- spring-cloud-kubernetes-dependencies/pom.xml | 4 ++-- spring-cloud-kubernetes-discovery/pom.xml | 2 +- .../kubernetes-hello-world-example/pom.xml | 2 +- .../kubernetes-leader-election-example/pom.xml | 2 +- .../greeting-service/pom.xml | 2 +- .../name-service/pom.xml | 2 +- .../kubernetes-loadbalancer-example/pom.xml | 2 +- .../kubernetes-reload-example/pom.xml | 2 +- spring-cloud-kubernetes-examples/pom.xml | 2 +- spring-cloud-kubernetes-fabric8-autoconfig/pom.xml | 2 +- spring-cloud-kubernetes-fabric8-config/pom.xml | 2 +- spring-cloud-kubernetes-fabric8-discovery/pom.xml | 2 +- spring-cloud-kubernetes-fabric8-istio/pom.xml | 2 +- spring-cloud-kubernetes-fabric8-leader/pom.xml | 2 +- spring-cloud-kubernetes-fabric8-loadbalancer/pom.xml | 2 +- spring-cloud-kubernetes-integration-tests/pom.xml | 2 +- .../spring-cloud-kubernetes-client-config-it/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../spring-cloud-kubernetes-fabric8-istio-it/pom.xml | 2 +- spring-cloud-kubernetes-test-support/pom.xml | 2 +- spring-cloud-starter-kubernetes-client-all/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- spring-cloud-starter-kubernetes-client/pom.xml | 2 +- .../pom.xml | 2 +- spring-cloud-starter-kubernetes-fabric8-all/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- spring-cloud-starter-kubernetes-fabric8/pom.xml | 2 +- 61 files changed, 67 insertions(+), 67 deletions(-) diff --git a/docs/pom.xml b/docs/pom.xml index 8743ee75..f1f249bd 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -8,7 +8,7 @@ org.springframework.cloud spring-cloud-kubernetes - 3.0.0-M5 + 3.0.0-SNAPSHOT jar Spring Cloud Kubernetes Docs diff --git a/pom.xml b/pom.xml index 7b591b76..0f4660c4 100644 --- a/pom.xml +++ b/pom.xml @@ -25,12 +25,12 @@ org.springframework.cloud spring-cloud-build - 4.0.0-M5 + 4.0.0-SNAPSHOT spring-cloud-kubernetes - 3.0.0-M5 + 3.0.0-SNAPSHOT pom Spring Cloud Kubernetes @@ -63,10 +63,10 @@ - 4.0.0-M5 - 4.0.0-M5 - 4.0.0-M5 - 4.0.0-M5 + 4.0.0-SNAPSHOT + 4.0.0-SNAPSHOT + 4.0.0-SNAPSHOT + 4.0.0-SNAPSHOT 3.5 diff --git a/spring-cloud-kubernetes-client-autoconfig/pom.xml b/spring-cloud-kubernetes-client-autoconfig/pom.xml index a74cb54a..8371fd72 100644 --- a/spring-cloud-kubernetes-client-autoconfig/pom.xml +++ b/spring-cloud-kubernetes-client-autoconfig/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes org.springframework.cloud - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-client-config/pom.xml b/spring-cloud-kubernetes-client-config/pom.xml index 787a4d53..eba0fe4e 100644 --- a/spring-cloud-kubernetes-client-config/pom.xml +++ b/spring-cloud-kubernetes-client-config/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes org.springframework.cloud - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-client-discovery/pom.xml b/spring-cloud-kubernetes-client-discovery/pom.xml index 006e278d..c1eda7bf 100644 --- a/spring-cloud-kubernetes-client-discovery/pom.xml +++ b/spring-cloud-kubernetes-client-discovery/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes org.springframework.cloud - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-client-loadbalancer/pom.xml b/spring-cloud-kubernetes-client-loadbalancer/pom.xml index f439ab88..d4fb5029 100644 --- a/spring-cloud-kubernetes-client-loadbalancer/pom.xml +++ b/spring-cloud-kubernetes-client-loadbalancer/pom.xml @@ -6,7 +6,7 @@ spring-cloud-kubernetes org.springframework.cloud - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-commons/pom.xml b/spring-cloud-kubernetes-commons/pom.xml index dc999278..947bfc1d 100644 --- a/spring-cloud-kubernetes-commons/pom.xml +++ b/spring-cloud-kubernetes-commons/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-kubernetes - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-controllers/pom.xml b/spring-cloud-kubernetes-controllers/pom.xml index 97f14048..9190115a 100644 --- a/spring-cloud-kubernetes-controllers/pom.xml +++ b/spring-cloud-kubernetes-controllers/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes org.springframework.cloud - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 pom diff --git a/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configserver/pom.xml b/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configserver/pom.xml index 19432add..99d6d216 100644 --- a/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configserver/pom.xml +++ b/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configserver/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes-controllers org.springframework.cloud - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/pom.xml b/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/pom.xml index e059bf3a..938f28b3 100644 --- a/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/pom.xml +++ b/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-kubernetes-controllers - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-discoveryserver/pom.xml b/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-discoveryserver/pom.xml index 3c923a71..3adcba9e 100644 --- a/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-discoveryserver/pom.xml +++ b/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-discoveryserver/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes-controllers org.springframework.cloud - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-dependencies/pom.xml b/spring-cloud-kubernetes-dependencies/pom.xml index 2836b7a8..15417bc6 100644 --- a/spring-cloud-kubernetes-dependencies/pom.xml +++ b/spring-cloud-kubernetes-dependencies/pom.xml @@ -23,11 +23,11 @@ spring-cloud-dependencies-parent org.springframework.cloud - 4.0.0-M5 + 4.0.0-SNAPSHOT spring-cloud-kubernetes-dependencies - 3.0.0-M5 + 3.0.0-SNAPSHOT pom Spring Cloud Kubernetes :: Dependencies Spring Cloud Kubernetes Dependencies diff --git a/spring-cloud-kubernetes-discovery/pom.xml b/spring-cloud-kubernetes-discovery/pom.xml index c8d811e9..51e00d61 100644 --- a/spring-cloud-kubernetes-discovery/pom.xml +++ b/spring-cloud-kubernetes-discovery/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes org.springframework.cloud - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-examples/kubernetes-hello-world-example/pom.xml b/spring-cloud-kubernetes-examples/kubernetes-hello-world-example/pom.xml index 2ad812cf..a217d9d5 100644 --- a/spring-cloud-kubernetes-examples/kubernetes-hello-world-example/pom.xml +++ b/spring-cloud-kubernetes-examples/kubernetes-hello-world-example/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes-examples org.springframework.cloud - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-examples/kubernetes-leader-election-example/pom.xml b/spring-cloud-kubernetes-examples/kubernetes-leader-election-example/pom.xml index 94983eda..ebb031b1 100644 --- a/spring-cloud-kubernetes-examples/kubernetes-leader-election-example/pom.xml +++ b/spring-cloud-kubernetes-examples/kubernetes-leader-election-example/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-kubernetes-examples - 3.0.0-M5 + 3.0.0-SNAPSHOT kubernetes-leader-election-example diff --git a/spring-cloud-kubernetes-examples/kubernetes-loadbalancer-example/greeting-service/pom.xml b/spring-cloud-kubernetes-examples/kubernetes-loadbalancer-example/greeting-service/pom.xml index 96b7d5ee..250083d2 100644 --- a/spring-cloud-kubernetes-examples/kubernetes-loadbalancer-example/greeting-service/pom.xml +++ b/spring-cloud-kubernetes-examples/kubernetes-loadbalancer-example/greeting-service/pom.xml @@ -5,7 +5,7 @@ kubernetes-loadbalancer-example org.springframework.cloud - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-examples/kubernetes-loadbalancer-example/name-service/pom.xml b/spring-cloud-kubernetes-examples/kubernetes-loadbalancer-example/name-service/pom.xml index 812cb797..a9c0f64f 100644 --- a/spring-cloud-kubernetes-examples/kubernetes-loadbalancer-example/name-service/pom.xml +++ b/spring-cloud-kubernetes-examples/kubernetes-loadbalancer-example/name-service/pom.xml @@ -5,7 +5,7 @@ kubernetes-loadbalancer-example org.springframework.cloud - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-examples/kubernetes-loadbalancer-example/pom.xml b/spring-cloud-kubernetes-examples/kubernetes-loadbalancer-example/pom.xml index 3dc50331..20f23461 100644 --- a/spring-cloud-kubernetes-examples/kubernetes-loadbalancer-example/pom.xml +++ b/spring-cloud-kubernetes-examples/kubernetes-loadbalancer-example/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes-examples org.springframework.cloud - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 kubernetes-loadbalancer-example diff --git a/spring-cloud-kubernetes-examples/kubernetes-reload-example/pom.xml b/spring-cloud-kubernetes-examples/kubernetes-reload-example/pom.xml index 379bae1e..5bf458be 100644 --- a/spring-cloud-kubernetes-examples/kubernetes-reload-example/pom.xml +++ b/spring-cloud-kubernetes-examples/kubernetes-reload-example/pom.xml @@ -22,7 +22,7 @@ spring-cloud-kubernetes-examples org.springframework.cloud - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-examples/pom.xml b/spring-cloud-kubernetes-examples/pom.xml index 29161b74..bf0bbec9 100644 --- a/spring-cloud-kubernetes-examples/pom.xml +++ b/spring-cloud-kubernetes-examples/pom.xml @@ -23,7 +23,7 @@ spring-cloud-kubernetes org.springframework.cloud - 3.0.0-M5 + 3.0.0-SNAPSHOT spring-cloud-kubernetes-examples diff --git a/spring-cloud-kubernetes-fabric8-autoconfig/pom.xml b/spring-cloud-kubernetes-fabric8-autoconfig/pom.xml index e76c6ef9..bc6b4fe2 100644 --- a/spring-cloud-kubernetes-fabric8-autoconfig/pom.xml +++ b/spring-cloud-kubernetes-fabric8-autoconfig/pom.xml @@ -23,7 +23,7 @@ org.springframework.cloud spring-cloud-kubernetes - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-fabric8-config/pom.xml b/spring-cloud-kubernetes-fabric8-config/pom.xml index 176ca505..30665b0c 100644 --- a/spring-cloud-kubernetes-fabric8-config/pom.xml +++ b/spring-cloud-kubernetes-fabric8-config/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes org.springframework.cloud - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-fabric8-discovery/pom.xml b/spring-cloud-kubernetes-fabric8-discovery/pom.xml index 74f3f082..d27450d0 100644 --- a/spring-cloud-kubernetes-fabric8-discovery/pom.xml +++ b/spring-cloud-kubernetes-fabric8-discovery/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-kubernetes - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-fabric8-istio/pom.xml b/spring-cloud-kubernetes-fabric8-istio/pom.xml index e9335243..1b4f7322 100644 --- a/spring-cloud-kubernetes-fabric8-istio/pom.xml +++ b/spring-cloud-kubernetes-fabric8-istio/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes org.springframework.cloud - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-fabric8-leader/pom.xml b/spring-cloud-kubernetes-fabric8-leader/pom.xml index 7d98c70a..0fe3ffe7 100644 --- a/spring-cloud-kubernetes-fabric8-leader/pom.xml +++ b/spring-cloud-kubernetes-fabric8-leader/pom.xml @@ -22,7 +22,7 @@ org.springframework.cloud spring-cloud-kubernetes - 3.0.0-M5 + 3.0.0-SNAPSHOT spring-cloud-kubernetes-fabric8-leader diff --git a/spring-cloud-kubernetes-fabric8-loadbalancer/pom.xml b/spring-cloud-kubernetes-fabric8-loadbalancer/pom.xml index 3f9218e1..6397a647 100644 --- a/spring-cloud-kubernetes-fabric8-loadbalancer/pom.xml +++ b/spring-cloud-kubernetes-fabric8-loadbalancer/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-kubernetes - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-integration-tests/pom.xml b/spring-cloud-kubernetes-integration-tests/pom.xml index c7fb6a03..5d81a213 100644 --- a/spring-cloud-kubernetes-integration-tests/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-kubernetes - 3.0.0-M5 + 3.0.0-SNAPSHOT spring-cloud-kubernetes-integration-tests diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-config-it/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-config-it/pom.xml index a85bd7ab..2b890d91 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-config-it/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-config-it/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-kubernetes-integration-tests - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-configmap-event-reload-multiple-apps/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-configmap-event-reload-multiple-apps/pom.xml index e9eeae1b..7607e7ff 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-configmap-event-reload-multiple-apps/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-configmap-event-reload-multiple-apps/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes-integration-tests org.springframework.cloud - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 spring-cloud-kubernetes-client-configmap-event-reload-multiple-apps diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-configmap-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-configmap-app-a/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-configmap-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-configmap-app-a/pom.xml index dbe5f342..874e6142 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-configmap-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-configmap-app-a/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-configmap-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-configmap-app-a/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes-client-configmap-event-reload-multiple-apps org.springframework.cloud - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 jar diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-configmap-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-configmap-app-b/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-configmap-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-configmap-app-b/pom.xml index 99d5cdaa..34b1d761 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-configmap-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-configmap-app-b/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-configmap-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-configmap-app-b/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes-client-configmap-event-reload-multiple-apps org.springframework.cloud - 3.0.0-M5 + 3.0.0-SNAPSHOT ../../spring-cloud-kubernetes-client-configmap-event-reload-multiple-apps 4.0.0 diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-configmap-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-configmap-test-app/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-configmap-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-configmap-test-app/pom.xml index ae02a6f7..062f5429 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-configmap-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-configmap-test-app/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-configmap-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-configmap-test-app/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes-client-configmap-event-reload-multiple-apps org.springframework.cloud - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 jar diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-configmap-event-reload/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-configmap-event-reload/pom.xml index b8d5f7ae..4b8751ba 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-configmap-event-reload/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-configmap-event-reload/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes-integration-tests org.springframework.cloud - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-loadbalancer-it/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-loadbalancer-it/pom.xml index ac902aaa..7e397ef6 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-loadbalancer-it/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-loadbalancer-it/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-kubernetes-integration-tests - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-reactive-discoveryclient-it/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-reactive-discoveryclient-it/pom.xml index d8f5a1f3..ab4d6b45 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-reactive-discoveryclient-it/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-reactive-discoveryclient-it/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-kubernetes-integration-tests - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-secrets-event-reload-multiple-apps/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-secrets-event-reload-multiple-apps/pom.xml index 1f1e1465..4d13c8b1 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-secrets-event-reload-multiple-apps/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-secrets-event-reload-multiple-apps/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes-integration-tests org.springframework.cloud - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-secrets-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-secrets-app-a/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-secrets-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-secrets-app-a/pom.xml index 406454ed..539a9bf9 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-secrets-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-secrets-app-a/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-secrets-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-secrets-app-a/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes-client-secrets-event-reload-multiple-apps org.springframework.cloud - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 jar diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-secrets-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-secrets-app-b/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-secrets-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-secrets-app-b/pom.xml index 28a99de8..635cbd17 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-secrets-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-secrets-app-b/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-secrets-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-secrets-app-b/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes-client-secrets-event-reload-multiple-apps org.springframework.cloud - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 jar diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-secrets-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-secrets-test-app/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-secrets-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-secrets-test-app/pom.xml index 94c925b0..171b7fe7 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-secrets-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-secrets-test-app/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-secrets-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-secrets-test-app/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes-client-secrets-event-reload-multiple-apps org.springframework.cloud - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 jar diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-secrets-event-reload/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-secrets-event-reload/pom.xml index 499b482b..68e905b6 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-secrets-event-reload/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-secrets-event-reload/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-kubernetes-integration-tests - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/pom.xml index 3046f31b..1871fb77 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-kubernetes-integration-tests - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-core-k8s-client-it/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-core-k8s-client-it/pom.xml index dbfb9a7b..61116b34 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-core-k8s-client-it/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-core-k8s-client-it/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-kubernetes-integration-tests - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-discoveryclient-it/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-discoveryclient-it/pom.xml index f2f5724f..7e9e22df 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-discoveryclient-it/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-discoveryclient-it/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes-integration-tests org.springframework.cloud - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-configmap-event-reload/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-configmap-event-reload/pom.xml index 0072dd3b..729df4b6 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-configmap-event-reload/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-configmap-event-reload/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes-integration-tests org.springframework.cloud - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-configmap-polling-reload/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-configmap-polling-reload/pom.xml index 3f9c0b21..d5fe35a4 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-configmap-polling-reload/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-configmap-polling-reload/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-kubernetes-integration-tests - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-configmap/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-configmap/pom.xml index b274d679..1929199e 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-configmap/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-configmap/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-kubernetes-integration-tests - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery/pom.xml index 3df44ade..fcad92cc 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-kubernetes-integration-tests - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-loadbalancer/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-loadbalancer/pom.xml index bf61c2d4..79e0bd57 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-loadbalancer/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-loadbalancer/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-kubernetes-integration-tests - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-secrets-event-reload/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-secrets-event-reload/pom.xml index 126a2640..8f3110de 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-secrets-event-reload/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-secrets-event-reload/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-kubernetes-integration-tests - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-simple-core/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-simple-core/pom.xml index 0eab5e07..6a6d8eb9 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-simple-core/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-simple-core/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-kubernetes-integration-tests - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-istio-it/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-istio-it/pom.xml index 8130cb0a..d326b886 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-istio-it/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-istio-it/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-kubernetes-integration-tests - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-test-support/pom.xml b/spring-cloud-kubernetes-test-support/pom.xml index 63d60a8c..0a0379fd 100644 --- a/spring-cloud-kubernetes-test-support/pom.xml +++ b/spring-cloud-kubernetes-test-support/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-kubernetes - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-starter-kubernetes-client-all/pom.xml b/spring-cloud-starter-kubernetes-client-all/pom.xml index 5a841945..12306cbc 100644 --- a/spring-cloud-starter-kubernetes-client-all/pom.xml +++ b/spring-cloud-starter-kubernetes-client-all/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes org.springframework.cloud - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-starter-kubernetes-client-config/pom.xml b/spring-cloud-starter-kubernetes-client-config/pom.xml index a6cefd1a..eaefde56 100644 --- a/spring-cloud-starter-kubernetes-client-config/pom.xml +++ b/spring-cloud-starter-kubernetes-client-config/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes org.springframework.cloud - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-starter-kubernetes-client-loadbalancer/pom.xml b/spring-cloud-starter-kubernetes-client-loadbalancer/pom.xml index dfb5503b..61577178 100644 --- a/spring-cloud-starter-kubernetes-client-loadbalancer/pom.xml +++ b/spring-cloud-starter-kubernetes-client-loadbalancer/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes org.springframework.cloud - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-starter-kubernetes-client/pom.xml b/spring-cloud-starter-kubernetes-client/pom.xml index b2047885..c799e000 100644 --- a/spring-cloud-starter-kubernetes-client/pom.xml +++ b/spring-cloud-starter-kubernetes-client/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes org.springframework.cloud - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-starter-kubernetes-discoveryclient/pom.xml b/spring-cloud-starter-kubernetes-discoveryclient/pom.xml index a4f6e2b8..195d4d4f 100644 --- a/spring-cloud-starter-kubernetes-discoveryclient/pom.xml +++ b/spring-cloud-starter-kubernetes-discoveryclient/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes org.springframework.cloud - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-starter-kubernetes-fabric8-all/pom.xml b/spring-cloud-starter-kubernetes-fabric8-all/pom.xml index f60c9c39..7f82c4c6 100644 --- a/spring-cloud-starter-kubernetes-fabric8-all/pom.xml +++ b/spring-cloud-starter-kubernetes-fabric8-all/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes org.springframework.cloud - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-starter-kubernetes-fabric8-config/pom.xml b/spring-cloud-starter-kubernetes-fabric8-config/pom.xml index 4f3d7195..eb1a821b 100644 --- a/spring-cloud-starter-kubernetes-fabric8-config/pom.xml +++ b/spring-cloud-starter-kubernetes-fabric8-config/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes org.springframework.cloud - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-starter-kubernetes-fabric8-loadbalancer/pom.xml b/spring-cloud-starter-kubernetes-fabric8-loadbalancer/pom.xml index 1bc52375..842eb444 100644 --- a/spring-cloud-starter-kubernetes-fabric8-loadbalancer/pom.xml +++ b/spring-cloud-starter-kubernetes-fabric8-loadbalancer/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes org.springframework.cloud - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-starter-kubernetes-fabric8/pom.xml b/spring-cloud-starter-kubernetes-fabric8/pom.xml index e6b11444..8cb1aa5f 100644 --- a/spring-cloud-starter-kubernetes-fabric8/pom.xml +++ b/spring-cloud-starter-kubernetes-fabric8/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes org.springframework.cloud - 3.0.0-M5 + 3.0.0-SNAPSHOT 4.0.0