package dev.dinauer; import dev.dinauer.utils.ClientProvider; import io.fabric8.kubernetes.api.model.networking.v1.Ingress; import io.fabric8.kubernetes.client.KubernetesClient; import io.fabric8.kubernetes.client.KubernetesClientBuilder; import io.quarkus.security.Authenticated; import jakarta.annotation.PostConstruct; import jakarta.inject.Inject; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; import java.util.List; @Path("/ingresses") @Authenticated public class IngressResource { @Inject ClientProvider clientProvider; @GET @Produces(MediaType.APPLICATION_JSON) public List getIngresses(@QueryParam("namespace") String namespace) { if(namespace != null) { return clientProvider.getClient().network().v1().ingresses().inNamespace(namespace).list().getItems(); } return clientProvider.getClient().network().v1().ingresses().list().getItems(); } }