io.quarkus.kubernetes.client.runtime.KubernetesSerializationProducer Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of quarkus-kubernetes-client Show documentation
Show all versions of quarkus-kubernetes-client Show documentation
Interact with Kubernetes and develop Kubernetes Operators
package io.quarkus.kubernetes.client.runtime;
import jakarta.enterprise.inject.Produces;
import jakarta.inject.Singleton;
import com.fasterxml.jackson.databind.ObjectMapper;
import io.fabric8.kubernetes.client.utils.KubernetesSerialization;
import io.quarkus.arc.DefaultBean;
import io.quarkus.kubernetes.client.KubernetesClientObjectMapper;
import io.quarkus.kubernetes.client.KubernetesResources;
@Singleton
public class KubernetesSerializationProducer {
@DefaultBean
@Singleton
@Produces
public KubernetesSerialization kubernetesSerialization(
@KubernetesClientObjectMapper ObjectMapper objectMapper,
@KubernetesResources Class[] kubernetesResources) {
final var kubernetesSerialization = new KubernetesSerialization(objectMapper, false);
for (var kubernetesResource : kubernetesResources) {
kubernetesSerialization.registerKubernetesResource(kubernetesResource);
}
return kubernetesSerialization;
}
}