🎨 Sort imports
This commit is contained in:
parent
898e7146f3
commit
16a5627b39
22
pom.xml
22
pom.xml
@ -163,6 +163,28 @@
|
|||||||
</systemPropertyVariables>
|
</systemPropertyVariables>
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>net.revelc.code</groupId>
|
||||||
|
<artifactId>impsort-maven-plugin</artifactId>
|
||||||
|
<version>1.12.0</version>
|
||||||
|
<configuration>
|
||||||
|
<groups>java.,jakarta.,org.,com.,io.,*</groups>
|
||||||
|
<staticGroups>java.,jakarta.,org.,com.,io.,*</staticGroups>
|
||||||
|
<removeUnused>true</removeUnused>
|
||||||
|
<lineEnding>LF</lineEnding>
|
||||||
|
<includes>
|
||||||
|
<include>**/*.java</include>
|
||||||
|
</includes>
|
||||||
|
</configuration>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<phase>validate</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>check</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
</plugins>
|
</plugins>
|
||||||
</build>
|
</build>
|
||||||
|
|
||||||
|
|||||||
@ -1,13 +1,7 @@
|
|||||||
package dev.dinauer;
|
package dev.dinauer;
|
||||||
|
|
||||||
import dev.dinauer.service.IngressService;
|
import java.util.List;
|
||||||
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 io.smallrye.common.annotation.Blocking;
|
|
||||||
import jakarta.annotation.PostConstruct;
|
|
||||||
import jakarta.inject.Inject;
|
import jakarta.inject.Inject;
|
||||||
import jakarta.ws.rs.GET;
|
import jakarta.ws.rs.GET;
|
||||||
import jakarta.ws.rs.Path;
|
import jakarta.ws.rs.Path;
|
||||||
@ -15,7 +9,11 @@ import jakarta.ws.rs.Produces;
|
|||||||
import jakarta.ws.rs.QueryParam;
|
import jakarta.ws.rs.QueryParam;
|
||||||
import jakarta.ws.rs.core.MediaType;
|
import jakarta.ws.rs.core.MediaType;
|
||||||
|
|
||||||
import java.util.List;
|
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
|
||||||
|
import io.quarkus.security.Authenticated;
|
||||||
|
import io.smallrye.common.annotation.Blocking;
|
||||||
|
|
||||||
|
import dev.dinauer.service.IngressService;
|
||||||
|
|
||||||
@Path("/ingresses")
|
@Path("/ingresses")
|
||||||
@Blocking
|
@Blocking
|
||||||
|
|||||||
@ -1,12 +1,7 @@
|
|||||||
package dev.dinauer;
|
package dev.dinauer;
|
||||||
|
|
||||||
import dev.dinauer.utils.ClientProvider;
|
import java.util.List;
|
||||||
import io.fabric8.kubernetes.api.model.Namespace;
|
|
||||||
import io.fabric8.kubernetes.client.KubernetesClient;
|
|
||||||
import io.fabric8.kubernetes.client.KubernetesClientBuilder;
|
|
||||||
import io.quarkus.security.Authenticated;
|
|
||||||
import io.smallrye.common.annotation.Blocking;
|
|
||||||
import jakarta.annotation.PostConstruct;
|
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
import jakarta.inject.Inject;
|
import jakarta.inject.Inject;
|
||||||
import jakarta.ws.rs.GET;
|
import jakarta.ws.rs.GET;
|
||||||
@ -14,7 +9,11 @@ import jakarta.ws.rs.Path;
|
|||||||
import jakarta.ws.rs.Produces;
|
import jakarta.ws.rs.Produces;
|
||||||
import jakarta.ws.rs.core.MediaType;
|
import jakarta.ws.rs.core.MediaType;
|
||||||
|
|
||||||
import java.util.List;
|
import io.fabric8.kubernetes.api.model.Namespace;
|
||||||
|
import io.quarkus.security.Authenticated;
|
||||||
|
import io.smallrye.common.annotation.Blocking;
|
||||||
|
|
||||||
|
import dev.dinauer.utils.ClientProvider;
|
||||||
|
|
||||||
@Path("/namespaces")
|
@Path("/namespaces")
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
|
|||||||
@ -1,21 +1,19 @@
|
|||||||
package dev.dinauer;
|
package dev.dinauer;
|
||||||
|
|
||||||
import dev.dinauer.service.PodService;
|
import java.util.ArrayList;
|
||||||
import dev.dinauer.utils.ClientProvider;
|
import java.util.List;
|
||||||
import io.fabric8.kubernetes.api.model.Pod;
|
|
||||||
import io.quarkus.runtime.Startup;
|
|
||||||
import io.quarkus.security.Authenticated;
|
|
||||||
import io.smallrye.common.annotation.Blocking;
|
|
||||||
import jakarta.annotation.security.RolesAllowed;
|
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
import jakarta.inject.Inject;
|
import jakarta.inject.Inject;
|
||||||
import jakarta.ws.rs.*;
|
import jakarta.ws.rs.*;
|
||||||
import jakarta.ws.rs.core.MediaType;
|
import jakarta.ws.rs.core.MediaType;
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import io.fabric8.kubernetes.api.model.Pod;
|
||||||
import java.util.List;
|
import io.quarkus.runtime.Startup;
|
||||||
|
import io.smallrye.common.annotation.Blocking;
|
||||||
|
|
||||||
|
import dev.dinauer.service.PodService;
|
||||||
|
import dev.dinauer.utils.ClientProvider;
|
||||||
|
|
||||||
@Path("/pods")
|
@Path("/pods")
|
||||||
@Startup
|
@Startup
|
||||||
@ -35,16 +33,16 @@ public class PodResource
|
|||||||
@Produces(MediaType.APPLICATION_JSON)
|
@Produces(MediaType.APPLICATION_JSON)
|
||||||
@Consumes
|
@Consumes
|
||||||
@Blocking
|
@Blocking
|
||||||
@Path("/{namespace}/{name}/env")
|
@Path("/{namespace}/{name}/{containerName}/env")
|
||||||
public List<EnvVar> getEnv(@PathParam("namespace") String namespace, @PathParam("name") String name)
|
public List<EnvVar> getEnv(@PathParam("namespace") String namespace, @PathParam("name") String name, @PathParam("containerName") String containerName)
|
||||||
{
|
{
|
||||||
return getVars(podService.findByNameAndNamespace(name, namespace));
|
return getVars(podService.findByNameAndNamespace(name, namespace), containerName);
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<EnvVar> getVars(Pod pod)
|
private List<EnvVar> getVars(Pod pod, String containerName)
|
||||||
{
|
{
|
||||||
List<EnvVar> result = new ArrayList<>();
|
List<EnvVar> result = new ArrayList<>();
|
||||||
List<String> lines = processRunner.runToLines(String.format("kubectl exec -it %s -n %s -- env", pod.getMetadata().getName(), pod.getMetadata().getNamespace()));
|
List<String> lines = processRunner.runToLines(String.format("kubectl exec -it %s -c %s -n %s -- env", pod.getMetadata().getName(), containerName, pod.getMetadata().getNamespace()));
|
||||||
for (String line : lines)
|
for (String line : lines)
|
||||||
{
|
{
|
||||||
int indexOfFirstEquals = line.indexOf("=");
|
int indexOfFirstEquals = line.indexOf("=");
|
||||||
|
|||||||
@ -1,10 +1,5 @@
|
|||||||
package dev.dinauer;
|
package dev.dinauer;
|
||||||
|
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
|
||||||
import jakarta.inject.Inject;
|
|
||||||
import org.eclipse.microprofile.context.ManagedExecutor;
|
|
||||||
import org.jboss.logging.Logger;
|
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStreamReader;
|
import java.io.InputStreamReader;
|
||||||
@ -12,6 +7,12 @@ import java.util.ArrayList;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
|
import jakarta.inject.Inject;
|
||||||
|
|
||||||
|
import org.eclipse.microprofile.context.ManagedExecutor;
|
||||||
|
import org.jboss.logging.Logger;
|
||||||
|
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
public class ProcessRunner
|
public class ProcessRunner
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,15 +1,16 @@
|
|||||||
package dev.dinauer;
|
package dev.dinauer;
|
||||||
|
|
||||||
import dev.dinauer.service.*;
|
import java.util.List;
|
||||||
import io.fabric8.kubernetes.api.model.ConfigMap;
|
import java.util.Optional;
|
||||||
|
|
||||||
import jakarta.annotation.security.RolesAllowed;
|
import jakarta.annotation.security.RolesAllowed;
|
||||||
import jakarta.inject.Inject;
|
import jakarta.inject.Inject;
|
||||||
import jakarta.ws.rs.*;
|
import jakarta.ws.rs.*;
|
||||||
import jakarta.ws.rs.core.MediaType;
|
import jakarta.ws.rs.core.MediaType;
|
||||||
|
|
||||||
import org.jboss.logging.Logger;
|
import org.jboss.logging.Logger;
|
||||||
|
|
||||||
import java.util.List;
|
import dev.dinauer.service.*;
|
||||||
import java.util.Optional;
|
|
||||||
|
|
||||||
@Path("/resources/{resource}")
|
@Path("/resources/{resource}")
|
||||||
public class ResourceResource
|
public class ResourceResource
|
||||||
|
|||||||
@ -1,15 +1,7 @@
|
|||||||
package dev.dinauer;
|
package dev.dinauer;
|
||||||
|
|
||||||
import dev.dinauer.service.ServiceService;
|
import java.util.List;
|
||||||
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;
|
|
||||||
import io.quarkus.runtime.Startup;
|
|
||||||
import io.quarkus.security.Authenticated;
|
|
||||||
import io.smallrye.common.annotation.Blocking;
|
|
||||||
import jakarta.annotation.PostConstruct;
|
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
import jakarta.inject.Inject;
|
import jakarta.inject.Inject;
|
||||||
import jakarta.ws.rs.GET;
|
import jakarta.ws.rs.GET;
|
||||||
@ -18,8 +10,12 @@ import jakarta.ws.rs.Produces;
|
|||||||
import jakarta.ws.rs.QueryParam;
|
import jakarta.ws.rs.QueryParam;
|
||||||
import jakarta.ws.rs.core.MediaType;
|
import jakarta.ws.rs.core.MediaType;
|
||||||
|
|
||||||
import java.util.List;
|
import io.fabric8.kubernetes.api.model.Service;
|
||||||
import java.util.Optional;
|
import io.quarkus.runtime.Startup;
|
||||||
|
import io.quarkus.security.Authenticated;
|
||||||
|
import io.smallrye.common.annotation.Blocking;
|
||||||
|
|
||||||
|
import dev.dinauer.service.ServiceService;
|
||||||
|
|
||||||
@Path("/services")
|
@Path("/services")
|
||||||
@Startup
|
@Startup
|
||||||
|
|||||||
@ -1,13 +1,13 @@
|
|||||||
package dev.dinauer;
|
package dev.dinauer;
|
||||||
|
|
||||||
import io.quarkus.runtime.Startup;
|
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
|
||||||
import org.eclipse.microprofile.config.inject.ConfigProperty;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
|
|
||||||
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
|
|
||||||
|
import org.eclipse.microprofile.config.inject.ConfigProperty;
|
||||||
|
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
public class WorkdirProvider
|
public class WorkdirProvider
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,12 +1,14 @@
|
|||||||
package dev.dinauer.inspect;
|
package dev.dinauer.inspect;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
|
import jakarta.inject.Inject;
|
||||||
|
|
||||||
|
import org.eclipse.microprofile.jwt.JsonWebToken;
|
||||||
|
|
||||||
import io.smallrye.jwt.auth.principal.JWTParser;
|
import io.smallrye.jwt.auth.principal.JWTParser;
|
||||||
import io.smallrye.jwt.auth.principal.ParseException;
|
import io.smallrye.jwt.auth.principal.ParseException;
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
|
||||||
import jakarta.inject.Inject;
|
|
||||||
import org.eclipse.microprofile.jwt.JsonWebToken;
|
|
||||||
|
|
||||||
import java.util.Optional;
|
|
||||||
|
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
public class TokenService
|
public class TokenService
|
||||||
|
|||||||
@ -1,27 +1,30 @@
|
|||||||
package dev.dinauer.inspect.log;
|
package dev.dinauer.inspect.log;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
||||||
import com.fasterxml.jackson.databind.SerializationFeature;
|
|
||||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
|
|
||||||
import dev.dinauer.utils.ClientProvider;
|
|
||||||
import io.fabric8.kubernetes.client.dsl.LogWatch;
|
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
|
||||||
import jakarta.inject.Inject;
|
|
||||||
import jakarta.websocket.OnClose;
|
|
||||||
import jakarta.websocket.OnOpen;
|
|
||||||
import jakarta.websocket.Session;
|
|
||||||
import jakarta.websocket.server.PathParam;
|
|
||||||
import jakarta.websocket.server.ServerEndpoint;
|
|
||||||
import org.eclipse.microprofile.context.ManagedExecutor;
|
|
||||||
import org.jboss.logging.Logger;
|
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStreamReader;
|
import java.io.InputStreamReader;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.concurrent.Future;
|
|
||||||
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
|
import jakarta.inject.Inject;
|
||||||
|
import jakarta.websocket.OnClose;
|
||||||
|
import jakarta.websocket.OnOpen;
|
||||||
|
import jakarta.websocket.Session;
|
||||||
|
import jakarta.websocket.server.PathParam;
|
||||||
|
import jakarta.websocket.server.ServerEndpoint;
|
||||||
|
|
||||||
|
import org.eclipse.microprofile.context.ManagedExecutor;
|
||||||
|
import org.jboss.logging.Logger;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
import com.fasterxml.jackson.databind.SerializationFeature;
|
||||||
|
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
|
||||||
|
|
||||||
|
import io.fabric8.kubernetes.client.dsl.LogWatch;
|
||||||
|
|
||||||
|
import dev.dinauer.utils.ClientProvider;
|
||||||
|
|
||||||
@ServerEndpoint("/logs/{namespace}/{name}")
|
@ServerEndpoint("/logs/{namespace}/{name}")
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
|
|||||||
@ -1,16 +1,10 @@
|
|||||||
package dev.dinauer.inspect.websocket;
|
package dev.dinauer.inspect.websocket;
|
||||||
|
|
||||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
import java.io.IOException;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import java.util.HashMap;
|
||||||
import dev.dinauer.ResourceType;
|
import java.util.List;
|
||||||
import dev.dinauer.inspect.TokenService;
|
import java.util.Map;
|
||||||
import dev.dinauer.service.ResourceService;
|
|
||||||
import dev.dinauer.utils.ClientProvider;
|
|
||||||
import io.fabric8.kubernetes.client.Watch;
|
|
||||||
import io.fabric8.kubernetes.client.Watcher;
|
|
||||||
import io.fabric8.kubernetes.client.WatcherException;
|
|
||||||
import io.smallrye.jwt.auth.principal.JWTParser;
|
|
||||||
import io.smallrye.jwt.auth.principal.ParseException;
|
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
import jakarta.inject.Inject;
|
import jakarta.inject.Inject;
|
||||||
import jakarta.websocket.OnClose;
|
import jakarta.websocket.OnClose;
|
||||||
@ -18,15 +12,19 @@ import jakarta.websocket.OnOpen;
|
|||||||
import jakarta.websocket.Session;
|
import jakarta.websocket.Session;
|
||||||
import jakarta.websocket.server.PathParam;
|
import jakarta.websocket.server.PathParam;
|
||||||
import jakarta.websocket.server.ServerEndpoint;
|
import jakarta.websocket.server.ServerEndpoint;
|
||||||
import org.eclipse.microprofile.context.ManagedExecutor;
|
|
||||||
import org.eclipse.microprofile.jwt.JsonWebToken;
|
|
||||||
import org.jboss.logging.Logger;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
import org.eclipse.microprofile.context.ManagedExecutor;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
import java.util.Map;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import java.util.Optional;
|
|
||||||
|
import io.fabric8.kubernetes.client.Watch;
|
||||||
|
import io.fabric8.kubernetes.client.Watcher;
|
||||||
|
import io.fabric8.kubernetes.client.WatcherException;
|
||||||
|
|
||||||
|
import dev.dinauer.ResourceType;
|
||||||
|
import dev.dinauer.inspect.TokenService;
|
||||||
|
import dev.dinauer.service.ResourceService;
|
||||||
|
|
||||||
@ServerEndpoint("/watch/{resource-type}/{namespace}")
|
@ServerEndpoint("/watch/{resource-type}/{namespace}")
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
|
|||||||
@ -1,12 +1,14 @@
|
|||||||
package dev.dinauer.inspect.websocket;
|
package dev.dinauer.inspect.websocket;
|
||||||
|
|
||||||
import dev.dinauer.ResourceType;
|
|
||||||
import dev.dinauer.service.*;
|
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
import jakarta.inject.Inject;
|
import jakarta.inject.Inject;
|
||||||
import jakarta.ws.rs.BadRequestException;
|
import jakarta.ws.rs.BadRequestException;
|
||||||
|
|
||||||
import org.jboss.logging.Logger;
|
import org.jboss.logging.Logger;
|
||||||
|
|
||||||
|
import dev.dinauer.ResourceType;
|
||||||
|
import dev.dinauer.service.*;
|
||||||
|
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
public class ServiceFactory
|
public class ServiceFactory
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,24 +1,18 @@
|
|||||||
package dev.dinauer.inspect.websocket;
|
package dev.dinauer.inspect.websocket;
|
||||||
|
|
||||||
import com.arjuna.ats.internal.arjuna.Header;
|
import java.time.ZonedDateTime;
|
||||||
import io.quarkus.security.Authenticated;
|
|
||||||
import io.quarkus.security.UnauthorizedException;
|
|
||||||
import io.smallrye.jwt.auth.principal.JWTParser;
|
|
||||||
import io.smallrye.jwt.auth.principal.ParseException;
|
|
||||||
import io.smallrye.jwt.build.Jwt;
|
|
||||||
import io.smallrye.jwt.build.JwtClaimsBuilder;
|
|
||||||
import jakarta.inject.Inject;
|
import jakarta.inject.Inject;
|
||||||
import jakarta.ws.rs.HeaderParam;
|
|
||||||
import jakarta.ws.rs.POST;
|
import jakarta.ws.rs.POST;
|
||||||
import jakarta.ws.rs.Path;
|
import jakarta.ws.rs.Path;
|
||||||
import jakarta.ws.rs.Produces;
|
import jakarta.ws.rs.Produces;
|
||||||
import jakarta.ws.rs.core.MediaType;
|
import jakarta.ws.rs.core.MediaType;
|
||||||
import jakarta.ws.rs.core.SecurityContext;
|
|
||||||
import org.eclipse.microprofile.jwt.JsonWebToken;
|
import org.eclipse.microprofile.jwt.JsonWebToken;
|
||||||
|
|
||||||
import java.time.ZonedDateTime;
|
import io.quarkus.security.Authenticated;
|
||||||
import java.util.List;
|
import io.quarkus.security.UnauthorizedException;
|
||||||
import java.util.Optional;
|
import io.smallrye.jwt.build.Jwt;
|
||||||
|
|
||||||
@Path("/websocket-session")
|
@Path("/websocket-session")
|
||||||
public class WebsocketSessionResource
|
public class WebsocketSessionResource
|
||||||
@ -33,18 +27,7 @@ public class WebsocketSessionResource
|
|||||||
{
|
{
|
||||||
if (token != null)
|
if (token != null)
|
||||||
{
|
{
|
||||||
JwtClaimsBuilder builder = Jwt.upn(token.getName()).issuer(token.getIssuer()).expiresAt(ZonedDateTime.now().plusSeconds(15).toInstant());
|
return Jwt.upn(token.getName()).issuer(token.getIssuer()).expiresAt(ZonedDateTime.now().plusSeconds(15).toInstant()).claim("purpose", "ws:connect").sign();
|
||||||
Optional<List<String>> namespaces = token.claim("namespaces");
|
|
||||||
if (namespaces.isPresent())
|
|
||||||
{
|
|
||||||
builder = builder.claim("namespaces", namespaces.get());
|
|
||||||
}
|
|
||||||
Optional<List<String>> resources = token.claim("resources");
|
|
||||||
if (resources.isPresent())
|
|
||||||
{
|
|
||||||
builder = builder.claim("resources", resources.get());
|
|
||||||
}
|
|
||||||
return builder.claim("purpose", "ws:connect").sign();
|
|
||||||
}
|
}
|
||||||
throw new UnauthorizedException();
|
throw new UnauthorizedException();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,21 +1,18 @@
|
|||||||
package dev.dinauer.login;
|
package dev.dinauer.login;
|
||||||
|
|
||||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
import java.time.ZonedDateTime;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import java.util.Optional;
|
||||||
import io.fabric8.kubernetes.api.model.ObjectMeta;
|
|
||||||
import io.smallrye.jwt.build.Jwt;
|
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
import jakarta.inject.Inject;
|
import jakarta.inject.Inject;
|
||||||
import jakarta.ws.rs.*;
|
import jakarta.ws.rs.*;
|
||||||
import jakarta.ws.rs.core.MediaType;
|
import jakarta.ws.rs.core.MediaType;
|
||||||
import io.quarkus.elytron.security.common.BcryptUtil;
|
|
||||||
import jakarta.ws.rs.core.Response;
|
import jakarta.ws.rs.core.Response;
|
||||||
|
|
||||||
import org.jboss.logging.Logger;
|
import org.jboss.logging.Logger;
|
||||||
|
|
||||||
import java.io.IOException;
|
import io.quarkus.elytron.security.common.BcryptUtil;
|
||||||
import java.time.ZonedDateTime;
|
import io.smallrye.jwt.build.Jwt;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Optional;
|
|
||||||
|
|
||||||
@Path("/login")
|
@Path("/login")
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
|
|||||||
@ -1,11 +1,10 @@
|
|||||||
package dev.dinauer.login;
|
package dev.dinauer.login;
|
||||||
|
|
||||||
import jakarta.persistence.*;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
|
import jakarta.persistence.*;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "kubooboo_user")
|
@Table(name = "kubooboo_user")
|
||||||
public class UserEntity
|
public class UserEntity
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
package dev.dinauer.login;
|
package dev.dinauer.login;
|
||||||
|
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
|
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
public class UserMapper
|
public class UserMapper
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,10 +1,11 @@
|
|||||||
package dev.dinauer.login;
|
package dev.dinauer.login;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
|
|
||||||
import io.quarkus.hibernate.orm.panache.PanacheRepositoryBase;
|
import io.quarkus.hibernate.orm.panache.PanacheRepositoryBase;
|
||||||
import io.quarkus.panache.common.Parameters;
|
import io.quarkus.panache.common.Parameters;
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
|
||||||
|
|
||||||
import java.util.Optional;
|
|
||||||
|
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
public class UserRepo implements PanacheRepositoryBase<UserEntity, String>
|
public class UserRepo implements PanacheRepositoryBase<UserEntity, String>
|
||||||
|
|||||||
@ -1,8 +1,9 @@
|
|||||||
package dev.dinauer.login;
|
package dev.dinauer.login;
|
||||||
|
|
||||||
import io.quarkus.elytron.security.common.BcryptUtil;
|
import java.util.List;
|
||||||
import io.quarkus.security.Authenticated;
|
import java.util.Optional;
|
||||||
import io.quarkus.security.identity.SecurityIdentity;
|
import java.util.Set;
|
||||||
|
|
||||||
import jakarta.annotation.security.RolesAllowed;
|
import jakarta.annotation.security.RolesAllowed;
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
import jakarta.inject.Inject;
|
import jakarta.inject.Inject;
|
||||||
@ -10,10 +11,9 @@ import jakarta.transaction.Transactional;
|
|||||||
import jakarta.ws.rs.*;
|
import jakarta.ws.rs.*;
|
||||||
import jakarta.ws.rs.core.MediaType;
|
import jakarta.ws.rs.core.MediaType;
|
||||||
|
|
||||||
import java.io.IOException;
|
import io.quarkus.elytron.security.common.BcryptUtil;
|
||||||
import java.util.List;
|
import io.quarkus.security.Authenticated;
|
||||||
import java.util.Optional;
|
import io.quarkus.security.identity.SecurityIdentity;
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
@Path("/users")
|
@Path("/users")
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
|
|||||||
@ -1,10 +1,9 @@
|
|||||||
package dev.dinauer.monitoring;
|
package dev.dinauer.monitoring;
|
||||||
|
|
||||||
import dev.dinauer.monitoring.indexing.Bucket;
|
|
||||||
import io.fabric8.kubernetes.api.model.Pod;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import dev.dinauer.monitoring.indexing.Bucket;
|
||||||
|
|
||||||
public record MonitoredResource<E>(E resource, List<Bucket> jobs)
|
public record MonitoredResource<E>(E resource, List<Bucket> jobs)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,16 +1,17 @@
|
|||||||
package dev.dinauer.monitoring;
|
package dev.dinauer.monitoring;
|
||||||
|
|
||||||
import dev.dinauer.monitoring.entity.MonitoringConfig;
|
|
||||||
import dev.dinauer.monitoring.entity.repo.MonitoringRepo;
|
|
||||||
import dev.dinauer.monitoring.indexing.Bucket;
|
|
||||||
import io.fabric8.kubernetes.api.model.Pod;
|
|
||||||
import jakarta.inject.Inject;
|
|
||||||
import jakarta.ws.rs.*;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import jakarta.inject.Inject;
|
||||||
|
import jakarta.ws.rs.*;
|
||||||
|
|
||||||
|
import io.fabric8.kubernetes.api.model.Pod;
|
||||||
|
|
||||||
|
import dev.dinauer.monitoring.entity.MonitoringConfig;
|
||||||
|
import dev.dinauer.monitoring.entity.repo.MonitoringRepo;
|
||||||
|
|
||||||
@Path("/monitorings/{monitoring-id}/jobs")
|
@Path("/monitorings/{monitoring-id}/jobs")
|
||||||
public class MonitoringJobResource
|
public class MonitoringJobResource
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,7 +1,20 @@
|
|||||||
package dev.dinauer.monitoring;
|
package dev.dinauer.monitoring;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.concurrent.Executors;
|
||||||
|
import java.util.concurrent.ScheduledExecutorService;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
import jakarta.annotation.PostConstruct;
|
||||||
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
|
import jakarta.inject.Inject;
|
||||||
|
|
||||||
|
import org.jboss.logging.Logger;
|
||||||
|
|
||||||
|
import io.quarkus.runtime.Startup;
|
||||||
|
|
||||||
import dev.dinauer.monitoring.entity.MonitoringConfig;
|
import dev.dinauer.monitoring.entity.MonitoringConfig;
|
||||||
import dev.dinauer.monitoring.entity.MonitoringType;
|
|
||||||
import dev.dinauer.monitoring.entity.repo.MonitoringRepo;
|
import dev.dinauer.monitoring.entity.repo.MonitoringRepo;
|
||||||
import dev.dinauer.monitoring.log.Log;
|
import dev.dinauer.monitoring.log.Log;
|
||||||
import dev.dinauer.monitoring.log.LogRepo;
|
import dev.dinauer.monitoring.log.LogRepo;
|
||||||
@ -9,18 +22,6 @@ import dev.dinauer.monitoring.memory.MemoryMonitoringJobRunner;
|
|||||||
import dev.dinauer.monitoring.nodes.NodeMonitoringService;
|
import dev.dinauer.monitoring.nodes.NodeMonitoringService;
|
||||||
import dev.dinauer.monitoring.volume.VolumeMonitoringJobRunner;
|
import dev.dinauer.monitoring.volume.VolumeMonitoringJobRunner;
|
||||||
import dev.dinauer.monitoring.volume.utils.Duration;
|
import dev.dinauer.monitoring.volume.utils.Duration;
|
||||||
import io.quarkus.runtime.Startup;
|
|
||||||
import jakarta.annotation.PostConstruct;
|
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
|
||||||
import jakarta.inject.Inject;
|
|
||||||
import org.jboss.logging.Logger;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.concurrent.CompletableFuture;
|
|
||||||
import java.util.concurrent.Executors;
|
|
||||||
import java.util.concurrent.ScheduledExecutorService;
|
|
||||||
import java.util.concurrent.TimeUnit;
|
|
||||||
|
|
||||||
@Startup
|
@Startup
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
|
|||||||
@ -1,24 +1,24 @@
|
|||||||
package dev.dinauer.monitoring;
|
package dev.dinauer.monitoring;
|
||||||
|
|
||||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
import java.io.IOException;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import java.util.List;
|
||||||
import dev.dinauer.monitoring.entity.MonitoringConfig;
|
import java.util.Map;
|
||||||
import dev.dinauer.monitoring.entity.MonitoringType;
|
import java.util.UUID;
|
||||||
import dev.dinauer.monitoring.entity.TargetConfig;
|
|
||||||
import dev.dinauer.monitoring.entity.VolumeConfig;
|
|
||||||
import dev.dinauer.monitoring.entity.creation.MonitoringConfigCreation;
|
|
||||||
import dev.dinauer.monitoring.entity.creation.VolumeConfigCreation;
|
|
||||||
import dev.dinauer.monitoring.entity.repo.MonitoringRepo;
|
|
||||||
import jakarta.inject.Inject;
|
import jakarta.inject.Inject;
|
||||||
import jakarta.transaction.Transactional;
|
import jakarta.transaction.Transactional;
|
||||||
import jakarta.ws.rs.GET;
|
import jakarta.ws.rs.GET;
|
||||||
import jakarta.ws.rs.POST;
|
import jakarta.ws.rs.POST;
|
||||||
import jakarta.ws.rs.Path;
|
import jakarta.ws.rs.Path;
|
||||||
|
|
||||||
import java.io.IOException;
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
import dev.dinauer.monitoring.entity.MonitoringConfig;
|
||||||
import java.util.UUID;
|
import dev.dinauer.monitoring.entity.MonitoringType;
|
||||||
|
import dev.dinauer.monitoring.entity.TargetConfig;
|
||||||
|
import dev.dinauer.monitoring.entity.VolumeConfig;
|
||||||
|
import dev.dinauer.monitoring.entity.creation.MonitoringConfigCreation;
|
||||||
|
import dev.dinauer.monitoring.entity.repo.MonitoringRepo;
|
||||||
|
|
||||||
@Path("/monitorings")
|
@Path("/monitorings")
|
||||||
public class MonitoringResource
|
public class MonitoringResource
|
||||||
|
|||||||
@ -1,14 +1,17 @@
|
|||||||
package dev.dinauer.monitoring;
|
package dev.dinauer.monitoring;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
|
import jakarta.inject.Inject;
|
||||||
|
|
||||||
|
import org.jboss.resteasy.reactive.common.NotImplementedYet;
|
||||||
|
|
||||||
|
import io.fabric8.kubernetes.api.model.Pod;
|
||||||
|
|
||||||
import dev.dinauer.monitoring.entity.MonitoringConfig;
|
import dev.dinauer.monitoring.entity.MonitoringConfig;
|
||||||
import dev.dinauer.monitoring.entity.TargetConfig;
|
import dev.dinauer.monitoring.entity.TargetConfig;
|
||||||
import dev.dinauer.service.PodService;
|
import dev.dinauer.service.PodService;
|
||||||
import io.fabric8.kubernetes.api.model.Pod;
|
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
|
||||||
import jakarta.inject.Inject;
|
|
||||||
import org.jboss.resteasy.reactive.common.NotImplementedYet;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
public class MonitoringService
|
public class MonitoringService
|
||||||
|
|||||||
@ -1,22 +1,21 @@
|
|||||||
package dev.dinauer.monitoring;
|
package dev.dinauer.monitoring;
|
||||||
|
|
||||||
import dev.dinauer.monitoring.indexing.BigBucketService;
|
|
||||||
import dev.dinauer.monitoring.indexing.Bucket;
|
|
||||||
import dev.dinauer.monitoring.indexing.BucketUnit;
|
|
||||||
import dev.dinauer.service.NodeService;
|
|
||||||
import dev.dinauer.utils.ClientProvider;
|
|
||||||
import io.fabric8.kubernetes.api.model.Node;
|
|
||||||
import jakarta.inject.Inject;
|
|
||||||
import jakarta.ws.rs.GET;
|
|
||||||
import jakarta.ws.rs.Path;
|
|
||||||
import jakarta.ws.rs.QueryParam;
|
|
||||||
import org.jboss.resteasy.reactive.common.NotImplementedYet;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.time.ZonedDateTime;
|
import java.time.ZonedDateTime;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import jakarta.inject.Inject;
|
||||||
|
import jakarta.ws.rs.GET;
|
||||||
|
import jakarta.ws.rs.Path;
|
||||||
|
import jakarta.ws.rs.QueryParam;
|
||||||
|
|
||||||
|
import io.fabric8.kubernetes.api.model.Node;
|
||||||
|
|
||||||
|
import dev.dinauer.monitoring.indexing.BigBucketService;
|
||||||
|
import dev.dinauer.monitoring.indexing.BucketUnit;
|
||||||
|
import dev.dinauer.service.NodeService;
|
||||||
|
|
||||||
@Path("/monitorings/nodes/jobs")
|
@Path("/monitorings/nodes/jobs")
|
||||||
public class NodeMonitoringJobResource
|
public class NodeMonitoringJobResource
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,5 +1,13 @@
|
|||||||
package dev.dinauer.monitoring;
|
package dev.dinauer.monitoring;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
|
import jakarta.inject.Inject;
|
||||||
|
|
||||||
|
import io.fabric8.kubernetes.api.model.Node;
|
||||||
|
import io.fabric8.kubernetes.api.model.Pod;
|
||||||
|
|
||||||
import dev.dinauer.ProcessRunner;
|
import dev.dinauer.ProcessRunner;
|
||||||
import dev.dinauer.monitoring.nodes.MonitoredNode;
|
import dev.dinauer.monitoring.nodes.MonitoredNode;
|
||||||
import dev.dinauer.monitoring.nodes.NodeMetrics;
|
import dev.dinauer.monitoring.nodes.NodeMetrics;
|
||||||
@ -7,12 +15,6 @@ import dev.dinauer.monitoring.nodes.client.NodeDiskMetrics;
|
|||||||
import dev.dinauer.monitoring.nodes.client.NodeDiskService;
|
import dev.dinauer.monitoring.nodes.client.NodeDiskService;
|
||||||
import dev.dinauer.service.PodService;
|
import dev.dinauer.service.PodService;
|
||||||
import dev.dinauer.utils.ClientProvider;
|
import dev.dinauer.utils.ClientProvider;
|
||||||
import io.fabric8.kubernetes.api.model.Node;
|
|
||||||
import io.fabric8.kubernetes.api.model.Pod;
|
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
|
||||||
import jakarta.inject.Inject;
|
|
||||||
|
|
||||||
import java.util.*;
|
|
||||||
|
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
public class TopNodesService
|
public class TopNodesService
|
||||||
|
|||||||
@ -1,9 +1,10 @@
|
|||||||
package dev.dinauer.monitoring.collection;
|
package dev.dinauer.monitoring.collection;
|
||||||
|
|
||||||
import dev.dinauer.monitoring.entity.MonitoringConfig;
|
import java.util.List;
|
||||||
|
|
||||||
import jakarta.persistence.*;
|
import jakarta.persistence.*;
|
||||||
|
|
||||||
import java.util.List;
|
import dev.dinauer.monitoring.entity.MonitoringConfig;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "monitoring_collection")
|
@Table(name = "monitoring_collection")
|
||||||
|
|||||||
@ -1,8 +1,9 @@
|
|||||||
package dev.dinauer.monitoring.collection;
|
package dev.dinauer.monitoring.collection;
|
||||||
|
|
||||||
import io.quarkus.hibernate.orm.panache.PanacheRepositoryBase;
|
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
|
|
||||||
|
import io.quarkus.hibernate.orm.panache.PanacheRepositoryBase;
|
||||||
|
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
public class MonitoringCollectionRepo implements PanacheRepositoryBase<MonitoringCollection, String>
|
public class MonitoringCollectionRepo implements PanacheRepositoryBase<MonitoringCollection, String>
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,12 +1,12 @@
|
|||||||
package dev.dinauer.monitoring.collection;
|
package dev.dinauer.monitoring.collection;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import jakarta.inject.Inject;
|
import jakarta.inject.Inject;
|
||||||
import jakarta.ws.rs.GET;
|
import jakarta.ws.rs.GET;
|
||||||
import jakarta.ws.rs.Path;
|
import jakarta.ws.rs.Path;
|
||||||
import jakarta.ws.rs.PathParam;
|
import jakarta.ws.rs.PathParam;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@Path("/monitoring-collections")
|
@Path("/monitoring-collections")
|
||||||
public class MonitoringCollectionResource
|
public class MonitoringCollectionResource
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,8 +1,9 @@
|
|||||||
package dev.dinauer.monitoring.entity;
|
package dev.dinauer.monitoring.entity;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
|
||||||
import jakarta.persistence.*;
|
import jakarta.persistence.*;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "cpu_config")
|
@Table(name = "cpu_config")
|
||||||
public class CpuConfig
|
public class CpuConfig
|
||||||
|
|||||||
@ -1,8 +1,9 @@
|
|||||||
package dev.dinauer.monitoring.entity;
|
package dev.dinauer.monitoring.entity;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
|
||||||
import jakarta.persistence.*;
|
import jakarta.persistence.*;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "healthcheck_config")
|
@Table(name = "healthcheck_config")
|
||||||
public class HealthcheckConfig
|
public class HealthcheckConfig
|
||||||
|
|||||||
@ -1,9 +1,11 @@
|
|||||||
package dev.dinauer.monitoring.entity;
|
package dev.dinauer.monitoring.entity;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
|
||||||
import dev.dinauer.monitoring.collection.MonitoringCollection;
|
|
||||||
import jakarta.persistence.*;
|
import jakarta.persistence.*;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
|
|
||||||
|
import dev.dinauer.monitoring.collection.MonitoringCollection;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "monitoring_config")
|
@Table(name = "monitoring_config")
|
||||||
public class MonitoringConfig
|
public class MonitoringConfig
|
||||||
|
|||||||
@ -1,12 +1,13 @@
|
|||||||
package dev.dinauer.monitoring.entity;
|
package dev.dinauer.monitoring.entity;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import jakarta.persistence.*;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
import com.fasterxml.jackson.core.type.TypeReference;
|
import com.fasterxml.jackson.core.type.TypeReference;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import jakarta.persistence.*;
|
|
||||||
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "target_config")
|
@Table(name = "target_config")
|
||||||
|
|||||||
@ -1,8 +1,9 @@
|
|||||||
package dev.dinauer.monitoring.entity;
|
package dev.dinauer.monitoring.entity;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
|
||||||
import jakarta.persistence.*;
|
import jakarta.persistence.*;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "volume_config")
|
@Table(name = "volume_config")
|
||||||
public class VolumeConfig
|
public class VolumeConfig
|
||||||
@ -64,4 +65,4 @@ public class VolumeConfig
|
|||||||
this.containerName = containerName;
|
this.containerName = containerName;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,12 +1,14 @@
|
|||||||
package dev.dinauer.monitoring.entity.repo;
|
package dev.dinauer.monitoring.entity.repo;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
|
|
||||||
|
import io.quarkus.hibernate.orm.panache.PanacheRepositoryBase;
|
||||||
|
import io.quarkus.panache.common.Parameters;
|
||||||
|
|
||||||
import dev.dinauer.monitoring.entity.MonitoringConfig;
|
import dev.dinauer.monitoring.entity.MonitoringConfig;
|
||||||
import dev.dinauer.monitoring.entity.MonitoringType;
|
import dev.dinauer.monitoring.entity.MonitoringType;
|
||||||
import io.quarkus.hibernate.orm.panache.PanacheRepositoryBase;
|
|
||||||
import io.quarkus.panache.common.Parameters;
|
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
public class MonitoringRepo implements PanacheRepositoryBase<MonitoringConfig, String>
|
public class MonitoringRepo implements PanacheRepositoryBase<MonitoringConfig, String>
|
||||||
|
|||||||
@ -1,10 +1,12 @@
|
|||||||
package dev.dinauer.monitoring.indexing;
|
package dev.dinauer.monitoring.indexing;
|
||||||
|
|
||||||
import io.quarkus.rest.client.reactive.ClientBasicAuth;
|
import java.util.List;
|
||||||
|
|
||||||
import jakarta.ws.rs.*;
|
import jakarta.ws.rs.*;
|
||||||
|
|
||||||
import org.eclipse.microprofile.rest.client.inject.RegisterRestClient;
|
import org.eclipse.microprofile.rest.client.inject.RegisterRestClient;
|
||||||
|
|
||||||
import java.util.List;
|
import io.quarkus.rest.client.reactive.ClientBasicAuth;
|
||||||
|
|
||||||
@Path("/api/metrics/{resource}/{metric}")
|
@Path("/api/metrics/{resource}/{metric}")
|
||||||
@RegisterRestClient(configKey = "big-bucket")
|
@RegisterRestClient(configKey = "big-bucket")
|
||||||
|
|||||||
@ -1,15 +1,17 @@
|
|||||||
package dev.dinauer.monitoring.indexing;
|
package dev.dinauer.monitoring.indexing;
|
||||||
|
|
||||||
import io.quarkus.runtime.Startup;
|
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
|
||||||
import jakarta.inject.Inject;
|
|
||||||
import jakarta.ws.rs.InternalServerErrorException;
|
|
||||||
import org.eclipse.microprofile.rest.client.inject.RestClient;
|
|
||||||
import org.jboss.logging.Logger;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
|
import jakarta.inject.Inject;
|
||||||
|
import jakarta.ws.rs.InternalServerErrorException;
|
||||||
|
|
||||||
|
import org.eclipse.microprofile.rest.client.inject.RestClient;
|
||||||
|
import org.jboss.logging.Logger;
|
||||||
|
|
||||||
|
import io.quarkus.runtime.Startup;
|
||||||
|
|
||||||
@Startup
|
@Startup
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
public class BigBucketService
|
public class BigBucketService
|
||||||
|
|||||||
@ -1,12 +1,12 @@
|
|||||||
package dev.dinauer.monitoring.log;
|
package dev.dinauer.monitoring.log;
|
||||||
|
|
||||||
|
import java.time.ZonedDateTime;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.Entity;
|
||||||
import jakarta.persistence.Id;
|
import jakarta.persistence.Id;
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
|
|
||||||
import java.time.ZonedDateTime;
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "log")
|
@Table(name = "log")
|
||||||
public class Log
|
public class Log
|
||||||
|
|||||||
@ -1,8 +1,9 @@
|
|||||||
package dev.dinauer.monitoring.log;
|
package dev.dinauer.monitoring.log;
|
||||||
|
|
||||||
import io.quarkus.hibernate.orm.panache.PanacheRepositoryBase;
|
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
|
|
||||||
|
import io.quarkus.hibernate.orm.panache.PanacheRepositoryBase;
|
||||||
|
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
public class LogRepo implements PanacheRepositoryBase<Log, String>
|
public class LogRepo implements PanacheRepositoryBase<Log, String>
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,10 +1,10 @@
|
|||||||
package dev.dinauer.monitoring.memory;
|
package dev.dinauer.monitoring.memory;
|
||||||
|
|
||||||
import com.cronutils.utils.StringUtils;
|
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.cronutils.utils.StringUtils;
|
||||||
|
|
||||||
public class ByteExtractor
|
public class ByteExtractor
|
||||||
{
|
{
|
||||||
public static long extractBytes(String input)
|
public static long extractBytes(String input)
|
||||||
|
|||||||
@ -1,17 +1,19 @@
|
|||||||
package dev.dinauer.monitoring.memory;
|
package dev.dinauer.monitoring.memory;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
|
import jakarta.inject.Inject;
|
||||||
|
|
||||||
|
import io.fabric8.kubernetes.api.model.Pod;
|
||||||
|
|
||||||
import dev.dinauer.ProcessRunner;
|
import dev.dinauer.ProcessRunner;
|
||||||
import dev.dinauer.monitoring.MonitoringService;
|
import dev.dinauer.monitoring.MonitoringService;
|
||||||
import dev.dinauer.monitoring.entity.MonitoringConfig;
|
import dev.dinauer.monitoring.entity.MonitoringConfig;
|
||||||
import dev.dinauer.monitoring.entity.MonitoringType;
|
import dev.dinauer.monitoring.entity.MonitoringType;
|
||||||
import dev.dinauer.monitoring.indexing.BigBucketService;
|
import dev.dinauer.monitoring.indexing.BigBucketService;
|
||||||
import io.fabric8.kubernetes.api.model.Pod;
|
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
|
||||||
import jakarta.inject.Inject;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
public class MemoryMonitoringJobRunner
|
public class MemoryMonitoringJobRunner
|
||||||
|
|||||||
@ -1,9 +1,5 @@
|
|||||||
package dev.dinauer.monitoring.nodes;
|
package dev.dinauer.monitoring.nodes;
|
||||||
|
|
||||||
import dev.dinauer.monitoring.TopNodesService;
|
|
||||||
import dev.dinauer.monitoring.indexing.BigBucketService;
|
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
|
||||||
import jakarta.inject.Inject;
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.AbstractMap;
|
import java.util.AbstractMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -11,6 +7,12 @@ import java.util.Map;
|
|||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
|
import jakarta.inject.Inject;
|
||||||
|
|
||||||
|
import dev.dinauer.monitoring.TopNodesService;
|
||||||
|
import dev.dinauer.monitoring.indexing.BigBucketService;
|
||||||
|
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
public class NodeMonitoringService
|
public class NodeMonitoringService
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,14 +1,5 @@
|
|||||||
package dev.dinauer.monitoring.nodes.client;
|
package dev.dinauer.monitoring.nodes.client;
|
||||||
|
|
||||||
import dev.dinauer.service.PodService;
|
|
||||||
import io.fabric8.kubernetes.api.model.Node;
|
|
||||||
import io.fabric8.kubernetes.api.model.Pod;
|
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
|
||||||
import jakarta.inject.Inject;
|
|
||||||
import org.eclipse.microprofile.config.ConfigProvider;
|
|
||||||
import org.eclipse.microprofile.config.inject.ConfigProperty;
|
|
||||||
import org.jboss.logging.Logger;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
import java.net.URISyntaxException;
|
import java.net.URISyntaxException;
|
||||||
@ -18,6 +9,17 @@ import java.net.http.HttpResponse;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
|
import jakarta.inject.Inject;
|
||||||
|
|
||||||
|
import org.eclipse.microprofile.config.inject.ConfigProperty;
|
||||||
|
import org.jboss.logging.Logger;
|
||||||
|
|
||||||
|
import io.fabric8.kubernetes.api.model.Pod;
|
||||||
|
|
||||||
|
import dev.dinauer.service.PodService;
|
||||||
|
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
public class NodeDiskService
|
public class NodeDiskService
|
||||||
@ -30,6 +32,9 @@ public class NodeDiskService
|
|||||||
@Inject
|
@Inject
|
||||||
PodService podService;
|
PodService podService;
|
||||||
|
|
||||||
|
@ConfigProperty(name = "quarkus.profile")
|
||||||
|
String profile;
|
||||||
|
|
||||||
public Map<String, NodeDiskMetrics> getDiskMetrics()
|
public Map<String, NodeDiskMetrics> getDiskMetrics()
|
||||||
{
|
{
|
||||||
Map<String, NodeDiskMetrics> result = new HashMap<>();
|
Map<String, NodeDiskMetrics> result = new HashMap<>();
|
||||||
@ -48,6 +53,10 @@ public class NodeDiskService
|
|||||||
private Map.Entry<String, NodeDiskMetrics> getDiskMetricsForPod(Pod pod)
|
private Map.Entry<String, NodeDiskMetrics> getDiskMetricsForPod(Pod pod)
|
||||||
{
|
{
|
||||||
String nodeName = pod.getSpec().getNodeName();
|
String nodeName = pod.getSpec().getNodeName();
|
||||||
|
if ("dev".equals(profile))
|
||||||
|
{
|
||||||
|
return Map.entry(nodeName, new NodeDiskMetrics(new Random().nextInt(80) + 10, 0L));
|
||||||
|
}
|
||||||
String ip = pod.getStatus().getPodIP();
|
String ip = pod.getStatus().getPodIP();
|
||||||
String port = "8080";
|
String port = "8080";
|
||||||
try (HttpClient client = HttpClient.newBuilder().build())
|
try (HttpClient client = HttpClient.newBuilder().build())
|
||||||
|
|||||||
@ -1,15 +1,17 @@
|
|||||||
package dev.dinauer.monitoring.pods;
|
package dev.dinauer.monitoring.pods;
|
||||||
|
|
||||||
import dev.dinauer.ProcessRunner;
|
|
||||||
import io.fabric8.kubernetes.api.model.Pod;
|
|
||||||
import io.quarkus.scheduler.Scheduled;
|
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
|
||||||
import jakarta.inject.Inject;
|
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
|
import jakarta.inject.Inject;
|
||||||
|
|
||||||
|
import io.fabric8.kubernetes.api.model.Pod;
|
||||||
|
import io.quarkus.scheduler.Scheduled;
|
||||||
|
|
||||||
|
import dev.dinauer.ProcessRunner;
|
||||||
|
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
public class PodMetricsService
|
public class PodMetricsService
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,15 +1,5 @@
|
|||||||
package dev.dinauer.monitoring.volume;
|
package dev.dinauer.monitoring.volume;
|
||||||
|
|
||||||
import dev.dinauer.ProcessRunner;
|
|
||||||
import dev.dinauer.monitoring.MonitoringService;
|
|
||||||
import dev.dinauer.monitoring.entity.MonitoringConfig;
|
|
||||||
import dev.dinauer.monitoring.entity.MonitoringType;
|
|
||||||
import dev.dinauer.monitoring.indexing.BigBucketService;
|
|
||||||
import io.fabric8.kubernetes.api.model.Pod;
|
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
|
||||||
import jakarta.inject.Inject;
|
|
||||||
import org.jboss.logging.Logger;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.time.ZonedDateTime;
|
import java.time.ZonedDateTime;
|
||||||
import java.time.temporal.ChronoUnit;
|
import java.time.temporal.ChronoUnit;
|
||||||
@ -18,6 +8,19 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
|
import jakarta.inject.Inject;
|
||||||
|
|
||||||
|
import org.jboss.logging.Logger;
|
||||||
|
|
||||||
|
import io.fabric8.kubernetes.api.model.Pod;
|
||||||
|
|
||||||
|
import dev.dinauer.ProcessRunner;
|
||||||
|
import dev.dinauer.monitoring.MonitoringService;
|
||||||
|
import dev.dinauer.monitoring.entity.MonitoringConfig;
|
||||||
|
import dev.dinauer.monitoring.entity.MonitoringType;
|
||||||
|
import dev.dinauer.monitoring.indexing.BigBucketService;
|
||||||
|
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
public class VolumeMonitoringJobRunner
|
public class VolumeMonitoringJobRunner
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,15 +1,5 @@
|
|||||||
package dev.dinauer.monitoring.volume;
|
package dev.dinauer.monitoring.volume;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
||||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
|
|
||||||
import dev.dinauer.WorkdirProvider;
|
|
||||||
import jakarta.annotation.PostConstruct;
|
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
|
||||||
import jakarta.inject.Inject;
|
|
||||||
import jakarta.ws.rs.NotFoundException;
|
|
||||||
import org.jboss.resteasy.reactive.common.NotImplementedYet;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
@ -19,6 +9,15 @@ import java.util.ArrayList;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
|
import jakarta.annotation.PostConstruct;
|
||||||
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
|
import jakarta.inject.Inject;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
|
||||||
|
|
||||||
|
import dev.dinauer.WorkdirProvider;
|
||||||
|
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
public class VolumeUsageRepo
|
public class VolumeUsageRepo
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,16 +1,19 @@
|
|||||||
package dev.dinauer.service;
|
package dev.dinauer.service;
|
||||||
|
|
||||||
import dev.dinauer.utils.ClientProvider;
|
|
||||||
import io.fabric8.kubernetes.api.model.ConfigMap;
|
|
||||||
import io.fabric8.kubernetes.client.Watch;
|
|
||||||
import io.fabric8.kubernetes.client.Watcher;
|
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
|
||||||
import jakarta.inject.Inject;
|
|
||||||
import org.jboss.resteasy.reactive.common.NotImplementedYet;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
|
import jakarta.inject.Inject;
|
||||||
|
|
||||||
|
import org.jboss.resteasy.reactive.common.NotImplementedYet;
|
||||||
|
|
||||||
|
import io.fabric8.kubernetes.api.model.ConfigMap;
|
||||||
|
import io.fabric8.kubernetes.client.Watch;
|
||||||
|
import io.fabric8.kubernetes.client.Watcher;
|
||||||
|
|
||||||
|
import dev.dinauer.utils.ClientProvider;
|
||||||
|
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
public class ConfigMapService implements ResourceService<ConfigMap>
|
public class ConfigMapService implements ResourceService<ConfigMap>
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,16 +1,19 @@
|
|||||||
package dev.dinauer.service;
|
package dev.dinauer.service;
|
||||||
|
|
||||||
import dev.dinauer.utils.ClientProvider;
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
|
import jakarta.inject.Inject;
|
||||||
|
|
||||||
|
import org.jboss.resteasy.reactive.common.NotImplementedYet;
|
||||||
|
|
||||||
import io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinition;
|
import io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinition;
|
||||||
import io.fabric8.kubernetes.client.Watch;
|
import io.fabric8.kubernetes.client.Watch;
|
||||||
import io.fabric8.kubernetes.client.Watcher;
|
import io.fabric8.kubernetes.client.Watcher;
|
||||||
import io.fabric8.kubernetes.client.dsl.ApiextensionsAPIGroupDSL;
|
import io.fabric8.kubernetes.client.dsl.ApiextensionsAPIGroupDSL;
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
|
||||||
import jakarta.inject.Inject;
|
|
||||||
import org.jboss.resteasy.reactive.common.NotImplementedYet;
|
|
||||||
|
|
||||||
import java.util.List;
|
import dev.dinauer.utils.ClientProvider;
|
||||||
import java.util.Optional;
|
|
||||||
|
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
public class CustomResourceDefinitionService implements ResourceService<CustomResourceDefinition>
|
public class CustomResourceDefinitionService implements ResourceService<CustomResourceDefinition>
|
||||||
|
|||||||
@ -1,16 +1,19 @@
|
|||||||
package dev.dinauer.service;
|
package dev.dinauer.service;
|
||||||
|
|
||||||
import dev.dinauer.utils.ClientProvider;
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
|
import jakarta.inject.Inject;
|
||||||
|
|
||||||
|
import org.jboss.resteasy.reactive.common.NotImplementedYet;
|
||||||
|
|
||||||
import io.fabric8.kubernetes.api.model.apps.Deployment;
|
import io.fabric8.kubernetes.api.model.apps.Deployment;
|
||||||
import io.fabric8.kubernetes.client.Watch;
|
import io.fabric8.kubernetes.client.Watch;
|
||||||
import io.fabric8.kubernetes.client.Watcher;
|
import io.fabric8.kubernetes.client.Watcher;
|
||||||
import io.fabric8.kubernetes.client.dsl.AppsAPIGroupDSL;
|
import io.fabric8.kubernetes.client.dsl.AppsAPIGroupDSL;
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
|
||||||
import jakarta.inject.Inject;
|
|
||||||
import org.jboss.resteasy.reactive.common.NotImplementedYet;
|
|
||||||
|
|
||||||
import java.util.List;
|
import dev.dinauer.utils.ClientProvider;
|
||||||
import java.util.Optional;
|
|
||||||
|
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
public class DeploymentService implements ResourceService<Deployment>
|
public class DeploymentService implements ResourceService<Deployment>
|
||||||
|
|||||||
@ -1,19 +1,20 @@
|
|||||||
package dev.dinauer.service;
|
package dev.dinauer.service;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import java.util.List;
|
||||||
import dev.dinauer.utils.ClientProvider;
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
|
import jakarta.inject.Inject;
|
||||||
|
|
||||||
|
import org.jboss.resteasy.reactive.common.NotImplementedYet;
|
||||||
|
|
||||||
import io.fabric8.kubernetes.api.model.ObjectMeta;
|
import io.fabric8.kubernetes.api.model.ObjectMeta;
|
||||||
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
|
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
|
||||||
import io.fabric8.kubernetes.client.Watch;
|
import io.fabric8.kubernetes.client.Watch;
|
||||||
import io.fabric8.kubernetes.client.Watcher;
|
import io.fabric8.kubernetes.client.Watcher;
|
||||||
import io.fabric8.kubernetes.client.dsl.NetworkAPIGroupDSL;
|
import io.fabric8.kubernetes.client.dsl.NetworkAPIGroupDSL;
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
|
||||||
import jakarta.inject.Inject;
|
|
||||||
import jakarta.ws.rs.NotFoundException;
|
|
||||||
import org.jboss.resteasy.reactive.common.NotImplementedYet;
|
|
||||||
|
|
||||||
import java.util.List;
|
import dev.dinauer.utils.ClientProvider;
|
||||||
import java.util.Optional;
|
|
||||||
|
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
public class IngressService implements ResourceService<Ingress>
|
public class IngressService implements ResourceService<Ingress>
|
||||||
|
|||||||
@ -1,15 +1,17 @@
|
|||||||
package dev.dinauer.service;
|
package dev.dinauer.service;
|
||||||
|
|
||||||
import dev.dinauer.utils.ClientProvider;
|
|
||||||
import io.fabric8.kubernetes.api.model.Namespace;
|
|
||||||
import io.fabric8.kubernetes.client.Watch;
|
|
||||||
import io.fabric8.kubernetes.client.Watcher;
|
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
|
||||||
import jakarta.inject.Inject;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
|
import jakarta.inject.Inject;
|
||||||
|
|
||||||
|
import io.fabric8.kubernetes.api.model.Namespace;
|
||||||
|
import io.fabric8.kubernetes.client.Watch;
|
||||||
|
import io.fabric8.kubernetes.client.Watcher;
|
||||||
|
|
||||||
|
import dev.dinauer.utils.ClientProvider;
|
||||||
|
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
public class NamespaceService implements ResourceService<Namespace>
|
public class NamespaceService implements ResourceService<Namespace>
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,14 +1,18 @@
|
|||||||
package dev.dinauer.service;
|
package dev.dinauer.service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
|
import jakarta.inject.Inject;
|
||||||
|
|
||||||
|
import org.jboss.resteasy.reactive.common.NotImplementedYet;
|
||||||
|
|
||||||
|
import io.fabric8.kubernetes.client.Watch;
|
||||||
|
import io.fabric8.kubernetes.client.Watcher;
|
||||||
|
|
||||||
import dev.dinauer.monitoring.TopNodesService;
|
import dev.dinauer.monitoring.TopNodesService;
|
||||||
import dev.dinauer.monitoring.nodes.MonitoredNode;
|
import dev.dinauer.monitoring.nodes.MonitoredNode;
|
||||||
import io.fabric8.kubernetes.client.Watch;
|
|
||||||
import io.fabric8.kubernetes.client.Watcher;
|
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
|
||||||
import jakarta.inject.Inject;
|
|
||||||
import org.jboss.resteasy.reactive.common.NotImplementedYet;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Optional;
|
|
||||||
|
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
public class NodeService implements ResourceService<MonitoredNode>
|
public class NodeService implements ResourceService<MonitoredNode>
|
||||||
|
|||||||
@ -1,19 +1,20 @@
|
|||||||
package dev.dinauer.service;
|
package dev.dinauer.service;
|
||||||
|
|
||||||
import dev.dinauer.utils.ClientProvider;
|
|
||||||
import io.fabric8.kubernetes.api.model.Pod;
|
|
||||||
import io.fabric8.kubernetes.api.model.apps.DaemonSet;
|
|
||||||
import io.fabric8.kubernetes.api.model.apps.StatefulSet;
|
|
||||||
import io.fabric8.kubernetes.client.Watch;
|
|
||||||
import io.fabric8.kubernetes.client.Watcher;
|
|
||||||
import io.fabric8.kubernetes.client.dsl.AppsAPIGroupDSL;
|
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
|
||||||
import jakarta.inject.Inject;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
|
import jakarta.inject.Inject;
|
||||||
|
|
||||||
|
import io.fabric8.kubernetes.api.model.Pod;
|
||||||
|
import io.fabric8.kubernetes.api.model.apps.StatefulSet;
|
||||||
|
import io.fabric8.kubernetes.client.Watch;
|
||||||
|
import io.fabric8.kubernetes.client.Watcher;
|
||||||
|
import io.fabric8.kubernetes.client.dsl.AppsAPIGroupDSL;
|
||||||
|
|
||||||
|
import dev.dinauer.utils.ClientProvider;
|
||||||
|
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
public class PodService implements ResourceService<Pod>
|
public class PodService implements ResourceService<Pod>
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,15 +1,17 @@
|
|||||||
package dev.dinauer.service;
|
package dev.dinauer.service;
|
||||||
|
|
||||||
import dev.dinauer.utils.ClientProvider;
|
|
||||||
import io.fabric8.kubernetes.api.model.PersistentVolume;
|
|
||||||
import io.fabric8.kubernetes.client.Watch;
|
|
||||||
import io.fabric8.kubernetes.client.Watcher;
|
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
|
||||||
import jakarta.inject.Inject;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
|
import jakarta.inject.Inject;
|
||||||
|
|
||||||
|
import io.fabric8.kubernetes.api.model.PersistentVolume;
|
||||||
|
import io.fabric8.kubernetes.client.Watch;
|
||||||
|
import io.fabric8.kubernetes.client.Watcher;
|
||||||
|
|
||||||
|
import dev.dinauer.utils.ClientProvider;
|
||||||
|
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
public class PvService implements ResourceService<PersistentVolume>
|
public class PvService implements ResourceService<PersistentVolume>
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,15 +1,17 @@
|
|||||||
package dev.dinauer.service;
|
package dev.dinauer.service;
|
||||||
|
|
||||||
import dev.dinauer.utils.ClientProvider;
|
|
||||||
import io.fabric8.kubernetes.api.model.PersistentVolumeClaim;
|
|
||||||
import io.fabric8.kubernetes.client.Watch;
|
|
||||||
import io.fabric8.kubernetes.client.Watcher;
|
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
|
||||||
import jakarta.inject.Inject;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
|
import jakarta.inject.Inject;
|
||||||
|
|
||||||
|
import io.fabric8.kubernetes.api.model.PersistentVolumeClaim;
|
||||||
|
import io.fabric8.kubernetes.client.Watch;
|
||||||
|
import io.fabric8.kubernetes.client.Watcher;
|
||||||
|
|
||||||
|
import dev.dinauer.utils.ClientProvider;
|
||||||
|
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
public class PvcService implements ResourceService<PersistentVolumeClaim>
|
public class PvcService implements ResourceService<PersistentVolumeClaim>
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,11 +1,11 @@
|
|||||||
package dev.dinauer.service;
|
package dev.dinauer.service;
|
||||||
|
|
||||||
import io.fabric8.kubernetes.client.Watch;
|
|
||||||
import io.fabric8.kubernetes.client.Watcher;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import io.fabric8.kubernetes.client.Watch;
|
||||||
|
import io.fabric8.kubernetes.client.Watcher;
|
||||||
|
|
||||||
public interface ResourceService<T>
|
public interface ResourceService<T>
|
||||||
{
|
{
|
||||||
void delete(String name, String namespace);
|
void delete(String name, String namespace);
|
||||||
|
|||||||
@ -1,16 +1,19 @@
|
|||||||
package dev.dinauer.service;
|
package dev.dinauer.service;
|
||||||
|
|
||||||
import dev.dinauer.utils.ClientProvider;
|
|
||||||
import io.fabric8.kubernetes.api.model.Secret;
|
|
||||||
import io.fabric8.kubernetes.client.Watch;
|
|
||||||
import io.fabric8.kubernetes.client.Watcher;
|
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
|
||||||
import jakarta.inject.Inject;
|
|
||||||
import org.jboss.resteasy.reactive.common.NotImplementedYet;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
|
import jakarta.inject.Inject;
|
||||||
|
|
||||||
|
import org.jboss.resteasy.reactive.common.NotImplementedYet;
|
||||||
|
|
||||||
|
import io.fabric8.kubernetes.api.model.Secret;
|
||||||
|
import io.fabric8.kubernetes.client.Watch;
|
||||||
|
import io.fabric8.kubernetes.client.Watcher;
|
||||||
|
|
||||||
|
import dev.dinauer.utils.ClientProvider;
|
||||||
|
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
public class SecretService implements ResourceService<Secret>
|
public class SecretService implements ResourceService<Secret>
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,20 +1,19 @@
|
|||||||
package dev.dinauer.service;
|
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;
|
|
||||||
import io.fabric8.kubernetes.client.Watch;
|
|
||||||
import io.fabric8.kubernetes.client.Watcher;
|
|
||||||
import jakarta.annotation.PostConstruct;
|
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
|
||||||
import jakarta.inject.Inject;
|
|
||||||
import org.jboss.resteasy.reactive.common.NotImplementedYet;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
|
import jakarta.inject.Inject;
|
||||||
|
|
||||||
|
import org.jboss.resteasy.reactive.common.NotImplementedYet;
|
||||||
|
|
||||||
|
import io.fabric8.kubernetes.api.model.Service;
|
||||||
|
import io.fabric8.kubernetes.client.Watch;
|
||||||
|
import io.fabric8.kubernetes.client.Watcher;
|
||||||
|
|
||||||
|
import dev.dinauer.utils.ClientProvider;
|
||||||
|
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
public class ServiceService implements ResourceService<Service>
|
public class ServiceService implements ResourceService<Service>
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,16 +1,19 @@
|
|||||||
package dev.dinauer.service;
|
package dev.dinauer.service;
|
||||||
|
|
||||||
import dev.dinauer.utils.ClientProvider;
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
|
import jakarta.inject.Inject;
|
||||||
|
|
||||||
|
import org.jboss.resteasy.reactive.common.NotImplementedYet;
|
||||||
|
|
||||||
import io.fabric8.kubernetes.api.model.apps.StatefulSet;
|
import io.fabric8.kubernetes.api.model.apps.StatefulSet;
|
||||||
import io.fabric8.kubernetes.client.Watch;
|
import io.fabric8.kubernetes.client.Watch;
|
||||||
import io.fabric8.kubernetes.client.Watcher;
|
import io.fabric8.kubernetes.client.Watcher;
|
||||||
import io.fabric8.kubernetes.client.dsl.AppsAPIGroupDSL;
|
import io.fabric8.kubernetes.client.dsl.AppsAPIGroupDSL;
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
|
||||||
import jakarta.inject.Inject;
|
|
||||||
import org.jboss.resteasy.reactive.common.NotImplementedYet;
|
|
||||||
|
|
||||||
import java.util.List;
|
import dev.dinauer.utils.ClientProvider;
|
||||||
import java.util.Optional;
|
|
||||||
|
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
public class StatefulSetService implements ResourceService<StatefulSet>
|
public class StatefulSetService implements ResourceService<StatefulSet>
|
||||||
|
|||||||
@ -1,15 +1,17 @@
|
|||||||
package dev.dinauer.settings;
|
package dev.dinauer.settings;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.DeserializationFeature;
|
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
||||||
import dev.dinauer.WorkdirProvider;
|
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
|
||||||
import jakarta.inject.Inject;
|
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
|
|
||||||
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
|
import jakarta.inject.Inject;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.DeserializationFeature;
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
|
||||||
|
import dev.dinauer.WorkdirProvider;
|
||||||
|
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
public class SettingsRepo
|
public class SettingsRepo
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,14 +1,16 @@
|
|||||||
package dev.dinauer.settings;
|
package dev.dinauer.settings;
|
||||||
|
|
||||||
import io.quarkus.security.Authenticated;
|
import java.io.IOException;
|
||||||
|
|
||||||
import jakarta.annotation.security.RolesAllowed;
|
import jakarta.annotation.security.RolesAllowed;
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
import jakarta.inject.Inject;
|
import jakarta.inject.Inject;
|
||||||
import jakarta.ws.rs.*;
|
import jakarta.ws.rs.*;
|
||||||
import jakarta.ws.rs.core.MediaType;
|
import jakarta.ws.rs.core.MediaType;
|
||||||
|
|
||||||
import org.jboss.resteasy.reactive.common.NotImplementedYet;
|
import org.jboss.resteasy.reactive.common.NotImplementedYet;
|
||||||
|
|
||||||
import java.io.IOException;
|
import io.quarkus.security.Authenticated;
|
||||||
|
|
||||||
@Path("/settings")
|
@Path("/settings")
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
|
|||||||
@ -1,15 +1,12 @@
|
|||||||
package dev.dinauer.utils;
|
package dev.dinauer.utils;
|
||||||
|
|
||||||
import io.fabric8.kubernetes.client.Config;
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
|
import jakarta.inject.Inject;
|
||||||
|
|
||||||
import io.fabric8.kubernetes.client.KubernetesClient;
|
import io.fabric8.kubernetes.client.KubernetesClient;
|
||||||
import io.fabric8.kubernetes.client.KubernetesClientBuilder;
|
import io.fabric8.kubernetes.client.KubernetesClientBuilder;
|
||||||
import io.fabric8.kubernetes.client.vertx.VertxHttpClientFactory;
|
import io.fabric8.kubernetes.client.vertx.VertxHttpClientFactory;
|
||||||
import io.vertx.mutiny.core.Vertx;
|
import io.vertx.mutiny.core.Vertx;
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
|
||||||
import jakarta.inject.Inject;
|
|
||||||
import org.eclipse.microprofile.config.inject.ConfigProperty;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
|
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
public class ClientProvider
|
public class ClientProvider
|
||||||
|
|||||||
@ -1,19 +1,19 @@
|
|||||||
package dev.dinauer.utils;
|
package dev.dinauer.utils;
|
||||||
|
|
||||||
import dev.dinauer.login.User;
|
import java.util.Set;
|
||||||
import dev.dinauer.login.UserEntity;
|
|
||||||
import dev.dinauer.login.UserRepo;
|
|
||||||
import io.quarkus.elytron.security.common.BcryptUtil;
|
|
||||||
import io.quarkus.narayana.jta.QuarkusTransaction;
|
|
||||||
import io.quarkus.runtime.Startup;
|
|
||||||
import jakarta.annotation.PostConstruct;
|
import jakarta.annotation.PostConstruct;
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
import jakarta.inject.Inject;
|
import jakarta.inject.Inject;
|
||||||
import jakarta.transaction.Transactional;
|
|
||||||
import org.jboss.logging.Logger;
|
import org.jboss.logging.Logger;
|
||||||
|
|
||||||
import java.io.IOException;
|
import io.quarkus.elytron.security.common.BcryptUtil;
|
||||||
import java.util.Set;
|
import io.quarkus.narayana.jta.QuarkusTransaction;
|
||||||
|
import io.quarkus.runtime.Startup;
|
||||||
|
|
||||||
|
import dev.dinauer.login.UserEntity;
|
||||||
|
import dev.dinauer.login.UserRepo;
|
||||||
|
|
||||||
@Startup
|
@Startup
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
|
|||||||
@ -1,10 +1,9 @@
|
|||||||
package dev.dinauer.monitoring.memory;
|
package dev.dinauer.monitoring.memory;
|
||||||
|
|
||||||
import org.junit.jupiter.api.Assertions;
|
|
||||||
import org.junit.jupiter.api.Test;
|
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
public class ByteExtractorTest
|
public class ByteExtractorTest
|
||||||
{
|
{
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user