diff --git a/docker-compose-dev.yaml b/docker-compose-dev.yaml index 58359b1..d6b404a 100644 --- a/docker-compose-dev.yaml +++ b/docker-compose-dev.yaml @@ -14,17 +14,4 @@ services: environment: POSTGRES_PASSWORD: postgres ports: - - "6667:5432" - big-bucket: - image: big-bucket-test - ports: - - "8090:8080" - environment: - BIG_BUCKET_CLIENT_KUBOOBOO_RW: password - BIG_BUCKET_UNITS: RAW,HOURLY,DAILY - DB_USER: postgres - DB_PASSWORD: postgres - DB_HOST: db-big-bucket - DB_PORT: 5432 - DB_DATABASE: postgres - DB_SCHEMA: public \ No newline at end of file + - "6667:5432" \ No newline at end of file diff --git a/pom.xml b/pom.xml index 62734b6..c727ccc 100644 --- a/pom.xml +++ b/pom.xml @@ -47,6 +47,11 @@ kubernetes-client 7.3.1 + + io.fabric8 + kubernetes-httpclient-vertx + 7.3.1 + io.quarkus quarkus-elytron-security @@ -61,9 +66,8 @@ quarkus-smallrye-jwt-build - io.fabric8 - kubernetes-httpclient-vertx - 7.3.1 + io.quarkus + quarkus-smallrye-health io.quarkus diff --git a/src/main/java/dev/dinauer/inspect/cr/argocd/ArgoCdApplicationResource.java b/src/main/java/dev/dinauer/inspect/cr/argocd/ArgoCdApplicationResource.java new file mode 100644 index 0000000..23fbdc8 --- /dev/null +++ b/src/main/java/dev/dinauer/inspect/cr/argocd/ArgoCdApplicationResource.java @@ -0,0 +1,5 @@ +package dev.dinauer.inspect.cr.argocd; + +public class ArgoCdApplicationResource +{ +} diff --git a/src/main/java/dev/dinauer/inspect/cr/cnpg/cluster/PostgresClusterResource.java b/src/main/java/dev/dinauer/inspect/cr/cnpg/cluster/PostgresClusterResource.java new file mode 100644 index 0000000..6c8e370 --- /dev/null +++ b/src/main/java/dev/dinauer/inspect/cr/cnpg/cluster/PostgresClusterResource.java @@ -0,0 +1,42 @@ +package dev.dinauer.inspect.cr.cnpg.cluster; + +import dev.dinauer.inspect.cr.cnpg.cluster.model.Cluster; +import dev.dinauer.utils.ClientProvider; +import jakarta.inject.Inject; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; + +import java.util.LinkedList; +import java.util.List; + +@Path("/resources/clusters.postgresql.cnpg.io") +public class PostgresClusterResource +{ + @Inject + ClientProvider clientProvider; + + @GET + @Path("/{namespace}") + public List get(@PathParam("namespace") String namespace) + { + if ("_all".equals(namespace)) + { + return clientProvider.getClient().resources(Cluster.class).inAnyNamespace().list().getItems(); + } + return findByNamespace(namespace); + } + + private List findByNamespace(String namespace) + { + List result = new LinkedList<>(); + for (Cluster cluster : clientProvider.getClient().resources(Cluster.class).inAnyNamespace().list().getItems()) + { + if (cluster.getMetadata().getNamespace().equals(namespace)) + { + result.add(cluster); + } + } + return result; + } +} \ No newline at end of file diff --git a/src/main/java/dev/dinauer/inspect/cr/cnpg/cluster/model/Cluster.java b/src/main/java/dev/dinauer/inspect/cr/cnpg/cluster/model/Cluster.java new file mode 100644 index 0000000..f0f6c7c --- /dev/null +++ b/src/main/java/dev/dinauer/inspect/cr/cnpg/cluster/model/Cluster.java @@ -0,0 +1,13 @@ +package dev.dinauer.inspect.cr.cnpg.cluster.model; + +import io.fabric8.kubernetes.client.CustomResource; +import io.fabric8.kubernetes.model.annotation.Group; +import io.fabric8.kubernetes.model.annotation.Kind; +import io.fabric8.kubernetes.model.annotation.Version; + +@Group("postgresql.cnpg.io") +@Kind("Cluster") +@Version("v1") +public class Cluster extends CustomResource +{ +} diff --git a/src/main/java/dev/dinauer/inspect/cr/cnpg/cluster/model/Spec.java b/src/main/java/dev/dinauer/inspect/cr/cnpg/cluster/model/Spec.java new file mode 100644 index 0000000..d6fbf86 --- /dev/null +++ b/src/main/java/dev/dinauer/inspect/cr/cnpg/cluster/model/Spec.java @@ -0,0 +1,8 @@ +package dev.dinauer.inspect.cr.cnpg.cluster.model; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; + +@JsonIgnoreProperties(ignoreUnknown = true) +public record Spec(Integer instances) +{ +} diff --git a/src/main/java/dev/dinauer/inspect/cr/cnpg/cluster/model/Status.java b/src/main/java/dev/dinauer/inspect/cr/cnpg/cluster/model/Status.java new file mode 100644 index 0000000..a9a4305 --- /dev/null +++ b/src/main/java/dev/dinauer/inspect/cr/cnpg/cluster/model/Status.java @@ -0,0 +1,8 @@ +package dev.dinauer.inspect.cr.cnpg.cluster.model; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; + +@JsonIgnoreProperties(ignoreUnknown = true) +public record Status(String phase) +{ +} \ No newline at end of file