diff --git a/pom.xml b/pom.xml index 05bfaaf..e2c040a 100644 --- a/pom.xml +++ b/pom.xml @@ -46,6 +46,10 @@ lombok 1.18.36 + + io.quarkus + quarkus-kubernetes-client + diff --git a/src/test/java/org/acme/ArgoCDCITest.java b/src/test/java/org/acme/ArgoCDCITest.java index 75ed06f..a0f46f9 100644 --- a/src/test/java/org/acme/ArgoCDCITest.java +++ b/src/test/java/org/acme/ArgoCDCITest.java @@ -1,9 +1,12 @@ package org.acme; +import com.fasterxml.jackson.databind.ObjectMapper; import io.fabric8.kubernetes.api.model.*; import io.fabric8.kubernetes.api.model.apps.Deployment; import io.fabric8.kubernetes.client.DefaultKubernetesClient; import io.fabric8.kubernetes.client.KubernetesClient; +import io.fabric8.kubernetes.client.KubernetesClientBuilder; +import io.fabric8.kubernetes.client.utils.KubernetesSerialization; import io.quarkiverse.argocd.v1alpha1.AppProject; import io.quarkiverse.argocd.v1alpha1.Application; @@ -39,7 +42,18 @@ public class ArgoCDCITest extends BaseContainer { public static long timeOut = 1; - final static KubernetesClient client = new DefaultKubernetesClient(fromKubeconfig(KIND.getKubeconfig())); + static KubernetesClient client; + + static { + var objectMapper = new ObjectMapper(); + objectMapper.addMixIn(ObjectMeta.class, ObjectMetaMixin.class); + + var kubernetesSerialization = new KubernetesSerialization(objectMapper, true); + client = new KubernetesClientBuilder() + .withConfig(fromKubeconfig(KIND.getKubeconfig())) + .withKubernetesSerialization(kubernetesSerialization) + .build(); + } private static void waitTillPodReady(String ns, String name) { client.resources(Pod.class) diff --git a/src/test/java/org/acme/ObjectMetaMixin.java b/src/test/java/org/acme/ObjectMetaMixin.java new file mode 100644 index 0000000..a555167 --- /dev/null +++ b/src/test/java/org/acme/ObjectMetaMixin.java @@ -0,0 +1,18 @@ +package org.acme; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import io.fabric8.kubernetes.api.model.ManagedFieldsEntry; +import io.fabric8.kubernetes.api.model.ObjectMeta; + +import java.util.List; + +@SuppressWarnings("unused") +public abstract class ObjectMetaMixin extends ObjectMeta { + + @JsonIgnore + private List managedFields; + + @JsonIgnore + public abstract List getManagedFields(); + +}