diff --git a/spring-cloud-kubernetes-dependencies/pom.xml b/spring-cloud-kubernetes-dependencies/pom.xml
index bf8e5cd8..27026d9f 100644
--- a/spring-cloud-kubernetes-dependencies/pom.xml
+++ b/spring-cloud-kubernetes-dependencies/pom.xml
@@ -33,9 +33,8 @@
Spring Cloud Kubernetes Dependencies
0.13.0
- 5.12.2
+ 6.2.0
16.0.2
- 1.7.7.1
2.26.3
1.3.1
4.4
@@ -72,12 +71,6 @@
${kubernetes-native-client.version}
-
- me.snowdrop
- istio-client
- ${istio-client.version}
-
-
org.springframework.retry
spring-retry
diff --git a/spring-cloud-kubernetes-fabric8-autoconfig/src/main/java/org/springframework/cloud/kubernetes/fabric8/Fabric8AutoConfiguration.java b/spring-cloud-kubernetes-fabric8-autoconfig/src/main/java/org/springframework/cloud/kubernetes/fabric8/Fabric8AutoConfiguration.java
index a54fb7af..d5a277e8 100644
--- a/spring-cloud-kubernetes-fabric8-autoconfig/src/main/java/org/springframework/cloud/kubernetes/fabric8/Fabric8AutoConfiguration.java
+++ b/spring-cloud-kubernetes-fabric8-autoconfig/src/main/java/org/springframework/cloud/kubernetes/fabric8/Fabric8AutoConfiguration.java
@@ -20,8 +20,8 @@ import java.time.Duration;
import io.fabric8.kubernetes.client.Config;
import io.fabric8.kubernetes.client.ConfigBuilder;
-import io.fabric8.kubernetes.client.DefaultKubernetesClient;
import io.fabric8.kubernetes.client.KubernetesClient;
+import io.fabric8.kubernetes.client.KubernetesClientBuilder;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.condition.ConditionalOnCloudPlatform;
@@ -107,7 +107,7 @@ public class Fabric8AutoConfiguration {
@Bean
@ConditionalOnMissingBean
public KubernetesClient kubernetesClient(Config config) {
- return new DefaultKubernetesClient(config);
+ return new KubernetesClientBuilder().withConfig(config).build();
}
@Bean
diff --git a/spring-cloud-kubernetes-fabric8-autoconfig/src/main/java/org/springframework/cloud/kubernetes/fabric8/profile/Fabric8ProfileEnvironmentPostProcessor.java b/spring-cloud-kubernetes-fabric8-autoconfig/src/main/java/org/springframework/cloud/kubernetes/fabric8/profile/Fabric8ProfileEnvironmentPostProcessor.java
index 5b1e5ccc..6271cb16 100644
--- a/spring-cloud-kubernetes-fabric8-autoconfig/src/main/java/org/springframework/cloud/kubernetes/fabric8/profile/Fabric8ProfileEnvironmentPostProcessor.java
+++ b/spring-cloud-kubernetes-fabric8-autoconfig/src/main/java/org/springframework/cloud/kubernetes/fabric8/profile/Fabric8ProfileEnvironmentPostProcessor.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2013-2019 the original author or authors.
+ * 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.
@@ -16,7 +16,8 @@
package org.springframework.cloud.kubernetes.fabric8.profile;
-import io.fabric8.kubernetes.client.DefaultKubernetesClient;
+import io.fabric8.kubernetes.client.KubernetesClient;
+import io.fabric8.kubernetes.client.KubernetesClientBuilder;
import org.springframework.cloud.kubernetes.commons.profile.AbstractKubernetesProfileEnvironmentPostProcessor;
import org.springframework.cloud.kubernetes.fabric8.Fabric8PodUtils;
@@ -26,7 +27,8 @@ public class Fabric8ProfileEnvironmentPostProcessor extends AbstractKubernetesPr
@Override
protected boolean isInsideKubernetes(Environment environment) {
- try (DefaultKubernetesClient client = new DefaultKubernetesClient()) {
+
+ try (KubernetesClient client = new KubernetesClientBuilder().build()) {
Fabric8PodUtils podUtils = new Fabric8PodUtils(client);
return environment.containsProperty(Fabric8PodUtils.KUBERNETES_SERVICE_HOST)
|| podUtils.isInsideKubernetes();
diff --git a/spring-cloud-kubernetes-fabric8-autoconfig/src/test/java/org/springframework/cloud/kubernetes/Fabric8PodUtilsTest.java b/spring-cloud-kubernetes-fabric8-autoconfig/src/test/java/org/springframework/cloud/kubernetes/Fabric8PodUtilsTest.java
index 368dcb6b..31404782 100644
--- a/spring-cloud-kubernetes-fabric8-autoconfig/src/test/java/org/springframework/cloud/kubernetes/Fabric8PodUtilsTest.java
+++ b/spring-cloud-kubernetes-fabric8-autoconfig/src/test/java/org/springframework/cloud/kubernetes/Fabric8PodUtilsTest.java
@@ -62,11 +62,11 @@ class Fabric8PodUtilsTest {
private final File certFile = Mockito.mock(File.class);
- private final MixedOperation> mixed = Mockito.mock(MixedOperation.class);
+ private final MixedOperation mixed = Mockito.mock(MixedOperation.class);
private final Pod pod = Mockito.mock(Pod.class);
- private final PodResource podResource = Mockito.mock(PodResource.class);
+ private final PodResource podResource = Mockito.mock(PodResource.class);
private MockedStatic envReader;
diff --git a/spring-cloud-kubernetes-fabric8-autoconfig/src/test/java/org/springframework/cloud/kubernetes/fabric8/Fabric8UserAgentDefaultConfigurationTests.java b/spring-cloud-kubernetes-fabric8-autoconfig/src/test/java/org/springframework/cloud/kubernetes/fabric8/Fabric8UserAgentDefaultConfigurationTests.java
index fad50c4f..400a3290 100644
--- a/spring-cloud-kubernetes-fabric8-autoconfig/src/test/java/org/springframework/cloud/kubernetes/fabric8/Fabric8UserAgentDefaultConfigurationTests.java
+++ b/spring-cloud-kubernetes-fabric8-autoconfig/src/test/java/org/springframework/cloud/kubernetes/fabric8/Fabric8UserAgentDefaultConfigurationTests.java
@@ -37,7 +37,7 @@ class Fabric8UserAgentDefaultConfigurationTests {
@Test
void testUserAgent() {
String userAgent = client.getConfiguration().getUserAgent();
- assertThat(userAgent).isEqualTo("Spring-Cloud-Kubernetes-Application");
+ assertThat(userAgent).isEqualTo("fabric8-kubernetes-client/6.2.0");
}
}
diff --git a/spring-cloud-kubernetes-fabric8-autoconfig/src/test/java/org/springframework/cloud/kubernetes/fabric8/Fabric8UtilsMockTests.java b/spring-cloud-kubernetes-fabric8-autoconfig/src/test/java/org/springframework/cloud/kubernetes/fabric8/Fabric8UtilsMockTests.java
new file mode 100644
index 00000000..2e717d2f
--- /dev/null
+++ b/spring-cloud-kubernetes-fabric8-autoconfig/src/test/java/org/springframework/cloud/kubernetes/fabric8/Fabric8UtilsMockTests.java
@@ -0,0 +1,48 @@
+/*
+ * 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.fabric8;
+
+import io.fabric8.kubernetes.client.KubernetesClient;
+import org.junit.jupiter.api.Test;
+import org.mockito.Mockito;
+
+import org.springframework.cloud.kubernetes.commons.config.NamespaceResolutionFailedException;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
+
+/**
+ * @author wind57
+ */
+class Fabric8UtilsMockTests {
+
+ private final KubernetesClient mockClient = Mockito.mock(KubernetesClient.class);
+
+ @Test
+ void testNamespaceFromClient() {
+ Mockito.when(mockClient.getNamespace()).thenReturn("qwe");
+ String result = Fabric8Utils.getApplicationNamespace(mockClient, "", "target", null);
+ assertThat(result).isEqualTo("qwe");
+ }
+
+ @Test
+ void testNamespaceResolutionFailed() {
+ assertThatThrownBy(() -> Fabric8Utils.getApplicationNamespace(mockClient, "", "target", null))
+ .isInstanceOf(NamespaceResolutionFailedException.class);
+ }
+
+}
diff --git a/spring-cloud-kubernetes-fabric8-autoconfig/src/test/java/org/springframework/cloud/kubernetes/fabric8/Fabric8UtilsTests.java b/spring-cloud-kubernetes-fabric8-autoconfig/src/test/java/org/springframework/cloud/kubernetes/fabric8/Fabric8UtilsTests.java
index 1cd3cef3..84ae3892 100644
--- a/spring-cloud-kubernetes-fabric8-autoconfig/src/test/java/org/springframework/cloud/kubernetes/fabric8/Fabric8UtilsTests.java
+++ b/spring-cloud-kubernetes-fabric8-autoconfig/src/test/java/org/springframework/cloud/kubernetes/fabric8/Fabric8UtilsTests.java
@@ -16,17 +16,14 @@
package org.springframework.cloud.kubernetes.fabric8;
-import io.fabric8.kubernetes.client.DefaultKubernetesClient;
import io.fabric8.kubernetes.client.KubernetesClient;
import io.fabric8.kubernetes.client.server.mock.EnableKubernetesMockClient;
import org.junit.jupiter.api.Test;
import org.mockito.Mockito;
import org.springframework.cloud.kubernetes.commons.KubernetesNamespaceProvider;
-import org.springframework.cloud.kubernetes.commons.config.NamespaceResolutionFailedException;
import static org.assertj.core.api.Assertions.assertThat;
-import static org.assertj.core.api.Assertions.assertThatThrownBy;
/**
* @author wind57
@@ -36,8 +33,6 @@ class Fabric8UtilsTests {
private KubernetesClient client;
- private final DefaultKubernetesClient mockClient = Mockito.mock(DefaultKubernetesClient.class);
-
private final KubernetesNamespaceProvider provider = Mockito.mock(KubernetesNamespaceProvider.class);
@Test
@@ -65,17 +60,4 @@ class Fabric8UtilsTests {
assertThat(result).isEqualTo("def");
}
- @Test
- void testNamespaceFromClient() {
- Mockito.when(mockClient.getNamespace()).thenReturn("qwe");
- String result = Fabric8Utils.getApplicationNamespace(mockClient, "", "target", null);
- assertThat(result).isEqualTo("qwe");
- }
-
- @Test
- void testNamespaceResolutionFailed() {
- assertThatThrownBy(() -> Fabric8Utils.getApplicationNamespace(mockClient, "", "target", null))
- .isInstanceOf(NamespaceResolutionFailedException.class);
- }
-
}
diff --git a/spring-cloud-kubernetes-fabric8-config/src/main/java/org/springframework/cloud/kubernetes/fabric8/config/reload/Fabric8EventBasedConfigMapChangeDetector.java b/spring-cloud-kubernetes-fabric8-config/src/main/java/org/springframework/cloud/kubernetes/fabric8/config/reload/Fabric8EventBasedConfigMapChangeDetector.java
index 6cba1fd7..0904ff4d 100644
--- a/spring-cloud-kubernetes-fabric8-config/src/main/java/org/springframework/cloud/kubernetes/fabric8/config/reload/Fabric8EventBasedConfigMapChangeDetector.java
+++ b/spring-cloud-kubernetes-fabric8-config/src/main/java/org/springframework/cloud/kubernetes/fabric8/config/reload/Fabric8EventBasedConfigMapChangeDetector.java
@@ -25,7 +25,6 @@ import io.fabric8.kubernetes.api.model.ConfigMap;
import io.fabric8.kubernetes.client.KubernetesClient;
import io.fabric8.kubernetes.client.informers.ResourceEventHandler;
import io.fabric8.kubernetes.client.informers.SharedIndexInformer;
-import io.fabric8.kubernetes.client.informers.SharedInformer;
import jakarta.annotation.PostConstruct;
import jakarta.annotation.PreDestroy;
import org.apache.commons.logging.LogFactory;
@@ -104,7 +103,7 @@ public class Fabric8EventBasedConfigMapChangeDetector extends ConfigurationChang
@PreDestroy
private void shutdown() {
- informers.forEach(SharedInformer::close);
+ informers.forEach(SharedIndexInformer::close);
// Ensure the kubernetes client is cleaned up from spare threads when shutting
// down
kubernetesClient.close();
diff --git a/spring-cloud-kubernetes-fabric8-config/src/main/java/org/springframework/cloud/kubernetes/fabric8/config/reload/Fabric8EventBasedSecretsChangeDetector.java b/spring-cloud-kubernetes-fabric8-config/src/main/java/org/springframework/cloud/kubernetes/fabric8/config/reload/Fabric8EventBasedSecretsChangeDetector.java
index 1484ebaf..664cebfa 100644
--- a/spring-cloud-kubernetes-fabric8-config/src/main/java/org/springframework/cloud/kubernetes/fabric8/config/reload/Fabric8EventBasedSecretsChangeDetector.java
+++ b/spring-cloud-kubernetes-fabric8-config/src/main/java/org/springframework/cloud/kubernetes/fabric8/config/reload/Fabric8EventBasedSecretsChangeDetector.java
@@ -25,7 +25,6 @@ import io.fabric8.kubernetes.api.model.Secret;
import io.fabric8.kubernetes.client.KubernetesClient;
import io.fabric8.kubernetes.client.informers.ResourceEventHandler;
import io.fabric8.kubernetes.client.informers.SharedIndexInformer;
-import io.fabric8.kubernetes.client.informers.SharedInformer;
import jakarta.annotation.PostConstruct;
import jakarta.annotation.PreDestroy;
import org.apache.commons.logging.LogFactory;
@@ -81,7 +80,7 @@ public class Fabric8EventBasedSecretsChangeDetector extends ConfigurationChangeD
@PreDestroy
private void shutdown() {
- informers.forEach(SharedInformer::close);
+ informers.forEach(SharedIndexInformer::close);
// Ensure the kubernetes client is cleaned up from spare threads when shutting
// down
kubernetesClient.close();
diff --git a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsTest.java b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsTest.java
index d85a26f7..86b9f33d 100644
--- a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsTest.java
+++ b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsTest.java
@@ -35,29 +35,29 @@ import static org.assertj.core.api.Assertions.assertThat;
* @author Charles Moulliard
*/
@EnableKubernetesMockClient(crud = true, https = false)
-public class ConfigMapsTest {
+class ConfigMapsTest {
private static KubernetesClient mockClient;
@Test
public void testConfigMapList() {
mockClient.configMaps().inNamespace("ns1")
- .create(new ConfigMapBuilder().withNewMetadata().withName("empty").endMetadata().build());
+ .resource(new ConfigMapBuilder().withNewMetadata().withName("empty").endMetadata().build()).create();
ConfigMapList configMapList = mockClient.configMaps().inNamespace("ns1").list();
assertThat(configMapList).isNotNull();
// metadata is an element
assertThat(configMapList.getItems().size()).isEqualTo(1);
- assertThat(configMapList.getItems().get(0).getData()).isNull();
+ assertThat(configMapList.getItems().get(0).getData()).isEmpty();
}
@Test
- public void testConfigMapGet() {
+ void testConfigMapGet() {
ConfigMap configMap = new ConfigMapBuilder().withNewMetadata().withName("reload-example").endMetadata()
.addToData("KEY", "123").build();
- mockClient.configMaps().inNamespace("ns2").create(configMap);
+ mockClient.configMaps().inNamespace("ns2").resource(configMap).create();
ConfigMapList configMapList = mockClient.configMaps().inNamespace("ns2").list();
assertThat(configMapList).isNotNull();
@@ -68,13 +68,13 @@ public class ConfigMapsTest {
}
@Test
- public void testConfigMapFromSingleApplicationProperties() {
+ void testConfigMapFromSingleApplicationProperties() {
String configMapName = "app-properties-test";
ConfigMap configMap = new ConfigMapBuilder().withNewMetadata().withName(configMapName).endMetadata()
.addToData("application.properties", ConfigMapTestUtil.readResourceFile("application.properties"))
.build();
- mockClient.configMaps().inNamespace("test").create(configMap);
+ mockClient.configMaps().inNamespace("test").resource(configMap).create();
NormalizedSource source = new NamedConfigMapNormalizedSource(configMapName, "test", false, false);
Fabric8ConfigContext context = new Fabric8ConfigContext(mockClient, source, "", new MockEnvironment());
@@ -86,12 +86,12 @@ public class ConfigMapsTest {
}
@Test
- public void testConfigMapFromSingleApplicationYaml() {
+ void testConfigMapFromSingleApplicationYaml() {
String configMapName = "app-yaml-test";
ConfigMap configMap = new ConfigMapBuilder().withNewMetadata().withName(configMapName).endMetadata()
.addToData("application.yaml", ConfigMapTestUtil.readResourceFile("application.yaml")).build();
- mockClient.configMaps().inNamespace("test").create(configMap);
+ mockClient.configMaps().inNamespace("test").resource(configMap).create();
NormalizedSource source = new NamedConfigMapNormalizedSource(configMapName, "test", false, false);
Fabric8ConfigContext context = new Fabric8ConfigContext(mockClient, source, "", new MockEnvironment());
@@ -103,12 +103,12 @@ public class ConfigMapsTest {
}
@Test
- public void testConfigMapFromSingleNonStandardFileName() {
+ void testConfigMapFromSingleNonStandardFileName() {
String configMapName = "single-non-standard-test";
ConfigMap configMap = new ConfigMapBuilder().withNewMetadata().withName(configMapName).endMetadata()
.addToData("adhoc.yml", ConfigMapTestUtil.readResourceFile("adhoc.yml")).build();
- mockClient.configMaps().inNamespace("test").create(configMap);
+ mockClient.configMaps().inNamespace("test").resource(configMap).create();
NormalizedSource source = new NamedConfigMapNormalizedSource(configMapName, "test", false, false);
Fabric8ConfigContext context = new Fabric8ConfigContext(mockClient, source, "", new MockEnvironment());
@@ -120,12 +120,12 @@ public class ConfigMapsTest {
}
@Test
- public void testConfigMapFromSingleInvalidPropertiesContent() {
+ void testConfigMapFromSingleInvalidPropertiesContent() {
String configMapName = "single-unparseable-properties-test";
ConfigMap configMap = new ConfigMapBuilder().withNewMetadata().withName(configMapName).endMetadata()
.addToData("application.properties", "somevalue").build();
- mockClient.configMaps().inNamespace("test").create(configMap);
+ mockClient.configMaps().inNamespace("test").resource(configMap).create();
NormalizedSource source = new NamedConfigMapNormalizedSource(configMapName, "namespace", false, false);
Fabric8ConfigContext context = new Fabric8ConfigContext(mockClient, source, "", new MockEnvironment());
@@ -135,12 +135,12 @@ public class ConfigMapsTest {
}
@Test
- public void testConfigMapFromSingleInvalidYamlContent() {
+ void testConfigMapFromSingleInvalidYamlContent() {
String configMapName = "single-unparseable-yaml-test";
ConfigMap configMap = new ConfigMapBuilder().withNewMetadata().withName(configMapName).endMetadata()
.addToData("application.yaml", "somevalue").build();
- mockClient.configMaps().inNamespace("test").create(configMap);
+ mockClient.configMaps().inNamespace("test").resource(configMap).create();
NormalizedSource source = new NamedConfigMapNormalizedSource(configMapName, "namespace", false, false);
Fabric8ConfigContext context = new Fabric8ConfigContext(mockClient, source, "", new MockEnvironment());
@@ -150,13 +150,13 @@ public class ConfigMapsTest {
}
@Test
- public void testConfigMapFromMultipleApplicationProperties() {
+ void testConfigMapFromMultipleApplicationProperties() {
String configMapName = "app-multiple-properties-test";
ConfigMap configMap = new ConfigMapBuilder().withNewMetadata().withName(configMapName).endMetadata()
.addToData("application.properties", ConfigMapTestUtil.readResourceFile("application.properties"))
.addToData("adhoc.properties", ConfigMapTestUtil.readResourceFile("adhoc.properties")).build();
- mockClient.configMaps().inNamespace("test").create(configMap);
+ mockClient.configMaps().inNamespace("test").resource(configMap).create();
NormalizedSource source = new NamedConfigMapNormalizedSource(configMapName, "test", false, false);
Fabric8ConfigContext context = new Fabric8ConfigContext(mockClient, source, "", new MockEnvironment());
diff --git a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8ConfigMapPropertySourceLocatorMockTests.java b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8ConfigMapPropertySourceLocatorMockTests.java
new file mode 100644
index 00000000..0ab018c4
--- /dev/null
+++ b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8ConfigMapPropertySourceLocatorMockTests.java
@@ -0,0 +1,60 @@
+/*
+ * 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.fabric8.config;
+
+import java.util.List;
+import java.util.Map;
+
+import io.fabric8.kubernetes.client.KubernetesClient;
+import org.junit.jupiter.api.Test;
+import org.mockito.Mockito;
+
+import org.springframework.cloud.kubernetes.commons.KubernetesNamespaceProvider;
+import org.springframework.cloud.kubernetes.commons.config.ConfigMapConfigProperties;
+import org.springframework.cloud.kubernetes.commons.config.ConfigUtils;
+import org.springframework.cloud.kubernetes.commons.config.NamedConfigMapNormalizedSource;
+import org.springframework.cloud.kubernetes.commons.config.NamespaceResolutionFailedException;
+import org.springframework.cloud.kubernetes.commons.config.NormalizedSource;
+import org.springframework.cloud.kubernetes.commons.config.RetryProperties;
+import org.springframework.mock.env.MockEnvironment;
+
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
+
+/**
+ * @author wind57
+ */
+class Fabric8ConfigMapPropertySourceLocatorMockTests {
+
+ private final KubernetesClient client = Mockito.mock(KubernetesClient.class);
+
+ private static final ConfigUtils.Prefix PREFIX = ConfigUtils.findPrefix("prefix", false, false, "irrelevant");
+
+ @Test
+ void constructorWithoutClientNamespaceMustFail() {
+
+ ConfigMapConfigProperties configMapConfigProperties = new ConfigMapConfigProperties(true, List.of(), List.of(),
+ Map.of(), true, "name", null, false, true, false, RetryProperties.DEFAULT);
+
+ Mockito.when(client.getNamespace()).thenReturn(null);
+ Fabric8ConfigMapPropertySourceLocator source = new Fabric8ConfigMapPropertySourceLocator(client,
+ configMapConfigProperties, new KubernetesNamespaceProvider(new MockEnvironment()));
+ NormalizedSource normalizedSource = new NamedConfigMapNormalizedSource("name", null, false, PREFIX, false);
+ assertThatThrownBy(() -> source.getMapPropertySource(normalizedSource, new MockEnvironment()))
+ .isInstanceOf(NamespaceResolutionFailedException.class);
+ }
+
+}
diff --git a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8ConfigMapPropertySourceLocatorTests.java b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8ConfigMapPropertySourceLocatorTests.java
index 012bd83a..547b07c4 100644
--- a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8ConfigMapPropertySourceLocatorTests.java
+++ b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8ConfigMapPropertySourceLocatorTests.java
@@ -19,19 +19,13 @@ package org.springframework.cloud.kubernetes.fabric8.config;
import java.util.List;
import java.util.Map;
-import io.fabric8.kubernetes.client.DefaultKubernetesClient;
import io.fabric8.kubernetes.client.KubernetesClient;
import io.fabric8.kubernetes.client.server.mock.EnableKubernetesMockClient;
import io.fabric8.kubernetes.client.server.mock.KubernetesMockServer;
import org.junit.jupiter.api.Test;
-import org.mockito.Mockito;
import org.springframework.cloud.kubernetes.commons.KubernetesNamespaceProvider;
import org.springframework.cloud.kubernetes.commons.config.ConfigMapConfigProperties;
-import org.springframework.cloud.kubernetes.commons.config.ConfigUtils;
-import org.springframework.cloud.kubernetes.commons.config.NamedConfigMapNormalizedSource;
-import org.springframework.cloud.kubernetes.commons.config.NamespaceResolutionFailedException;
-import org.springframework.cloud.kubernetes.commons.config.NormalizedSource;
import org.springframework.cloud.kubernetes.commons.config.RetryProperties;
import org.springframework.mock.env.MockEnvironment;
@@ -48,10 +42,6 @@ class Fabric8ConfigMapPropertySourceLocatorTests {
private KubernetesClient mockClient;
- private final DefaultKubernetesClient client = Mockito.mock(DefaultKubernetesClient.class);
-
- private static final ConfigUtils.Prefix PREFIX = ConfigUtils.findPrefix("prefix", false, false, "irrelevant");
-
@Test
void locateShouldThrowExceptionOnFailureWhenFailFastIsEnabled() {
String name = "my-config";
@@ -87,18 +77,4 @@ class Fabric8ConfigMapPropertySourceLocatorTests {
assertThatNoException().isThrownBy(() -> locator.locate(new MockEnvironment()));
}
- @Test
- void constructorWithoutClientNamespaceMustFail() {
-
- ConfigMapConfigProperties configMapConfigProperties = new ConfigMapConfigProperties(true, List.of(), List.of(),
- Map.of(), true, "name", null, false, true, false, RetryProperties.DEFAULT);
-
- Mockito.when(client.getNamespace()).thenReturn(null);
- Fabric8ConfigMapPropertySourceLocator source = new Fabric8ConfigMapPropertySourceLocator(client,
- configMapConfigProperties, new KubernetesNamespaceProvider(new MockEnvironment()));
- NormalizedSource normalizedSource = new NamedConfigMapNormalizedSource("name", null, false, PREFIX, false);
- assertThatThrownBy(() -> source.getMapPropertySource(normalizedSource, new MockEnvironment()))
- .isInstanceOf(NamespaceResolutionFailedException.class);
- }
-
}
diff --git a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8ConfigMapPropertySourceMockTests.java b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8ConfigMapPropertySourceMockTests.java
new file mode 100644
index 00000000..912ac2d3
--- /dev/null
+++ b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8ConfigMapPropertySourceMockTests.java
@@ -0,0 +1,54 @@
+/*
+ * 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.fabric8.config;
+
+import io.fabric8.kubernetes.client.KubernetesClient;
+import org.junit.jupiter.api.Test;
+import org.mockito.Mockito;
+
+import org.springframework.cloud.kubernetes.commons.config.NamedConfigMapNormalizedSource;
+import org.springframework.cloud.kubernetes.commons.config.NormalizedSource;
+import org.springframework.mock.env.MockEnvironment;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+/**
+ * @author wind57
+ */
+class Fabric8ConfigMapPropertySourceMockTests {
+
+ private final KubernetesClient client = Mockito.mock(KubernetesClient.class);
+
+ @Test
+ void constructorWithClientNamespaceMustNotFail() {
+
+ Mockito.when(client.getNamespace()).thenReturn("namespace");
+ NormalizedSource source = new NamedConfigMapNormalizedSource("configmap", null, false, false);
+ Fabric8ConfigContext context = new Fabric8ConfigContext(client, source, "", new MockEnvironment());
+ assertThat(new Fabric8ConfigMapPropertySource(context)).isNotNull();
+ }
+
+ @Test
+ void constructorWithNamespaceMustNotFail() {
+
+ Mockito.when(client.getNamespace()).thenReturn(null);
+ NormalizedSource source = new NamedConfigMapNormalizedSource("configMap", null, false, true);
+ Fabric8ConfigContext context = new Fabric8ConfigContext(client, source, "", new MockEnvironment());
+ assertThat(new Fabric8ConfigMapPropertySource(context)).isNotNull();
+ }
+
+}
diff --git a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8ConfigMapPropertySourceTests.java b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8ConfigMapPropertySourceTests.java
index 1b826ad2..27748ac0 100644
--- a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8ConfigMapPropertySourceTests.java
+++ b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8ConfigMapPropertySourceTests.java
@@ -16,19 +16,16 @@
package org.springframework.cloud.kubernetes.fabric8.config;
-import io.fabric8.kubernetes.client.DefaultKubernetesClient;
import io.fabric8.kubernetes.client.KubernetesClient;
import io.fabric8.kubernetes.client.server.mock.EnableKubernetesMockClient;
import io.fabric8.kubernetes.client.server.mock.KubernetesMockServer;
import org.junit.jupiter.api.Test;
-import org.mockito.Mockito;
import org.springframework.cloud.kubernetes.commons.config.ConfigUtils;
import org.springframework.cloud.kubernetes.commons.config.NamedConfigMapNormalizedSource;
import org.springframework.cloud.kubernetes.commons.config.NormalizedSource;
import org.springframework.mock.env.MockEnvironment;
-import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatNoException;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
@@ -42,15 +39,13 @@ class Fabric8ConfigMapPropertySourceTests {
private KubernetesClient mockClient;
- private final DefaultKubernetesClient client = Mockito.mock(DefaultKubernetesClient.class);
-
private static final ConfigUtils.Prefix DEFAULT = ConfigUtils.findPrefix("default", false, false, "irrelevant");
@Test
void constructorShouldThrowExceptionOnFailureWhenFailFastIsEnabled() {
- final String name = "my-config";
- final String namespace = "default";
- final String path = String.format("/api/v1/namespaces/%s/configmaps", namespace);
+ String name = "my-config";
+ String namespace = "default";
+ String path = String.format("/api/v1/namespaces/%s/configmaps", namespace);
mockServer.expect().withPath(path).andReturn(500, "Internal Server Error").once();
NormalizedSource source = new NamedConfigMapNormalizedSource(name, namespace, true, DEFAULT, true);
@@ -61,9 +56,9 @@ class Fabric8ConfigMapPropertySourceTests {
@Test
void constructorShouldNotThrowExceptionOnFailureWhenFailFastIsDisabled() {
- final String name = "my-config";
- final String namespace = "default";
- final String path = String.format("/api/v1/namespaces/%s/configmaps/%s", namespace, name);
+ String name = "my-config";
+ String namespace = "default";
+ String path = String.format("/api/v1/namespaces/%s/configmaps/%s", namespace, name);
mockServer.expect().withPath(path).andReturn(500, "Internal Server Error").once();
NormalizedSource source = new NamedConfigMapNormalizedSource(name, namespace, false, false);
@@ -71,22 +66,4 @@ class Fabric8ConfigMapPropertySourceTests {
assertThatNoException().isThrownBy(() -> new Fabric8ConfigMapPropertySource(context));
}
- @Test
- void constructorWithClientNamespaceMustNotFail() {
-
- Mockito.when(client.getNamespace()).thenReturn("namespace");
- NormalizedSource source = new NamedConfigMapNormalizedSource("configmap", null, false, false);
- Fabric8ConfigContext context = new Fabric8ConfigContext(mockClient, source, "", new MockEnvironment());
- assertThat(new Fabric8ConfigMapPropertySource(context)).isNotNull();
- }
-
- @Test
- void constructorWithNamespaceMustNotFail() {
-
- Mockito.when(client.getNamespace()).thenReturn(null);
- NormalizedSource source = new NamedConfigMapNormalizedSource("configMap", null, false, true);
- Fabric8ConfigContext context = new Fabric8ConfigContext(mockClient, source, "", new MockEnvironment());
- assertThat(new Fabric8ConfigMapPropertySource(context)).isNotNull();
- }
-
}
diff --git a/spring-cloud-kubernetes-fabric8-discovery/pom.xml b/spring-cloud-kubernetes-fabric8-discovery/pom.xml
index d27450d0..3b537c65 100644
--- a/spring-cloud-kubernetes-fabric8-discovery/pom.xml
+++ b/spring-cloud-kubernetes-fabric8-discovery/pom.xml
@@ -10,7 +10,7 @@
4.0.0
spring-cloud-kubernetes-fabric8-discovery
- Spring Cloud Kubernetes :: Discovery
+ Spring Cloud Kubernetes :: Fabric8 Discovery
diff --git a/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/Fabric8EndpointSliceV1CatalogWatch.java b/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/Fabric8EndpointSliceV1CatalogWatch.java
index bfc60934..e79f084f 100644
--- a/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/Fabric8EndpointSliceV1CatalogWatch.java
+++ b/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/Fabric8EndpointSliceV1CatalogWatch.java
@@ -47,20 +47,20 @@ final class Fabric8EndpointSliceV1CatalogWatch
if (context.properties().allNamespaces()) {
LOG.debug(() -> "discovering endpoints in all namespaces");
- try (KubernetesClient client = context.kubernetesClient()) {
- endpointSlices = client.discovery().v1().endpointSlices().inAnyNamespace()
- .withLabels(context.properties().serviceLabels()).list().getItems();
- }
-
+ // can't use try with resources here as it will close the client
+ KubernetesClient client = context.kubernetesClient();
+ endpointSlices = client.discovery().v1().endpointSlices().inAnyNamespace()
+ .withLabels(context.properties().serviceLabels()).list().getItems();
}
else {
String namespace = Fabric8Utils.getApplicationNamespace(context.kubernetesClient(), null, "catalog-watcher",
context.namespaceProvider());
LOG.debug(() -> "fabric8 catalog watcher will use namespace : " + namespace);
- try (KubernetesClient client = context.kubernetesClient()) {
- endpointSlices = client.discovery().v1().endpointSlices().inNamespace(namespace)
- .withLabels(context.properties().serviceLabels()).list().getItems();
- }
+
+ // can't use try with resources here as it will close the client
+ KubernetesClient client = context.kubernetesClient();
+ endpointSlices = client.discovery().v1().endpointSlices().inNamespace(namespace)
+ .withLabels(context.properties().serviceLabels()).list().getItems();
}
Stream references = endpointSlices.stream().map(EndpointSlice::getEndpoints)
diff --git a/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/Fabric8EndpointsCatalogWatch.java b/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/Fabric8EndpointsCatalogWatch.java
index 1b313ac4..68c426d7 100644
--- a/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/Fabric8EndpointsCatalogWatch.java
+++ b/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/Fabric8EndpointsCatalogWatch.java
@@ -49,20 +49,20 @@ final class Fabric8EndpointsCatalogWatch
if (context.properties().allNamespaces()) {
LOG.debug(() -> "discovering endpoints in all namespaces");
- try (KubernetesClient client = context.kubernetesClient()) {
- endpoints = client.endpoints().inAnyNamespace().withLabels(context.properties().serviceLabels()).list()
- .getItems();
- }
-
+ // can't use try with resources here as it will close the client
+ KubernetesClient client = context.kubernetesClient();
+ endpoints = client.endpoints().inAnyNamespace().withLabels(context.properties().serviceLabels()).list()
+ .getItems();
}
else {
String namespace = Fabric8Utils.getApplicationNamespace(context.kubernetesClient(), null, "catalog-watcher",
context.namespaceProvider());
LOG.debug(() -> "fabric8 catalog watcher will use namespace : " + namespace);
- try (KubernetesClient client = context.kubernetesClient()) {
- endpoints = client.endpoints().inNamespace(namespace).withLabels(context.properties().serviceLabels())
- .list().getItems();
- }
+
+ // can't use try with resources here as it will close the client
+ KubernetesClient client = context.kubernetesClient();
+ endpoints = client.endpoints().inNamespace(namespace).withLabels(context.properties().serviceLabels())
+ .list().getItems();
}
/**
diff --git a/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesCatalogWatch.java b/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesCatalogWatch.java
index c9994ba7..180998b4 100644
--- a/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesCatalogWatch.java
+++ b/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesCatalogWatch.java
@@ -86,20 +86,20 @@ public class KubernetesCatalogWatch implements ApplicationEventPublisherAware {
void postConstruct() {
if (context.properties().useEndpointSlices()) {
- try (KubernetesClient client = context.kubernetesClient()) {
- // this emulates : 'kubectl api-resources | grep -i EndpointSlice'
- boolean found = client.getApiGroups().getGroups().stream().flatMap(x -> x.getVersions().stream())
- .map(GroupVersionForDiscovery::getGroupVersion).filter(DISCOVERY_GROUP_VERSION::equals)
- .findFirst().map(client::getApiResources).map(APIResourceList::getResources)
- .map(x -> x.stream().map(APIResource::getKind))
- .flatMap(x -> x.filter(y -> y.equals(ENDPOINT_SLICE)).findFirst()).isPresent();
+ // can't use try with resources here as it will close the client
+ KubernetesClient client = context.kubernetesClient();
+ // this emulates : 'kubectl api-resources | grep -i EndpointSlice'
+ boolean found = client.getApiGroups().getGroups().stream().flatMap(x -> x.getVersions().stream())
+ .map(GroupVersionForDiscovery::getGroupVersion).filter(DISCOVERY_GROUP_VERSION::equals).findFirst()
+ .map(client::getApiResources).map(APIResourceList::getResources)
+ .map(x -> x.stream().map(APIResource::getKind))
+ .flatMap(x -> x.filter(y -> y.equals(ENDPOINT_SLICE)).findFirst()).isPresent();
- if (!found) {
- throw new IllegalArgumentException("EndpointSlices are not supported on the cluster");
- }
- else {
- stateGenerator = new Fabric8EndpointSliceV1CatalogWatch();
- }
+ if (!found) {
+ throw new IllegalArgumentException("EndpointSlices are not supported on the cluster");
+ }
+ else {
+ stateGenerator = new Fabric8EndpointSliceV1CatalogWatch();
}
}
else {
diff --git a/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesClientServicesFunction.java b/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesClientServicesFunction.java
index e7c690a0..e06aa948 100644
--- a/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesClientServicesFunction.java
+++ b/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesClientServicesFunction.java
@@ -22,6 +22,7 @@ import io.fabric8.kubernetes.api.model.Service;
import io.fabric8.kubernetes.api.model.ServiceList;
import io.fabric8.kubernetes.client.KubernetesClient;
import io.fabric8.kubernetes.client.dsl.FilterWatchListDeletable;
+import io.fabric8.kubernetes.client.dsl.ServiceResource;
/**
* A regular java.util.function that is used to hide the complexity of the
@@ -42,6 +43,6 @@ import io.fabric8.kubernetes.client.dsl.FilterWatchListDeletable;
* @author Georgios Andrianakis
*/
public interface KubernetesClientServicesFunction
- extends Function> {
+ extends Function>> {
}
diff --git a/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/Fabric8KubernetesCatalogWatchEndpointSlicesTests.java b/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/Fabric8KubernetesCatalogWatchEndpointSlicesTests.java
index 1042cb0b..f1cbf6f0 100644
--- a/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/Fabric8KubernetesCatalogWatchEndpointSlicesTests.java
+++ b/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/Fabric8KubernetesCatalogWatchEndpointSlicesTests.java
@@ -88,6 +88,7 @@ class Fabric8KubernetesCatalogWatchEndpointSlicesTests {
System.setProperty(Config.KUBERNETES_AUTH_TRYSERVICEACCOUNT_SYSTEM_PROPERTY, "false");
System.setProperty(Config.KUBERNETES_NAMESPACE_SYSTEM_PROPERTY, "test");
System.setProperty(Config.KUBERNETES_HTTP2_DISABLE, "true");
+
}
@AfterEach
@@ -120,7 +121,7 @@ class Fabric8KubernetesCatalogWatchEndpointSlicesTests {
mockServer.expect()
.withPath("/apis/discovery.k8s.io/v1/namespaces/namespaceA/endpointslices?labelSelector=color%3Dblue")
- .andReturn(200, listInNamespaceA).once();
+ .andReturn(200, listInNamespaceA).always();
// this is mocked, but never supposed to be called
EndpointSlice sliceD = createSingleEndpointWithEndpointSlices("namespaceB", Map.of("color", "blue"), "podD");
diff --git a/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesCatalogWatchTest.java b/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesCatalogWatchTest.java
index a9396706..db5323d9 100644
--- a/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesCatalogWatchTest.java
+++ b/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesCatalogWatchTest.java
@@ -70,7 +70,7 @@ class KubernetesCatalogWatchTest {
private static final NonNamespaceOperation> NON_NAMESPACE_OPERATION = Mockito
.mock(NonNamespaceOperation.class);
- private static final FilterWatchListDeletable FILTER_WATCH_LIST_DELETABLE = Mockito
+ private static final FilterWatchListDeletable> FILTER_WATCH_LIST_DELETABLE = Mockito
.mock(FilterWatchListDeletable.class);
private static final ArgumentCaptor HEARTBEAT_EVENT_ARGUMENT_CAPTOR = ArgumentCaptor
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 2b2e8f0e..fd583241 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
@@ -72,7 +72,7 @@ public class KubernetesDiscoveryClientFilterMetadataTest {
private ServiceResource serviceResource;
@Mock
- FilterWatchListDeletable filter;
+ FilterWatchListDeletable> filter;
@Test
public void testAllExtraMetadataDisabled() {
diff --git a/spring-cloud-kubernetes-fabric8-istio/pom.xml b/spring-cloud-kubernetes-fabric8-istio/pom.xml
index 1b4f7322..50130e84 100644
--- a/spring-cloud-kubernetes-fabric8-istio/pom.xml
+++ b/spring-cloud-kubernetes-fabric8-istio/pom.xml
@@ -26,7 +26,7 @@
spring-web
- me.snowdrop
+ io.fabric8
istio-client
diff --git a/spring-cloud-kubernetes-fabric8-istio/src/main/java/org/springframework/cloud/kubernetes/fabric8/istio/IstioAutoConfiguration.java b/spring-cloud-kubernetes-fabric8-istio/src/main/java/org/springframework/cloud/kubernetes/fabric8/istio/IstioAutoConfiguration.java
index 5b0c165a..036bb2db 100644
--- a/spring-cloud-kubernetes-fabric8-istio/src/main/java/org/springframework/cloud/kubernetes/fabric8/istio/IstioAutoConfiguration.java
+++ b/spring-cloud-kubernetes-fabric8-istio/src/main/java/org/springframework/cloud/kubernetes/fabric8/istio/IstioAutoConfiguration.java
@@ -16,9 +16,9 @@
package org.springframework.cloud.kubernetes.fabric8.istio;
+import io.fabric8.istio.client.DefaultIstioClient;
+import io.fabric8.istio.client.IstioClient;
import io.fabric8.kubernetes.client.Config;
-import me.snowdrop.istio.client.DefaultIstioClient;
-import me.snowdrop.istio.client.IstioClient;
import org.springframework.boot.autoconfigure.condition.ConditionalOnCloudPlatform;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
diff --git a/spring-cloud-kubernetes-fabric8-istio/src/test/java/org/springframework/cloud/kubernetes/fabric8/istio/IstioAutoConfigurationClientNotPresentWhenIstioDisabled.java b/spring-cloud-kubernetes-fabric8-istio/src/test/java/org/springframework/cloud/kubernetes/fabric8/istio/IstioAutoConfigurationClientNotPresentWhenIstioDisabled.java
index 5284f6ed..e8eb5639 100644
--- a/spring-cloud-kubernetes-fabric8-istio/src/test/java/org/springframework/cloud/kubernetes/fabric8/istio/IstioAutoConfigurationClientNotPresentWhenIstioDisabled.java
+++ b/spring-cloud-kubernetes-fabric8-istio/src/test/java/org/springframework/cloud/kubernetes/fabric8/istio/IstioAutoConfigurationClientNotPresentWhenIstioDisabled.java
@@ -16,7 +16,7 @@
package org.springframework.cloud.kubernetes.fabric8.istio;
-import me.snowdrop.istio.client.IstioClient;
+import io.fabric8.istio.client.IstioClient;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/spring-cloud-kubernetes-fabric8-istio/src/test/java/org/springframework/cloud/kubernetes/fabric8/istio/IstioAutoConfigurationClientNotPresentWhenKubernetesDisabled.java b/spring-cloud-kubernetes-fabric8-istio/src/test/java/org/springframework/cloud/kubernetes/fabric8/istio/IstioAutoConfigurationClientNotPresentWhenKubernetesDisabled.java
index 5b15e9ae..688c2766 100644
--- a/spring-cloud-kubernetes-fabric8-istio/src/test/java/org/springframework/cloud/kubernetes/fabric8/istio/IstioAutoConfigurationClientNotPresentWhenKubernetesDisabled.java
+++ b/spring-cloud-kubernetes-fabric8-istio/src/test/java/org/springframework/cloud/kubernetes/fabric8/istio/IstioAutoConfigurationClientNotPresentWhenKubernetesDisabled.java
@@ -16,7 +16,7 @@
package org.springframework.cloud.kubernetes.fabric8.istio;
-import me.snowdrop.istio.client.IstioClient;
+import io.fabric8.istio.client.IstioClient;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/spring-cloud-kubernetes-fabric8-istio/src/test/java/org/springframework/cloud/kubernetes/fabric8/istio/IstioAutoConfigurationClientPresentByDefault.java b/spring-cloud-kubernetes-fabric8-istio/src/test/java/org/springframework/cloud/kubernetes/fabric8/istio/IstioAutoConfigurationClientPresentByDefault.java
index 76b6924d..d6a9df60 100644
--- a/spring-cloud-kubernetes-fabric8-istio/src/test/java/org/springframework/cloud/kubernetes/fabric8/istio/IstioAutoConfigurationClientPresentByDefault.java
+++ b/spring-cloud-kubernetes-fabric8-istio/src/test/java/org/springframework/cloud/kubernetes/fabric8/istio/IstioAutoConfigurationClientPresentByDefault.java
@@ -16,7 +16,7 @@
package org.springframework.cloud.kubernetes.fabric8.istio;
-import me.snowdrop.istio.client.IstioClient;
+import io.fabric8.istio.client.IstioClient;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/spring-cloud-kubernetes-fabric8-istio/src/test/java/org/springframework/cloud/kubernetes/fabric8/istio/IstioAutoConfigurationClientPresentWhenIstioEnabled.java b/spring-cloud-kubernetes-fabric8-istio/src/test/java/org/springframework/cloud/kubernetes/fabric8/istio/IstioAutoConfigurationClientPresentWhenIstioEnabled.java
index 2797164f..f8c898e9 100644
--- a/spring-cloud-kubernetes-fabric8-istio/src/test/java/org/springframework/cloud/kubernetes/fabric8/istio/IstioAutoConfigurationClientPresentWhenIstioEnabled.java
+++ b/spring-cloud-kubernetes-fabric8-istio/src/test/java/org/springframework/cloud/kubernetes/fabric8/istio/IstioAutoConfigurationClientPresentWhenIstioEnabled.java
@@ -16,7 +16,7 @@
package org.springframework.cloud.kubernetes.fabric8.istio;
-import me.snowdrop.istio.client.IstioClient;
+import io.fabric8.istio.client.IstioClient;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/spring-cloud-kubernetes-fabric8-leader/src/main/java/org/springframework/cloud/kubernetes/fabric8/leader/Fabric8PodReadinessWatcher.java b/spring-cloud-kubernetes-fabric8-leader/src/main/java/org/springframework/cloud/kubernetes/fabric8/leader/Fabric8PodReadinessWatcher.java
index 2f5a56af..43cb1d87 100644
--- a/spring-cloud-kubernetes-fabric8-leader/src/main/java/org/springframework/cloud/kubernetes/fabric8/leader/Fabric8PodReadinessWatcher.java
+++ b/spring-cloud-kubernetes-fabric8-leader/src/main/java/org/springframework/cloud/kubernetes/fabric8/leader/Fabric8PodReadinessWatcher.java
@@ -22,7 +22,7 @@ import io.fabric8.kubernetes.client.Watch;
import io.fabric8.kubernetes.client.Watcher;
import io.fabric8.kubernetes.client.WatcherException;
import io.fabric8.kubernetes.client.dsl.PodResource;
-import io.fabric8.kubernetes.client.internal.readiness.Readiness;
+import io.fabric8.kubernetes.client.readiness.Readiness;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -60,7 +60,7 @@ public class Fabric8PodReadinessWatcher implements PodReadinessWatcher, Watcher<
synchronized (this.lock) {
if (this.watch == null) {
LOGGER.debug("Starting pod readiness watcher for '{}'", this.podName);
- PodResource podResource = this.kubernetesClient.pods().withName(this.podName);
+ PodResource podResource = this.kubernetesClient.pods().withName(this.podName);
this.previousState = podResource.isReady();
this.watch = podResource.watch(this);
}
diff --git a/spring-cloud-kubernetes-fabric8-leader/src/test/java/org/springframework/cloud/kubernetes/fabric8/leader/Fabric8PodReadinessWatcherTest.java b/spring-cloud-kubernetes-fabric8-leader/src/test/java/org/springframework/cloud/kubernetes/fabric8/leader/Fabric8PodReadinessWatcherTest.java
index 0e466432..c26d76ad 100644
--- a/spring-cloud-kubernetes-fabric8-leader/src/test/java/org/springframework/cloud/kubernetes/fabric8/leader/Fabric8PodReadinessWatcherTest.java
+++ b/spring-cloud-kubernetes-fabric8-leader/src/test/java/org/springframework/cloud/kubernetes/fabric8/leader/Fabric8PodReadinessWatcherTest.java
@@ -50,10 +50,10 @@ public class Fabric8PodReadinessWatcherTest {
private KubernetesClient mockKubernetesClient;
@Mock
- private MixedOperation> mockPodsOperation;
+ private MixedOperation mockPodsOperation;
@Mock
- private PodResource mockPodResource;
+ private PodResource mockPodResource;
@Mock
private Pod mockPod;
diff --git a/spring-cloud-kubernetes-fabric8-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/fabric8/loadbalancer/Fabric8ServiceInstanceMapperTests.java b/spring-cloud-kubernetes-fabric8-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/fabric8/loadbalancer/Fabric8ServiceInstanceMapperTests.java
index 1cc0d702..e8b18dce 100644
--- a/spring-cloud-kubernetes-fabric8-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/fabric8/loadbalancer/Fabric8ServiceInstanceMapperTests.java
+++ b/spring-cloud-kubernetes-fabric8-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/fabric8/loadbalancer/Fabric8ServiceInstanceMapperTests.java
@@ -115,7 +115,7 @@ class Fabric8ServiceInstanceMapperTests {
private Service buildService(String name, String uid, List ports, Map labels,
Map annotations) {
- return new ServiceBuilder().withNewMetadata().withName(name).withNewUid(uid).addToLabels(labels)
+ return new ServiceBuilder().withNewMetadata().withName(name).withUid(uid).addToLabels(labels)
.withAnnotations(annotations).endMetadata().withNewSpec().addAllToPorts(ports).endSpec().build();
}
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 6da2fe82..9e463466 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
@@ -24,7 +24,7 @@ import io.fabric8.kubernetes.api.model.Service;
import io.fabric8.kubernetes.api.model.ServiceBuilder;
import io.fabric8.kubernetes.api.model.ServiceList;
import io.fabric8.kubernetes.client.KubernetesClient;
-import io.fabric8.kubernetes.client.dsl.FilterWatchListMultiDeletable;
+import io.fabric8.kubernetes.client.dsl.AnyNamespaceOperation;
import io.fabric8.kubernetes.client.dsl.MixedOperation;
import io.fabric8.kubernetes.client.dsl.NonNamespaceOperation;
import io.fabric8.kubernetes.client.dsl.ServiceResource;
@@ -65,7 +65,7 @@ class KubernetesServiceListSupplierTests {
ServiceResource serviceResource;
@Mock
- FilterWatchListMultiDeletable multiDeletable;
+ AnyNamespaceOperation> multiDeletable;
@Test
void testPositiveMatch() {
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/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/multiple/apps/ConfigurationWatcherMultipleAppIT.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-secrets-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-secrets-test-app/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/multiple/apps/ConfigurationWatcherMultipleAppIT.java
index e18c0b58..b078c04a 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/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/multiple/apps/ConfigurationWatcherMultipleAppIT.java
+++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-secrets-event-reload-multiple-apps/spring-cloud-kubernetes-client-configuration-watcher-secrets-test-app/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/multiple/apps/ConfigurationWatcherMultipleAppIT.java
@@ -190,7 +190,8 @@ class ConfigurationWatcherMultipleAppIT {
.getImage().split(":");
Commons.pullImage(image[0], image[1], K3S);
Commons.loadImage(image[0], image[1], "rabbitmq", K3S);
- api.createNamespacedReplicationController(NAMESPACE, getRabbitMQReplicationController(), null, null, null, null);
+ api.createNamespacedReplicationController(NAMESPACE, getRabbitMQReplicationController(), null, null, null,
+ null);
}
private V1ReplicationController getRabbitMQReplicationController() throws Exception {
diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-catalog-watcher/src/test/java/org/springframework/cloud/kubernetes/fabric8/catalog/watch/CatalogWatchIT.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-catalog-watcher/src/test/java/org/springframework/cloud/kubernetes/fabric8/catalog/watch/CatalogWatchIT.java
index 250d6dc6..761adba0 100644
--- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-catalog-watcher/src/test/java/org/springframework/cloud/kubernetes/fabric8/catalog/watch/CatalogWatchIT.java
+++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-catalog-watcher/src/test/java/org/springframework/cloud/kubernetes/fabric8/catalog/watch/CatalogWatchIT.java
@@ -25,8 +25,8 @@ import io.fabric8.kubernetes.api.model.Service;
import io.fabric8.kubernetes.api.model.apps.Deployment;
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
import io.fabric8.kubernetes.client.Config;
-import io.fabric8.kubernetes.client.DefaultKubernetesClient;
import io.fabric8.kubernetes.client.KubernetesClient;
+import io.fabric8.kubernetes.client.KubernetesClientBuilder;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeAll;
@@ -76,7 +76,7 @@ class CatalogWatchIT {
static void beforeAll() throws Exception {
K3S.start();
Config config = Config.fromKubeconfig(K3S.getKubeConfigYaml());
- client = new DefaultKubernetesClient(config);
+ client = new KubernetesClientBuilder().withConfig(config).build();
Commons.validateImage(APP_NAME, K3S);
Commons.loadSpringCloudKubernetesImage(APP_NAME, K3S);
diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-configmap-event-reload/src/test/java/org/springframework/cloud/kubernetes/fabric8/configmap/event/reload/ConfigMapEventReloadIT.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-configmap-event-reload/src/test/java/org/springframework/cloud/kubernetes/fabric8/configmap/event/reload/ConfigMapEventReloadIT.java
index 5edd5a9d..56e9828f 100644
--- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-configmap-event-reload/src/test/java/org/springframework/cloud/kubernetes/fabric8/configmap/event/reload/ConfigMapEventReloadIT.java
+++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-configmap-event-reload/src/test/java/org/springframework/cloud/kubernetes/fabric8/configmap/event/reload/ConfigMapEventReloadIT.java
@@ -31,9 +31,9 @@ import io.fabric8.kubernetes.api.model.Service;
import io.fabric8.kubernetes.api.model.apps.Deployment;
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
import io.fabric8.kubernetes.client.Config;
-import io.fabric8.kubernetes.client.DefaultKubernetesClient;
import io.fabric8.kubernetes.client.KubernetesClient;
-import io.fabric8.kubernetes.client.dsl.base.HasMetadataOperation;
+import io.fabric8.kubernetes.client.KubernetesClientBuilder;
+import io.fabric8.kubernetes.client.dsl.internal.HasMetadataOperation;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeAll;
@@ -84,7 +84,7 @@ class ConfigMapEventReloadIT {
Commons.validateImage(IMAGE_NAME, K3S);
Commons.loadSpringCloudKubernetesImage(IMAGE_NAME, K3S);
Config config = Config.fromKubeconfig(K3S.getKubeConfigYaml());
- client = new DefaultKubernetesClient(config);
+ client = new KubernetesClientBuilder().withConfig(config).build();
createNamespaces();
Fabric8Utils.setUpClusterWide(client, "default", Set.of("left", "right"));
diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-configmap-polling-reload/src/test/java/org/springframework/cloud/kubernetes/fabric8/configmap/polling/reload/ConfigMapPollingReloadIT.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-configmap-polling-reload/src/test/java/org/springframework/cloud/kubernetes/fabric8/configmap/polling/reload/ConfigMapPollingReloadIT.java
index d3274935..4dff2e7f 100644
--- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-configmap-polling-reload/src/test/java/org/springframework/cloud/kubernetes/fabric8/configmap/polling/reload/ConfigMapPollingReloadIT.java
+++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-configmap-polling-reload/src/test/java/org/springframework/cloud/kubernetes/fabric8/configmap/polling/reload/ConfigMapPollingReloadIT.java
@@ -28,9 +28,9 @@ import io.fabric8.kubernetes.api.model.Service;
import io.fabric8.kubernetes.api.model.apps.Deployment;
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
import io.fabric8.kubernetes.client.Config;
-import io.fabric8.kubernetes.client.DefaultKubernetesClient;
import io.fabric8.kubernetes.client.KubernetesClient;
-import io.fabric8.kubernetes.client.dsl.base.HasMetadataOperation;
+import io.fabric8.kubernetes.client.KubernetesClientBuilder;
+import io.fabric8.kubernetes.client.dsl.internal.HasMetadataOperation;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeAll;
@@ -76,7 +76,7 @@ class ConfigMapPollingReloadIT {
Commons.validateImage(IMAGE_NAME, K3S);
Commons.loadSpringCloudKubernetesImage(IMAGE_NAME, K3S);
Config config = Config.fromKubeconfig(K3S.getKubeConfigYaml());
- client = new DefaultKubernetesClient(config);
+ client = new KubernetesClientBuilder().withConfig(config).build();
Fabric8Utils.setUp(client, NAMESPACE);
deployManifests();
}
@@ -106,9 +106,9 @@ class ConfigMapPollingReloadIT {
// the weird cast comes from :
// https://github.com/fabric8io/kubernetes-client/issues/2445
((HasMetadataOperation) client.configMaps().inNamespace("default").withName("poll-reload"))
- .createOrReplace(map);
+ .resource(map).createOrReplace();
- await().timeout(Duration.ofSeconds(30)).until(() -> webClient.method(HttpMethod.GET).retrieve()
+ await().timeout(Duration.ofSeconds(60)).until(() -> webClient.method(HttpMethod.GET).retrieve()
.bodyToMono(String.class).retryWhen(retrySpec()).block().equals("after-change"));
}
@@ -135,7 +135,7 @@ class ConfigMapPollingReloadIT {
ConfigMap configMap = client.configMaps().load(getConfigMap()).get();
configMapName = configMap.getMetadata().getName();
- client.configMaps().create(configMap);
+ client.configMaps().resource(configMap).create();
Deployment deployment = client.apps().deployments().load(getDeployment()).get();
@@ -148,11 +148,11 @@ class ConfigMapPollingReloadIT {
Service service = client.services().load(getService()).get();
serviceName = service.getMetadata().getName();
- client.services().inNamespace(NAMESPACE).create(service);
+ client.services().inNamespace(NAMESPACE).resource(service).create();
Ingress ingress = client.network().v1().ingresses().load(getIngress()).get();
ingressName = ingress.getMetadata().getName();
- client.network().v1().ingresses().inNamespace(NAMESPACE).create(ingress);
+ client.network().v1().ingresses().inNamespace(NAMESPACE).resource(ingress).create();
Fabric8Utils.waitForDeployment(client,
"spring-cloud-kubernetes-fabric8-client-configmap-deployment-polling-reload", NAMESPACE, 2, 600);
diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-configmap/src/test/java/org/springframework/cloud/kubernetes/fabric8/configmap/Fabric8ConfigMapIT.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-configmap/src/test/java/org/springframework/cloud/kubernetes/fabric8/configmap/Fabric8ConfigMapIT.java
index 9cca4695..2ee47ba3 100644
--- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-configmap/src/test/java/org/springframework/cloud/kubernetes/fabric8/configmap/Fabric8ConfigMapIT.java
+++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-configmap/src/test/java/org/springframework/cloud/kubernetes/fabric8/configmap/Fabric8ConfigMapIT.java
@@ -25,8 +25,8 @@ import io.fabric8.kubernetes.api.model.Service;
import io.fabric8.kubernetes.api.model.apps.Deployment;
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
import io.fabric8.kubernetes.client.Config;
-import io.fabric8.kubernetes.client.DefaultKubernetesClient;
import io.fabric8.kubernetes.client.KubernetesClient;
+import io.fabric8.kubernetes.client.KubernetesClientBuilder;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeAll;
@@ -67,7 +67,7 @@ class Fabric8ConfigMapIT {
Commons.validateImage(IMAGE_NAME, K3S);
Commons.loadSpringCloudKubernetesImage(IMAGE_NAME, K3S);
Config config = Config.fromKubeconfig(K3S.getKubeConfigYaml());
- client = new DefaultKubernetesClient(config);
+ client = new KubernetesClientBuilder().withConfig(config).build();
Fabric8Utils.setUp(client, NAMESPACE);
deployManifests();
}
diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/configmap/Fabric8DiscoveryIT.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/configmap/Fabric8DiscoveryIT.java
index 52385680..fca1f5bf 100644
--- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/configmap/Fabric8DiscoveryIT.java
+++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/configmap/Fabric8DiscoveryIT.java
@@ -25,8 +25,8 @@ import io.fabric8.kubernetes.api.model.Service;
import io.fabric8.kubernetes.api.model.apps.Deployment;
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
import io.fabric8.kubernetes.client.Config;
-import io.fabric8.kubernetes.client.DefaultKubernetesClient;
import io.fabric8.kubernetes.client.KubernetesClient;
+import io.fabric8.kubernetes.client.KubernetesClientBuilder;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeAll;
@@ -75,7 +75,7 @@ class Fabric8DiscoveryIT {
Commons.loadSpringCloudKubernetesImage(IMAGE_NAME, K3S);
Config config = Config.fromKubeconfig(K3S.getKubeConfigYaml());
- client = new DefaultKubernetesClient(config);
+ client = new KubernetesClientBuilder().withConfig(config).build();
Fabric8Utils.setUp(client, NAMESPACE);
deployManifests();
diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/configmap/Fabric8DiscoveryNamespaceFilterIT.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/configmap/Fabric8DiscoveryNamespaceFilterIT.java
index 621fdcce..f49ef8ed 100644
--- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/configmap/Fabric8DiscoveryNamespaceFilterIT.java
+++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/configmap/Fabric8DiscoveryNamespaceFilterIT.java
@@ -29,8 +29,8 @@ import io.fabric8.kubernetes.api.model.Service;
import io.fabric8.kubernetes.api.model.apps.Deployment;
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
import io.fabric8.kubernetes.client.Config;
-import io.fabric8.kubernetes.client.DefaultKubernetesClient;
import io.fabric8.kubernetes.client.KubernetesClient;
+import io.fabric8.kubernetes.client.KubernetesClientBuilder;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeAll;
@@ -84,7 +84,7 @@ class Fabric8DiscoveryNamespaceFilterIT {
Commons.loadSpringCloudKubernetesImage(IMAGE_NAME, K3S);
Config config = Config.fromKubeconfig(K3S.getKubeConfigYaml());
- client = new DefaultKubernetesClient(config);
+ client = new KubernetesClientBuilder().withConfig(config).build();
Fabric8Utils.setUp(client, NAMESPACE);
deployManifests();
diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/client/loadbalancer/it/Fabric8ClientLoadbalancerIT.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/client/loadbalancer/it/Fabric8ClientLoadbalancerIT.java
index 90b1507b..adaa1248 100644
--- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/client/loadbalancer/it/Fabric8ClientLoadbalancerIT.java
+++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/client/loadbalancer/it/Fabric8ClientLoadbalancerIT.java
@@ -25,8 +25,8 @@ import io.fabric8.kubernetes.api.model.Service;
import io.fabric8.kubernetes.api.model.apps.Deployment;
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
import io.fabric8.kubernetes.client.Config;
-import io.fabric8.kubernetes.client.DefaultKubernetesClient;
import io.fabric8.kubernetes.client.KubernetesClient;
+import io.fabric8.kubernetes.client.KubernetesClientBuilder;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeAll;
@@ -78,7 +78,7 @@ public class Fabric8ClientLoadbalancerIT {
Commons.loadSpringCloudKubernetesImage(IMAGE_NAME, K3S);
Config config = Config.fromKubeconfig(K3S.getKubeConfigYaml());
- client = new DefaultKubernetesClient(config);
+ client = new KubernetesClientBuilder().withConfig(config).build();
Fabric8Utils.setUp(client, NAMESPACE);
}
diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-secrets-event-reload/src/test/java/org/springframework/cloud/kubernetes/fabric8/secrets/event/reload/SecretsEventsReloadIT.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-secrets-event-reload/src/test/java/org/springframework/cloud/kubernetes/fabric8/secrets/event/reload/SecretsEventsReloadIT.java
index 6a84b0df..76ba8962 100644
--- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-secrets-event-reload/src/test/java/org/springframework/cloud/kubernetes/fabric8/secrets/event/reload/SecretsEventsReloadIT.java
+++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-secrets-event-reload/src/test/java/org/springframework/cloud/kubernetes/fabric8/secrets/event/reload/SecretsEventsReloadIT.java
@@ -29,9 +29,9 @@ import io.fabric8.kubernetes.api.model.Service;
import io.fabric8.kubernetes.api.model.apps.Deployment;
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
import io.fabric8.kubernetes.client.Config;
-import io.fabric8.kubernetes.client.DefaultKubernetesClient;
import io.fabric8.kubernetes.client.KubernetesClient;
-import io.fabric8.kubernetes.client.dsl.base.HasMetadataOperation;
+import io.fabric8.kubernetes.client.KubernetesClientBuilder;
+import io.fabric8.kubernetes.client.dsl.internal.HasMetadataOperation;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeAll;
@@ -77,7 +77,7 @@ class SecretsEventsReloadIT {
Commons.validateImage(IMAGE_NAME, K3S);
Commons.loadSpringCloudKubernetesImage(IMAGE_NAME, K3S);
Config config = Config.fromKubeconfig(K3S.getKubeConfigYaml());
- client = new DefaultKubernetesClient(config);
+ client = new KubernetesClientBuilder().withConfig(config).build();
Fabric8Utils.setUp(client, NAMESPACE);
deployManifests();
}
diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-simple-core/src/test/java/org/springframework/cloud/kubernetes/fabric8/core/SimpleCoreIT.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-simple-core/src/test/java/org/springframework/cloud/kubernetes/fabric8/core/SimpleCoreIT.java
index 8a18cc54..5c49e556 100644
--- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-simple-core/src/test/java/org/springframework/cloud/kubernetes/fabric8/core/SimpleCoreIT.java
+++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-simple-core/src/test/java/org/springframework/cloud/kubernetes/fabric8/core/SimpleCoreIT.java
@@ -24,8 +24,8 @@ import io.fabric8.kubernetes.api.model.Service;
import io.fabric8.kubernetes.api.model.apps.Deployment;
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
import io.fabric8.kubernetes.client.Config;
-import io.fabric8.kubernetes.client.DefaultKubernetesClient;
import io.fabric8.kubernetes.client.KubernetesClient;
+import io.fabric8.kubernetes.client.KubernetesClientBuilder;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeAll;
@@ -68,7 +68,7 @@ class SimpleCoreIT {
Commons.loadSpringCloudKubernetesImage(IMAGE_NAME, K3S);
Config config = Config.fromKubeconfig(K3S.getKubeConfigYaml());
- client = new DefaultKubernetesClient(config);
+ client = new KubernetesClientBuilder().withConfig(config).build();
Fabric8Utils.setUp(client, NAMESPACE);
deployManifests();
diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-istio-it/src/main/java/org/springframework/cloud/kubernetes/fabric8/istio/IstioController.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-istio-it/src/main/java/org/springframework/cloud/kubernetes/fabric8/istio/IstioController.java
index 71b04e83..3e759d0e 100644
--- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-istio-it/src/main/java/org/springframework/cloud/kubernetes/fabric8/istio/IstioController.java
+++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-istio-it/src/main/java/org/springframework/cloud/kubernetes/fabric8/istio/IstioController.java
@@ -19,7 +19,7 @@ package org.springframework.cloud.kubernetes.fabric8.istio;
import java.util.Arrays;
import java.util.List;
-import me.snowdrop.istio.client.IstioClient;
+import io.fabric8.istio.client.IstioClient;
import org.springframework.core.env.Environment;
import org.springframework.web.bind.annotation.GetMapping;
diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-istio-it/src/test/java/org/springframework/cloud/kubernetes/fabric8/istio/Fabric8IstioIT.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-istio-it/src/test/java/org/springframework/cloud/kubernetes/fabric8/istio/Fabric8IstioIT.java
index 0af50c41..a7c05e8c 100644
--- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-istio-it/src/test/java/org/springframework/cloud/kubernetes/fabric8/istio/Fabric8IstioIT.java
+++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-istio-it/src/test/java/org/springframework/cloud/kubernetes/fabric8/istio/Fabric8IstioIT.java
@@ -26,8 +26,8 @@ import io.fabric8.kubernetes.api.model.Service;
import io.fabric8.kubernetes.api.model.apps.Deployment;
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
import io.fabric8.kubernetes.client.Config;
-import io.fabric8.kubernetes.client.DefaultKubernetesClient;
import io.fabric8.kubernetes.client.KubernetesClient;
+import io.fabric8.kubernetes.client.KubernetesClientBuilder;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeAll;
@@ -104,7 +104,7 @@ class Fabric8IstioIT {
}
Config config = Config.fromKubeconfig(K3S.getKubeConfigYaml());
- client = new DefaultKubernetesClient(config);
+ client = new KubernetesClientBuilder().withConfig(config).build();
Fabric8Utils.setUpIstio(client, NAMESPACE);
deployManifests();