diff --git a/src/main/java/dev/dinauer/IngressResource.java b/src/main/java/dev/dinauer/IngressResource.java index c99dcaf..07c1b4d 100644 --- a/src/main/java/dev/dinauer/IngressResource.java +++ b/src/main/java/dev/dinauer/IngressResource.java @@ -1,5 +1,6 @@ package dev.dinauer; +import dev.dinauer.service.IngressService; import dev.dinauer.utils.ClientProvider; import io.fabric8.kubernetes.api.model.networking.v1.Ingress; import io.fabric8.kubernetes.client.KubernetesClient; @@ -20,7 +21,7 @@ import java.util.List; public class IngressResource { @Inject - ClientProvider clientProvider; + IngressService ingressService; @GET @Produces(MediaType.APPLICATION_JSON) @@ -28,8 +29,8 @@ public class IngressResource { if(namespace != null) { - return clientProvider.getClient().network().v1().ingresses().inNamespace(namespace).list().getItems(); + ingressService.findByNamespace(namespace); } - return clientProvider.getClient().network().v1().ingresses().list().getItems(); + return ingressService.findAll(); } } diff --git a/src/main/java/dev/dinauer/PodResource.java b/src/main/java/dev/dinauer/PodResource.java index b733efe..021601b 100644 --- a/src/main/java/dev/dinauer/PodResource.java +++ b/src/main/java/dev/dinauer/PodResource.java @@ -42,10 +42,8 @@ public class PodResource { if(namespace != null && !namespace.isBlank()) { - LOG.info("Retrieving pods from namespace {}", namespace); return podService.findByNamespace(namespace); } - LOG.info("Retrieving all pods."); return podService.findAll(); } diff --git a/src/main/java/dev/dinauer/ServiceResource.java b/src/main/java/dev/dinauer/ServiceResource.java index 44b0460..48b5b3d 100644 --- a/src/main/java/dev/dinauer/ServiceResource.java +++ b/src/main/java/dev/dinauer/ServiceResource.java @@ -1,5 +1,6 @@ package dev.dinauer; +import dev.dinauer.service.ServiceService; import dev.dinauer.utils.ClientProvider; import io.fabric8.kubernetes.api.model.Pod; import io.fabric8.kubernetes.api.model.Service; @@ -26,16 +27,16 @@ import java.util.Optional; public class ServiceResource { @Inject - ClientProvider clientProvider; + ServiceService serviceService; @GET @Produces(MediaType.APPLICATION_JSON) - public List getServices(@QueryParam("namespace") Optional namespace) + public List getServices(@QueryParam("namespace") String namespace) { - if(namespace.isPresent()) + if(namespace != null && !namespace.isBlank()) { - return clientProvider.getClient().services().inNamespace(namespace.get()).list().getItems(); + return serviceService.findByNamespace(namespace); } - return clientProvider.getClient().services().list().getItems(); + return serviceService.findAll(); } } diff --git a/src/main/java/dev/dinauer/service/IngressService.java b/src/main/java/dev/dinauer/service/IngressService.java new file mode 100644 index 0000000..1397905 --- /dev/null +++ b/src/main/java/dev/dinauer/service/IngressService.java @@ -0,0 +1,34 @@ +package dev.dinauer.service; + +import dev.dinauer.utils.ClientProvider; +import io.fabric8.kubernetes.api.model.Pod; +import io.fabric8.kubernetes.api.model.networking.v1.Ingress; +import io.fabric8.kubernetes.client.dsl.NetworkAPIGroupDSL; +import io.fabric8.kubernetes.client.impl.NetworkAPIGroupClient; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import java.util.List; + +@ApplicationScoped +public class IngressService +{ + @Inject + ClientProvider clientProvider; + + public List findByNamespace(String namespace) + { + try(NetworkAPIGroupDSL dsl = clientProvider.getClient().network()) + { + return dsl.v1().ingresses().inNamespace(namespace).list().getItems(); + } + } + + public List findAll() + { + try(NetworkAPIGroupDSL dsl = clientProvider.getClient().network()) + { + return dsl.v1().ingresses().inAnyNamespace().list().getItems(); + } + } +} diff --git a/src/main/java/dev/dinauer/service/ServiceService.java b/src/main/java/dev/dinauer/service/ServiceService.java index c22158d..1917a5d 100644 --- a/src/main/java/dev/dinauer/service/ServiceService.java +++ b/src/main/java/dev/dinauer/service/ServiceService.java @@ -1,6 +1,7 @@ package dev.dinauer.service; import dev.dinauer.utils.ClientProvider; +import io.fabric8.kubernetes.api.model.Pod; import io.fabric8.kubernetes.api.model.Service; import io.fabric8.kubernetes.client.KubernetesClient; import io.fabric8.kubernetes.client.KubernetesClientBuilder; @@ -8,6 +9,7 @@ import jakarta.annotation.PostConstruct; import jakarta.enterprise.context.ApplicationScoped; import jakarta.inject.Inject; +import java.util.List; import java.util.Optional; @ApplicationScoped @@ -16,6 +18,16 @@ public class ServiceService @Inject ClientProvider clientProvider; + public List findByNamespace(String namespace) + { + return clientProvider.getClient().services().inNamespace(namespace).list().getItems(); + } + + public List findAll() + { + return clientProvider.getClient().services().inAnyNamespace().list().getItems(); + } + public Optional findById(String id) { for(Service service : clientProvider.getClient().services().list().getItems())