diff --git a/bom/application/pom.xml b/bom/application/pom.xml
index 2b653ce0fc4d0..d3811b5acc4f3 100644
--- a/bom/application/pom.xml
+++ b/bom/application/pom.xml
@@ -151,8 +151,8 @@
1.7.10
1.6.4
1.4.0
- 6.1.1
- 3.0.0
+ 5.12.3
+ 2.11.2
3.2.0
4.2.0
1.0.10
diff --git a/extensions/kubernetes-client/deployment/src/main/java/io/quarkus/kubernetes/client/deployment/KubernetesClientProcessor.java b/extensions/kubernetes-client/deployment/src/main/java/io/quarkus/kubernetes/client/deployment/KubernetesClientProcessor.java
index 8ce630a5a45f8..85a765326f28f 100644
--- a/extensions/kubernetes-client/deployment/src/main/java/io/quarkus/kubernetes/client/deployment/KubernetesClientProcessor.java
+++ b/extensions/kubernetes-client/deployment/src/main/java/io/quarkus/kubernetes/client/deployment/KubernetesClientProcessor.java
@@ -19,7 +19,6 @@
import com.fasterxml.jackson.annotation.JsonFormat;
-import io.fabric8.kubernetes.client.http.HttpClient;
import io.quarkus.arc.deployment.AdditionalBeanBuildItem;
import io.quarkus.deployment.Capabilities;
import io.quarkus.deployment.Capability;
@@ -33,7 +32,6 @@
import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
import io.quarkus.deployment.builditem.nativeimage.ReflectiveHierarchyBuildItem;
import io.quarkus.deployment.builditem.nativeimage.RuntimeReinitializedClassBuildItem;
-import io.quarkus.deployment.builditem.nativeimage.ServiceProviderBuildItem;
import io.quarkus.deployment.util.JandexUtil;
import io.quarkus.jackson.deployment.IgnoreJsonDeserializeClassBuildItem;
import io.quarkus.kubernetes.client.runtime.KubernetesClientBuildConfig;
@@ -87,8 +85,7 @@ public void process(ApplicationIndexBuildItem applicationIndex, CombinedIndexBui
BuildProducer reflectiveClasses,
BuildProducer reflectiveHierarchies,
BuildProducer ignoredJsonDeserializationClasses,
- BuildProducer roleBindingProducer,
- BuildProducer serviceProviderProducer) {
+ BuildProducer roleBindingProducer) {
featureProducer.produce(new FeatureBuildItem(Feature.KUBERNETES_CLIENT));
if (kubernetesClientConfig.generateRbac) {
@@ -204,9 +201,6 @@ public void process(ApplicationIndexBuildItem applicationIndex, CombinedIndexBui
log.debugv("Model Classes:\n{0}", String.join("\n", modelClasses));
}
- // Register the default HttpClient implementation
- serviceProviderProducer.produce(new ServiceProviderBuildItem(
- HttpClient.Factory.class.getName(), "io.fabric8.kubernetes.client.okhttp.OkHttpClientFactory"));
// Enable SSL support by default
sslNativeSupport.produce(new ExtensionSslNativeSupportBuildItem(Feature.KUBERNETES_CLIENT));
}
diff --git a/integration-tests/kubernetes-client/src/test/java/io/quarkus/it/kubernetes/client/CustomKubernetesTestServerTestResource.java b/integration-tests/kubernetes-client/src/test/java/io/quarkus/it/kubernetes/client/CustomKubernetesTestServerTestResource.java
index 7d9af45a444c1..68d0c5642c288 100644
--- a/integration-tests/kubernetes-client/src/test/java/io/quarkus/it/kubernetes/client/CustomKubernetesTestServerTestResource.java
+++ b/integration-tests/kubernetes-client/src/test/java/io/quarkus/it/kubernetes/client/CustomKubernetesTestServerTestResource.java
@@ -11,52 +11,42 @@ public class CustomKubernetesTestServerTestResource extends KubernetesServerTest
// setup the ConfigMap objects that the application expects to lookup configuration from
@Override
protected void configureServer() {
- getClient().inNamespace("test").configMaps()
- .resource(configMapBuilder("cmap1")
- .addToData("dummy", "dummy")
- .addToData("overridden.secret", "cm") // will be overridden since secrets have a higher priority
- .addToData("some.prop1", "val1")
- .addToData("some.prop2", "val2")
- .addToData("some.prop4", "v4") // will be overridden since cmap2 has a higher priority
- .addToData("some.prop5", "val5")
- .addToData("application.properties", "some.prop3=val3")
- .addToData("application.yaml", "some:\n prop4: val4").build())
- .create();
+ server.getClient().inNamespace("test").configMaps().create(configMapBuilder("cmap1")
+ .addToData("dummy", "dummy")
+ .addToData("overridden.secret", "cm") // will be overridden since secrets have a higher priority
+ .addToData("some.prop1", "val1")
+ .addToData("some.prop2", "val2")
+ .addToData("some.prop4", "v4") // will be overridden since cmap2 has a higher priority
+ .addToData("some.prop5", "val5")
+ .addToData("application.properties", "some.prop3=val3")
+ .addToData("application.yaml", "some:\n prop4: val4").build());
- server.getClient().inNamespace("test").configMaps()
- .resource(configMapBuilder("cmap2")
- .addToData("application.yaml", "some:\n prop4: val4").build())
- .create();
+ server.getClient().inNamespace("test").configMaps().create(configMapBuilder("cmap2")
+ .addToData("application.yaml", "some:\n prop4: val4").build());
- server.getClient().inNamespace("test").configMaps()
- .resource(configMapBuilder("cmap3")
- .addToData("dummy", "dummyFromDemo")
- .addToData("some.prop1", "val1FromDemo")
- .addToData("some.prop2", "val2FromDemo")
- .addToData("some.prop5", "val5FromDemo")
- .addToData("application.properties", "some.prop3=val3FromDemo")
- .addToData("application.yaml", "some:\n prop4: val4FromDemo").build())
- .create();
+ server.getClient().inNamespace("test").configMaps().create(configMapBuilder("cmap3")
+ .addToData("dummy", "dummyFromDemo")
+ .addToData("some.prop1", "val1FromDemo")
+ .addToData("some.prop2", "val2FromDemo")
+ .addToData("some.prop5", "val5FromDemo")
+ .addToData("application.properties", "some.prop3=val3FromDemo")
+ .addToData("application.yaml", "some:\n prop4: val4FromDemo").build());
- server.getClient().inNamespace("test").secrets()
- .resource(secretBuilder("s1")
- .addToData("dummysecret", encodeValue("dummysecret"))
- .addToData("overridden.secret", encodeValue("secret"))
- .addToData("secret.prop1", encodeValue("val1"))
- .addToData("secret.prop2", encodeValue("val2"))
- .addToData("application.properties", encodeValue("secret.prop3=val3"))
- .addToData("application.yaml", encodeValue("secret:\n prop4: val4")).build())
- .create();
+ server.getClient().inNamespace("test").secrets().create(secretBuilder("s1")
+ .addToData("dummysecret", encodeValue("dummysecret"))
+ .addToData("overridden.secret", encodeValue("secret"))
+ .addToData("secret.prop1", encodeValue("val1"))
+ .addToData("secret.prop2", encodeValue("val2"))
+ .addToData("application.properties", encodeValue("secret.prop3=val3"))
+ .addToData("application.yaml", encodeValue("secret:\n prop4: val4")).build());
- server.getClient().inNamespace("test").secrets()
- .resource(secretBuilder("s1")
- .addToData("dummysecret", encodeValue("dummysecretFromDemo"))
- .addToData("overridden.secret", encodeValue("secretFromDemo"))
- .addToData("secret.prop1", encodeValue("val1FromDemo"))
- .addToData("secret.prop2", encodeValue("val2FromDemo"))
- .addToData("application.properties", encodeValue("secret.prop3=val3FromDemo"))
- .addToData("application.yaml", encodeValue("secret:\n prop4: val4FromDemo")).build())
- .createOrReplace();
+ server.getClient().inNamespace("test").secrets().createOrReplace(secretBuilder("s1")
+ .addToData("dummysecret", encodeValue("dummysecretFromDemo"))
+ .addToData("overridden.secret", encodeValue("secretFromDemo"))
+ .addToData("secret.prop1", encodeValue("val1FromDemo"))
+ .addToData("secret.prop2", encodeValue("val2FromDemo"))
+ .addToData("application.properties", encodeValue("secret.prop3=val3FromDemo"))
+ .addToData("application.yaml", encodeValue("secret:\n prop4: val4FromDemo")).build());
}
private ConfigMapBuilder configMapBuilder(String name) {
diff --git a/integration-tests/kubernetes-client/src/test/java/io/quarkus/it/kubernetes/client/KubernetesClientTest.java b/integration-tests/kubernetes-client/src/test/java/io/quarkus/it/kubernetes/client/KubernetesClientTest.java
index 3961655f0f30c..d2b67f4e1b958 100644
--- a/integration-tests/kubernetes-client/src/test/java/io/quarkus/it/kubernetes/client/KubernetesClientTest.java
+++ b/integration-tests/kubernetes-client/src/test/java/io/quarkus/it/kubernetes/client/KubernetesClientTest.java
@@ -9,7 +9,6 @@
import java.security.Key;
import java.security.KeyStore;
import java.security.interfaces.ECPrivateKey;
-import java.time.Instant;
import org.junit.jupiter.api.Test;
@@ -97,8 +96,7 @@ private void setupMockServerForTest() {
.times(2);
mockServer.expect().delete().withPath("/api/v1/namespaces/test/pods/pod1")
- .andReturn(200, new PodBuilder(pod1)
- .editMetadata().withDeletionTimestamp(Instant.now().toString()).endMetadata().build())
+ .andReturn(200, "{}")
.once();
// PUT on /pod/test will createOrReplace, which attempts a POST first, then a PUT if receiving a 409
diff --git a/test-framework/kubernetes-client/pom.xml b/test-framework/kubernetes-client/pom.xml
index 257f3eb1438d0..012586a6fe97d 100644
--- a/test-framework/kubernetes-client/pom.xml
+++ b/test-framework/kubernetes-client/pom.xml
@@ -19,7 +19,7 @@
io.fabric8
- kubernetes-client-api
+ kubernetes-server-mock
javax.annotation
@@ -38,15 +38,11 @@
jakarta.xml.bind-api
- io.sundr
- *
+ io.sundr
+ *
-
- io.fabric8
- kubernetes-server-mock
-
jakarta.annotation
jakarta.annotation-api
diff --git a/test-framework/kubernetes-client/src/main/java/io/quarkus/test/kubernetes/client/AbstractKubernetesTestResource.java b/test-framework/kubernetes-client/src/main/java/io/quarkus/test/kubernetes/client/AbstractKubernetesTestResource.java
index 0f5d7f0bdbedf..819ca8e08256e 100644
--- a/test-framework/kubernetes-client/src/main/java/io/quarkus/test/kubernetes/client/AbstractKubernetesTestResource.java
+++ b/test-framework/kubernetes-client/src/main/java/io/quarkus/test/kubernetes/client/AbstractKubernetesTestResource.java
@@ -5,6 +5,7 @@
import java.util.Map;
import io.fabric8.kubernetes.client.Config;
+import io.fabric8.kubernetes.client.GenericKubernetesClient;
import io.fabric8.kubernetes.client.KubernetesClient;
import io.quarkus.test.common.QuarkusTestResourceLifecycleManager;
@@ -25,7 +26,9 @@ public Map start() {
server = createServer();
initServer();
- systemProps.put(Config.KUBERNETES_MASTER_SYSTEM_PROPERTY, getClient().getConfiguration().getMasterUrl());
+ try (GenericKubernetesClient> client = getClient()) {
+ systemProps.put(Config.KUBERNETES_MASTER_SYSTEM_PROPERTY, client.getConfiguration().getMasterUrl());
+ }
configureServer();
//these actually need to be system properties
@@ -37,7 +40,7 @@ public Map start() {
return systemProps;
}
- protected abstract C getClient();
+ protected abstract GenericKubernetesClient getClient();
/**
* Can be used by subclasses in order to
diff --git a/test-framework/kubernetes-client/src/main/java/io/quarkus/test/kubernetes/client/KubernetesMockServerTestResource.java b/test-framework/kubernetes-client/src/main/java/io/quarkus/test/kubernetes/client/KubernetesMockServerTestResource.java
index 842a3fc110fbc..fd4b3f96e74a7 100644
--- a/test-framework/kubernetes-client/src/main/java/io/quarkus/test/kubernetes/client/KubernetesMockServerTestResource.java
+++ b/test-framework/kubernetes-client/src/main/java/io/quarkus/test/kubernetes/client/KubernetesMockServerTestResource.java
@@ -2,6 +2,7 @@
import java.lang.annotation.Annotation;
+import io.fabric8.kubernetes.client.GenericKubernetesClient;
import io.fabric8.kubernetes.client.NamespacedKubernetesClient;
import io.fabric8.kubernetes.client.server.mock.KubernetesMockServer;
@@ -13,7 +14,7 @@ public class KubernetesMockServerTestResource
extends AbstractKubernetesTestResource {
@Override
- protected NamespacedKubernetesClient getClient() {
+ protected GenericKubernetesClient getClient() {
return server.createClient();
}
diff --git a/test-framework/kubernetes-client/src/main/java/io/quarkus/test/kubernetes/client/KubernetesServerTestResource.java b/test-framework/kubernetes-client/src/main/java/io/quarkus/test/kubernetes/client/KubernetesServerTestResource.java
index 8df5e7af01936..7020166eb9d65 100644
--- a/test-framework/kubernetes-client/src/main/java/io/quarkus/test/kubernetes/client/KubernetesServerTestResource.java
+++ b/test-framework/kubernetes-client/src/main/java/io/quarkus/test/kubernetes/client/KubernetesServerTestResource.java
@@ -6,6 +6,7 @@
import java.util.Collections;
import java.util.function.Consumer;
+import io.fabric8.kubernetes.client.GenericKubernetesClient;
import io.fabric8.kubernetes.client.NamespacedKubernetesClient;
import io.fabric8.kubernetes.client.server.mock.KubernetesServer;
import io.quarkus.test.common.QuarkusTestResourceConfigurableLifecycleManager;
@@ -31,7 +32,7 @@ public void init(WithKubernetesTestServer annotation) {
}
@Override
- protected NamespacedKubernetesClient getClient() {
+ protected GenericKubernetesClient getClient() {
return server.getClient();
}
diff --git a/test-framework/openshift-client/src/main/java/io/quarkus/test/kubernetes/client/OpenShiftServerTestResource.java b/test-framework/openshift-client/src/main/java/io/quarkus/test/kubernetes/client/OpenShiftServerTestResource.java
index bb2d28f17f5dc..720e3c6d646ed 100644
--- a/test-framework/openshift-client/src/main/java/io/quarkus/test/kubernetes/client/OpenShiftServerTestResource.java
+++ b/test-framework/openshift-client/src/main/java/io/quarkus/test/kubernetes/client/OpenShiftServerTestResource.java
@@ -3,6 +3,7 @@
import java.lang.annotation.Annotation;
import java.util.function.Consumer;
+import io.fabric8.kubernetes.client.GenericKubernetesClient;
import io.fabric8.openshift.client.NamespacedOpenShiftClient;
import io.fabric8.openshift.client.server.mock.OpenShiftServer;
import io.quarkus.test.common.QuarkusTestResourceConfigurableLifecycleManager;
@@ -26,7 +27,7 @@ public void init(WithOpenShiftTestServer annotation) {
}
@Override
- protected NamespacedOpenShiftClient getClient() {
+ protected GenericKubernetesClient getClient() {
return server.getOpenshiftClient();
}