🎨 Sort imports
This commit is contained in:
parent
898e7146f3
commit
16a5627b39
22
pom.xml
22
pom.xml
@ -163,6 +163,28 @@
|
||||
</systemPropertyVariables>
|
||||
</configuration>
|
||||
</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>
|
||||
</build>
|
||||
|
||||
|
||||
@ -1,13 +1,7 @@
|
||||
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;
|
||||
import io.fabric8.kubernetes.client.KubernetesClientBuilder;
|
||||
import io.quarkus.security.Authenticated;
|
||||
import io.smallrye.common.annotation.Blocking;
|
||||
import jakarta.annotation.PostConstruct;
|
||||
import java.util.List;
|
||||
|
||||
import jakarta.inject.Inject;
|
||||
import jakarta.ws.rs.GET;
|
||||
import jakarta.ws.rs.Path;
|
||||
@ -15,7 +9,11 @@ import jakarta.ws.rs.Produces;
|
||||
import jakarta.ws.rs.QueryParam;
|
||||
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")
|
||||
@Blocking
|
||||
|
||||
@ -1,12 +1,7 @@
|
||||
package dev.dinauer;
|
||||
|
||||
import dev.dinauer.utils.ClientProvider;
|
||||
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 java.util.List;
|
||||
|
||||
import jakarta.enterprise.context.ApplicationScoped;
|
||||
import jakarta.inject.Inject;
|
||||
import jakarta.ws.rs.GET;
|
||||
@ -14,7 +9,11 @@ import jakarta.ws.rs.Path;
|
||||
import jakarta.ws.rs.Produces;
|
||||
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")
|
||||
@ApplicationScoped
|
||||
|
||||
@ -1,21 +1,19 @@
|
||||
package dev.dinauer;
|
||||
|
||||
import dev.dinauer.service.PodService;
|
||||
import dev.dinauer.utils.ClientProvider;
|
||||
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 java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import jakarta.enterprise.context.ApplicationScoped;
|
||||
import jakarta.inject.Inject;
|
||||
import jakarta.ws.rs.*;
|
||||
import jakarta.ws.rs.core.MediaType;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import io.fabric8.kubernetes.api.model.Pod;
|
||||
import io.quarkus.runtime.Startup;
|
||||
import io.smallrye.common.annotation.Blocking;
|
||||
|
||||
import dev.dinauer.service.PodService;
|
||||
import dev.dinauer.utils.ClientProvider;
|
||||
|
||||
@Path("/pods")
|
||||
@Startup
|
||||
@ -35,16 +33,16 @@ public class PodResource
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
@Consumes
|
||||
@Blocking
|
||||
@Path("/{namespace}/{name}/env")
|
||||
public List<EnvVar> getEnv(@PathParam("namespace") String namespace, @PathParam("name") String name)
|
||||
@Path("/{namespace}/{name}/{containerName}/env")
|
||||
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<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)
|
||||
{
|
||||
int indexOfFirstEquals = line.indexOf("=");
|
||||
|
||||
@ -1,10 +1,5 @@
|
||||
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.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
@ -12,6 +7,12 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
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
|
||||
public class ProcessRunner
|
||||
{
|
||||
|
||||
@ -1,15 +1,16 @@
|
||||
package dev.dinauer;
|
||||
|
||||
import dev.dinauer.service.*;
|
||||
import io.fabric8.kubernetes.api.model.ConfigMap;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
import jakarta.annotation.security.RolesAllowed;
|
||||
import jakarta.inject.Inject;
|
||||
import jakarta.ws.rs.*;
|
||||
import jakarta.ws.rs.core.MediaType;
|
||||
|
||||
import org.jboss.logging.Logger;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import dev.dinauer.service.*;
|
||||
|
||||
@Path("/resources/{resource}")
|
||||
public class ResourceResource
|
||||
|
||||
@ -1,15 +1,7 @@
|
||||
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;
|
||||
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 java.util.List;
|
||||
|
||||
import jakarta.enterprise.context.ApplicationScoped;
|
||||
import jakarta.inject.Inject;
|
||||
import jakarta.ws.rs.GET;
|
||||
@ -18,8 +10,12 @@ import jakarta.ws.rs.Produces;
|
||||
import jakarta.ws.rs.QueryParam;
|
||||
import jakarta.ws.rs.core.MediaType;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import io.fabric8.kubernetes.api.model.Service;
|
||||
import io.quarkus.runtime.Startup;
|
||||
import io.quarkus.security.Authenticated;
|
||||
import io.smallrye.common.annotation.Blocking;
|
||||
|
||||
import dev.dinauer.service.ServiceService;
|
||||
|
||||
@Path("/services")
|
||||
@Startup
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
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.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
|
||||
import jakarta.enterprise.context.ApplicationScoped;
|
||||
|
||||
import org.eclipse.microprofile.config.inject.ConfigProperty;
|
||||
|
||||
@ApplicationScoped
|
||||
public class WorkdirProvider
|
||||
{
|
||||
|
||||
@ -1,12 +1,14 @@
|
||||
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.ParseException;
|
||||
import jakarta.enterprise.context.ApplicationScoped;
|
||||
import jakarta.inject.Inject;
|
||||
import org.eclipse.microprofile.jwt.JsonWebToken;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
@ApplicationScoped
|
||||
public class TokenService
|
||||
|
||||
@ -1,27 +1,30 @@
|
||||
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.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
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}")
|
||||
@ApplicationScoped
|
||||
|
||||
@ -1,16 +1,10 @@
|
||||
package dev.dinauer.inspect.websocket;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import dev.dinauer.ResourceType;
|
||||
import dev.dinauer.inspect.TokenService;
|
||||
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 java.io.IOException;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import jakarta.enterprise.context.ApplicationScoped;
|
||||
import jakarta.inject.Inject;
|
||||
import jakarta.websocket.OnClose;
|
||||
@ -18,15 +12,19 @@ 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.eclipse.microprofile.jwt.JsonWebToken;
|
||||
import org.jboss.logging.Logger;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import org.eclipse.microprofile.context.ManagedExecutor;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
|
||||
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}")
|
||||
@ApplicationScoped
|
||||
|
||||
@ -1,12 +1,14 @@
|
||||
package dev.dinauer.inspect.websocket;
|
||||
|
||||
import dev.dinauer.ResourceType;
|
||||
import dev.dinauer.service.*;
|
||||
import jakarta.enterprise.context.ApplicationScoped;
|
||||
import jakarta.inject.Inject;
|
||||
import jakarta.ws.rs.BadRequestException;
|
||||
|
||||
import org.jboss.logging.Logger;
|
||||
|
||||
import dev.dinauer.ResourceType;
|
||||
import dev.dinauer.service.*;
|
||||
|
||||
@ApplicationScoped
|
||||
public class ServiceFactory
|
||||
{
|
||||
|
||||
@ -1,24 +1,18 @@
|
||||
package dev.dinauer.inspect.websocket;
|
||||
|
||||
import com.arjuna.ats.internal.arjuna.Header;
|
||||
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 java.time.ZonedDateTime;
|
||||
|
||||
import jakarta.inject.Inject;
|
||||
import jakarta.ws.rs.HeaderParam;
|
||||
import jakarta.ws.rs.POST;
|
||||
import jakarta.ws.rs.Path;
|
||||
import jakarta.ws.rs.Produces;
|
||||
import jakarta.ws.rs.core.MediaType;
|
||||
import jakarta.ws.rs.core.SecurityContext;
|
||||
|
||||
import org.eclipse.microprofile.jwt.JsonWebToken;
|
||||
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import io.quarkus.security.Authenticated;
|
||||
import io.quarkus.security.UnauthorizedException;
|
||||
import io.smallrye.jwt.build.Jwt;
|
||||
|
||||
@Path("/websocket-session")
|
||||
public class WebsocketSessionResource
|
||||
@ -33,18 +27,7 @@ public class WebsocketSessionResource
|
||||
{
|
||||
if (token != null)
|
||||
{
|
||||
JwtClaimsBuilder builder = Jwt.upn(token.getName()).issuer(token.getIssuer()).expiresAt(ZonedDateTime.now().plusSeconds(15).toInstant());
|
||||
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();
|
||||
return Jwt.upn(token.getName()).issuer(token.getIssuer()).expiresAt(ZonedDateTime.now().plusSeconds(15).toInstant()).claim("purpose", "ws:connect").sign();
|
||||
}
|
||||
throw new UnauthorizedException();
|
||||
}
|
||||
|
||||
@ -1,21 +1,18 @@
|
||||
package dev.dinauer.login;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import io.fabric8.kubernetes.api.model.ObjectMeta;
|
||||
import io.smallrye.jwt.build.Jwt;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.Optional;
|
||||
|
||||
import jakarta.enterprise.context.ApplicationScoped;
|
||||
import jakarta.inject.Inject;
|
||||
import jakarta.ws.rs.*;
|
||||
import jakarta.ws.rs.core.MediaType;
|
||||
import io.quarkus.elytron.security.common.BcryptUtil;
|
||||
import jakarta.ws.rs.core.Response;
|
||||
|
||||
import org.jboss.logging.Logger;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import io.quarkus.elytron.security.common.BcryptUtil;
|
||||
import io.smallrye.jwt.build.Jwt;
|
||||
|
||||
@Path("/login")
|
||||
@ApplicationScoped
|
||||
|
||||
@ -1,11 +1,10 @@
|
||||
package dev.dinauer.login;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
|
||||
@Entity
|
||||
@Table(name = "kubooboo_user")
|
||||
public class UserEntity
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
package dev.dinauer.login;
|
||||
|
||||
import jakarta.enterprise.context.ApplicationScoped;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import jakarta.enterprise.context.ApplicationScoped;
|
||||
|
||||
@ApplicationScoped
|
||||
public class UserMapper
|
||||
{
|
||||
|
||||
@ -1,10 +1,11 @@
|
||||
package dev.dinauer.login;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
import jakarta.enterprise.context.ApplicationScoped;
|
||||
|
||||
import io.quarkus.hibernate.orm.panache.PanacheRepositoryBase;
|
||||
import io.quarkus.panache.common.Parameters;
|
||||
import jakarta.enterprise.context.ApplicationScoped;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
@ApplicationScoped
|
||||
public class UserRepo implements PanacheRepositoryBase<UserEntity, String>
|
||||
|
||||
@ -1,8 +1,9 @@
|
||||
package dev.dinauer.login;
|
||||
|
||||
import io.quarkus.elytron.security.common.BcryptUtil;
|
||||
import io.quarkus.security.Authenticated;
|
||||
import io.quarkus.security.identity.SecurityIdentity;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
|
||||
import jakarta.annotation.security.RolesAllowed;
|
||||
import jakarta.enterprise.context.ApplicationScoped;
|
||||
import jakarta.inject.Inject;
|
||||
@ -10,10 +11,9 @@ import jakarta.transaction.Transactional;
|
||||
import jakarta.ws.rs.*;
|
||||
import jakarta.ws.rs.core.MediaType;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import io.quarkus.elytron.security.common.BcryptUtil;
|
||||
import io.quarkus.security.Authenticated;
|
||||
import io.quarkus.security.identity.SecurityIdentity;
|
||||
|
||||
@Path("/users")
|
||||
@ApplicationScoped
|
||||
|
||||
@ -1,10 +1,9 @@
|
||||
package dev.dinauer.monitoring;
|
||||
|
||||
import dev.dinauer.monitoring.indexing.Bucket;
|
||||
import io.fabric8.kubernetes.api.model.Pod;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import dev.dinauer.monitoring.indexing.Bucket;
|
||||
|
||||
public record MonitoredResource<E>(E resource, List<Bucket> jobs)
|
||||
{
|
||||
}
|
||||
|
||||
@ -1,16 +1,17 @@
|
||||
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.util.ArrayList;
|
||||
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")
|
||||
public class MonitoringJobResource
|
||||
{
|
||||
|
||||
@ -1,7 +1,20 @@
|
||||
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.MonitoringType;
|
||||
import dev.dinauer.monitoring.entity.repo.MonitoringRepo;
|
||||
import dev.dinauer.monitoring.log.Log;
|
||||
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.volume.VolumeMonitoringJobRunner;
|
||||
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
|
||||
@ApplicationScoped
|
||||
|
||||
@ -1,24 +1,24 @@
|
||||
package dev.dinauer.monitoring;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import dev.dinauer.monitoring.entity.MonitoringConfig;
|
||||
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.creation.VolumeConfigCreation;
|
||||
import dev.dinauer.monitoring.entity.repo.MonitoringRepo;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
import jakarta.inject.Inject;
|
||||
import jakarta.transaction.Transactional;
|
||||
import jakarta.ws.rs.GET;
|
||||
import jakarta.ws.rs.POST;
|
||||
import jakarta.ws.rs.Path;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
|
||||
import dev.dinauer.monitoring.entity.MonitoringConfig;
|
||||
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")
|
||||
public class MonitoringResource
|
||||
|
||||
@ -1,14 +1,17 @@
|
||||
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.TargetConfig;
|
||||
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
|
||||
public class MonitoringService
|
||||
|
||||
@ -1,22 +1,21 @@
|
||||
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.time.ZonedDateTime;
|
||||
import java.util.ArrayList;
|
||||
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")
|
||||
public class NodeMonitoringJobResource
|
||||
{
|
||||
|
||||
@ -1,5 +1,13 @@
|
||||
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.monitoring.nodes.MonitoredNode;
|
||||
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.service.PodService;
|
||||
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
|
||||
public class TopNodesService
|
||||
|
||||
@ -1,9 +1,10 @@
|
||||
package dev.dinauer.monitoring.collection;
|
||||
|
||||
import dev.dinauer.monitoring.entity.MonitoringConfig;
|
||||
import java.util.List;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
|
||||
import java.util.List;
|
||||
import dev.dinauer.monitoring.entity.MonitoringConfig;
|
||||
|
||||
@Entity
|
||||
@Table(name = "monitoring_collection")
|
||||
|
||||
@ -1,8 +1,9 @@
|
||||
package dev.dinauer.monitoring.collection;
|
||||
|
||||
import io.quarkus.hibernate.orm.panache.PanacheRepositoryBase;
|
||||
import jakarta.enterprise.context.ApplicationScoped;
|
||||
|
||||
import io.quarkus.hibernate.orm.panache.PanacheRepositoryBase;
|
||||
|
||||
@ApplicationScoped
|
||||
public class MonitoringCollectionRepo implements PanacheRepositoryBase<MonitoringCollection, String>
|
||||
{
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
package dev.dinauer.monitoring.collection;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import jakarta.inject.Inject;
|
||||
import jakarta.ws.rs.GET;
|
||||
import jakarta.ws.rs.Path;
|
||||
import jakarta.ws.rs.PathParam;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Path("/monitoring-collections")
|
||||
public class MonitoringCollectionResource
|
||||
{
|
||||
|
||||
@ -1,8 +1,9 @@
|
||||
package dev.dinauer.monitoring.entity;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import jakarta.persistence.*;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
|
||||
@Entity
|
||||
@Table(name = "cpu_config")
|
||||
public class CpuConfig
|
||||
|
||||
@ -1,8 +1,9 @@
|
||||
package dev.dinauer.monitoring.entity;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import jakarta.persistence.*;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
|
||||
@Entity
|
||||
@Table(name = "healthcheck_config")
|
||||
public class HealthcheckConfig
|
||||
|
||||
@ -1,9 +1,11 @@
|
||||
package dev.dinauer.monitoring.entity;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import dev.dinauer.monitoring.collection.MonitoringCollection;
|
||||
import jakarta.persistence.*;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
|
||||
import dev.dinauer.monitoring.collection.MonitoringCollection;
|
||||
|
||||
@Entity
|
||||
@Table(name = "monitoring_config")
|
||||
public class MonitoringConfig
|
||||
|
||||
@ -1,12 +1,13 @@
|
||||
package dev.dinauer.monitoring.entity;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.core.type.TypeReference;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import jakarta.persistence.*;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@Entity
|
||||
@Table(name = "target_config")
|
||||
|
||||
@ -1,8 +1,9 @@
|
||||
package dev.dinauer.monitoring.entity;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import jakarta.persistence.*;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
|
||||
@Entity
|
||||
@Table(name = "volume_config")
|
||||
public class VolumeConfig
|
||||
|
||||
@ -1,12 +1,14 @@
|
||||
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.MonitoringType;
|
||||
import io.quarkus.hibernate.orm.panache.PanacheRepositoryBase;
|
||||
import io.quarkus.panache.common.Parameters;
|
||||
import jakarta.enterprise.context.ApplicationScoped;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ApplicationScoped
|
||||
public class MonitoringRepo implements PanacheRepositoryBase<MonitoringConfig, String>
|
||||
|
||||
@ -1,10 +1,12 @@
|
||||
package dev.dinauer.monitoring.indexing;
|
||||
|
||||
import io.quarkus.rest.client.reactive.ClientBasicAuth;
|
||||
import java.util.List;
|
||||
|
||||
import jakarta.ws.rs.*;
|
||||
|
||||
import org.eclipse.microprofile.rest.client.inject.RegisterRestClient;
|
||||
|
||||
import java.util.List;
|
||||
import io.quarkus.rest.client.reactive.ClientBasicAuth;
|
||||
|
||||
@Path("/api/metrics/{resource}/{metric}")
|
||||
@RegisterRestClient(configKey = "big-bucket")
|
||||
|
||||
@ -1,15 +1,17 @@
|
||||
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.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
|
||||
@ApplicationScoped
|
||||
public class BigBucketService
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
package dev.dinauer.monitoring.log;
|
||||
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.UUID;
|
||||
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.Table;
|
||||
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.UUID;
|
||||
|
||||
@Entity
|
||||
@Table(name = "log")
|
||||
public class Log
|
||||
|
||||
@ -1,8 +1,9 @@
|
||||
package dev.dinauer.monitoring.log;
|
||||
|
||||
import io.quarkus.hibernate.orm.panache.PanacheRepositoryBase;
|
||||
import jakarta.enterprise.context.ApplicationScoped;
|
||||
|
||||
import io.quarkus.hibernate.orm.panache.PanacheRepositoryBase;
|
||||
|
||||
@ApplicationScoped
|
||||
public class LogRepo implements PanacheRepositoryBase<Log, String>
|
||||
{
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
package dev.dinauer.monitoring.memory;
|
||||
|
||||
import com.cronutils.utils.StringUtils;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import com.cronutils.utils.StringUtils;
|
||||
|
||||
public class ByteExtractor
|
||||
{
|
||||
public static long extractBytes(String input)
|
||||
|
||||
@ -1,17 +1,19 @@
|
||||
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.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 java.io.IOException;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@ApplicationScoped
|
||||
public class MemoryMonitoringJobRunner
|
||||
|
||||
@ -1,9 +1,5 @@
|
||||
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.util.AbstractMap;
|
||||
import java.util.List;
|
||||
@ -11,6 +7,12 @@ import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
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
|
||||
public class NodeMonitoringService
|
||||
{
|
||||
|
||||
@ -1,14 +1,5 @@
|
||||
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.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
@ -18,6 +9,17 @@ import java.net.http.HttpResponse;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
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
|
||||
public class NodeDiskService
|
||||
@ -30,6 +32,9 @@ public class NodeDiskService
|
||||
@Inject
|
||||
PodService podService;
|
||||
|
||||
@ConfigProperty(name = "quarkus.profile")
|
||||
String profile;
|
||||
|
||||
public Map<String, NodeDiskMetrics> getDiskMetrics()
|
||||
{
|
||||
Map<String, NodeDiskMetrics> result = new HashMap<>();
|
||||
@ -48,6 +53,10 @@ public class NodeDiskService
|
||||
private Map.Entry<String, NodeDiskMetrics> getDiskMetricsForPod(Pod pod)
|
||||
{
|
||||
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 port = "8080";
|
||||
try (HttpClient client = HttpClient.newBuilder().build())
|
||||
|
||||
@ -1,15 +1,17 @@
|
||||
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.List;
|
||||
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
|
||||
public class PodMetricsService
|
||||
{
|
||||
|
||||
@ -1,15 +1,5 @@
|
||||
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.time.ZonedDateTime;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
@ -18,6 +8,19 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
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
|
||||
public class VolumeMonitoringJobRunner
|
||||
{
|
||||
|
||||
@ -1,15 +1,5 @@
|
||||
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.nio.charset.StandardCharsets;
|
||||
import java.nio.file.Files;
|
||||
@ -19,6 +9,15 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
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
|
||||
public class VolumeUsageRepo
|
||||
{
|
||||
|
||||
@ -1,16 +1,19 @@
|
||||
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.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
|
||||
public class ConfigMapService implements ResourceService<ConfigMap>
|
||||
{
|
||||
|
||||
@ -1,16 +1,19 @@
|
||||
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.client.Watch;
|
||||
import io.fabric8.kubernetes.client.Watcher;
|
||||
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 java.util.Optional;
|
||||
import dev.dinauer.utils.ClientProvider;
|
||||
|
||||
@ApplicationScoped
|
||||
public class CustomResourceDefinitionService implements ResourceService<CustomResourceDefinition>
|
||||
|
||||
@ -1,16 +1,19 @@
|
||||
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.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 org.jboss.resteasy.reactive.common.NotImplementedYet;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import dev.dinauer.utils.ClientProvider;
|
||||
|
||||
@ApplicationScoped
|
||||
public class DeploymentService implements ResourceService<Deployment>
|
||||
|
||||
@ -1,19 +1,20 @@
|
||||
package dev.dinauer.service;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
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.ObjectMeta;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
|
||||
import io.fabric8.kubernetes.client.Watch;
|
||||
import io.fabric8.kubernetes.client.Watcher;
|
||||
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 java.util.Optional;
|
||||
import dev.dinauer.utils.ClientProvider;
|
||||
|
||||
@ApplicationScoped
|
||||
public class IngressService implements ResourceService<Ingress>
|
||||
|
||||
@ -1,15 +1,17 @@
|
||||
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.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
|
||||
public class NamespaceService implements ResourceService<Namespace>
|
||||
{
|
||||
|
||||
@ -1,14 +1,18 @@
|
||||
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.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
|
||||
public class NodeService implements ResourceService<MonitoredNode>
|
||||
|
||||
@ -1,19 +1,20 @@
|
||||
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.Map;
|
||||
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
|
||||
public class PodService implements ResourceService<Pod>
|
||||
{
|
||||
|
||||
@ -1,15 +1,17 @@
|
||||
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.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
|
||||
public class PvService implements ResourceService<PersistentVolume>
|
||||
{
|
||||
|
||||
@ -1,15 +1,17 @@
|
||||
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.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
|
||||
public class PvcService implements ResourceService<PersistentVolumeClaim>
|
||||
{
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
package dev.dinauer.service;
|
||||
|
||||
import io.fabric8.kubernetes.client.Watch;
|
||||
import io.fabric8.kubernetes.client.Watcher;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
import io.fabric8.kubernetes.client.Watch;
|
||||
import io.fabric8.kubernetes.client.Watcher;
|
||||
|
||||
public interface ResourceService<T>
|
||||
{
|
||||
void delete(String name, String namespace);
|
||||
|
||||
@ -1,16 +1,19 @@
|
||||
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.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
|
||||
public class SecretService implements ResourceService<Secret>
|
||||
{
|
||||
|
||||
@ -1,20 +1,19 @@
|
||||
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.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
|
||||
public class ServiceService implements ResourceService<Service>
|
||||
{
|
||||
|
||||
@ -1,16 +1,19 @@
|
||||
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.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 org.jboss.resteasy.reactive.common.NotImplementedYet;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import dev.dinauer.utils.ClientProvider;
|
||||
|
||||
@ApplicationScoped
|
||||
public class StatefulSetService implements ResourceService<StatefulSet>
|
||||
|
||||
@ -1,15 +1,17 @@
|
||||
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.IOException;
|
||||
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
|
||||
public class SettingsRepo
|
||||
{
|
||||
|
||||
@ -1,14 +1,16 @@
|
||||
package dev.dinauer.settings;
|
||||
|
||||
import io.quarkus.security.Authenticated;
|
||||
import java.io.IOException;
|
||||
|
||||
import jakarta.annotation.security.RolesAllowed;
|
||||
import jakarta.enterprise.context.ApplicationScoped;
|
||||
import jakarta.inject.Inject;
|
||||
import jakarta.ws.rs.*;
|
||||
import jakarta.ws.rs.core.MediaType;
|
||||
|
||||
import org.jboss.resteasy.reactive.common.NotImplementedYet;
|
||||
|
||||
import java.io.IOException;
|
||||
import io.quarkus.security.Authenticated;
|
||||
|
||||
@Path("/settings")
|
||||
@ApplicationScoped
|
||||
|
||||
@ -1,15 +1,12 @@
|
||||
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.KubernetesClientBuilder;
|
||||
import io.fabric8.kubernetes.client.vertx.VertxHttpClientFactory;
|
||||
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
|
||||
public class ClientProvider
|
||||
|
||||
@ -1,19 +1,19 @@
|
||||
package dev.dinauer.utils;
|
||||
|
||||
import dev.dinauer.login.User;
|
||||
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 java.util.Set;
|
||||
|
||||
import jakarta.annotation.PostConstruct;
|
||||
import jakarta.enterprise.context.ApplicationScoped;
|
||||
import jakarta.inject.Inject;
|
||||
import jakarta.transaction.Transactional;
|
||||
|
||||
import org.jboss.logging.Logger;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Set;
|
||||
import io.quarkus.elytron.security.common.BcryptUtil;
|
||||
import io.quarkus.narayana.jta.QuarkusTransaction;
|
||||
import io.quarkus.runtime.Startup;
|
||||
|
||||
import dev.dinauer.login.UserEntity;
|
||||
import dev.dinauer.login.UserRepo;
|
||||
|
||||
@Startup
|
||||
@ApplicationScoped
|
||||
|
||||
@ -1,10 +1,9 @@
|
||||
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 org.junit.jupiter.api.Test;
|
||||
|
||||
public class ByteExtractorTest
|
||||
{
|
||||
@Test
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user