diff --git a/pom.xml b/pom.xml index d17ab4b..940b16f 100644 --- a/pom.xml +++ b/pom.xml @@ -16,15 +16,20 @@ true 3.5.3 - 1.0.0-main-SNAPSHOT + 1.0-f094e1c-SNAPSHOT - github - GitHub podmortem Apache Maven Packages + github-common + Common Library https://maven.pkg.github.com/podmortem/common-lib + + github-ai-provider + AI Provider Library + https://maven.pkg.github.com/podmortem/ai-provider-lib + diff --git a/src/main/java/com/redhat/podmortem/model/cr/config/PodFailureData.java b/src/main/java/com/redhat/podmortem/model/cr/config/PodFailureData.java deleted file mode 100644 index 94a383d..0000000 --- a/src/main/java/com/redhat/podmortem/model/cr/config/PodFailureData.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.redhat.podmortem.model.cr.config; - -import io.fabric8.kubernetes.api.model.Pod; -import io.fabric8.kubernetes.api.model.events.v1.Event; -import java.util.List; - -public class PodFailureData { - private Pod pod; - private String logs; - private List events; - - public PodFailureData(Pod pod, String logs, List events) { - this.pod = pod; - this.logs = logs; - this.events = events; - } - - // Getters and setters - public Pod getPod() { - return pod; - } - - public void setPod(Pod pod) { - this.pod = pod; - } - - public String getLogs() { - return logs; - } - - public void setLogs(String logs) { - this.logs = logs; - } - - public List getEvents() { - return events; - } - - public void setEvents(List events) { - this.events = events; - } -} diff --git a/src/main/java/com/redhat/podmortem/model/cr/config/PodmortemConfig.java b/src/main/java/com/redhat/podmortem/model/cr/config/PodmortemConfig.java deleted file mode 100644 index c69806a..0000000 --- a/src/main/java/com/redhat/podmortem/model/cr/config/PodmortemConfig.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.redhat.podmortem.model.cr.config; - -import io.fabric8.kubernetes.api.model.Namespaced; -import io.fabric8.kubernetes.client.CustomResource; -import io.fabric8.kubernetes.model.annotation.Group; -import io.fabric8.kubernetes.model.annotation.Version; - -@Group("podmortem.redhat.com") -@Version("v1alpha1") -public class PodmortemConfig extends CustomResource - implements Namespaced {} diff --git a/src/main/java/com/redhat/podmortem/model/cr/config/PodmortemConfigSpec.java b/src/main/java/com/redhat/podmortem/model/cr/config/PodmortemConfigSpec.java deleted file mode 100644 index 2d9b2ae..0000000 --- a/src/main/java/com/redhat/podmortem/model/cr/config/PodmortemConfigSpec.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.redhat.podmortem.model.cr.config; - -import io.fabric8.kubernetes.api.model.LabelSelector; - -public class PodmortemConfigSpec { - - private LabelSelector podSelector; - - public LabelSelector getPodSelector() { - return podSelector; - } - - public void setPodSelector(LabelSelector podSelector) { - this.podSelector = podSelector; - } -} diff --git a/src/main/java/com/redhat/podmortem/model/cr/config/PodmortemConfigStatus.java b/src/main/java/com/redhat/podmortem/model/cr/config/PodmortemConfigStatus.java deleted file mode 100644 index 3ba87d2..0000000 --- a/src/main/java/com/redhat/podmortem/model/cr/config/PodmortemConfigStatus.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.redhat.podmortem.model.cr.config; - -public class PodmortemConfigStatus { - // You can add status fields here as your operator evolves. -} diff --git a/src/main/java/com/redhat/podmortem/reconcile/config/PodmortemConfigReconciler.java b/src/main/java/com/redhat/podmortem/operator/reconcile/PodmortemReconciler.java similarity index 90% rename from src/main/java/com/redhat/podmortem/reconcile/config/PodmortemConfigReconciler.java rename to src/main/java/com/redhat/podmortem/operator/reconcile/PodmortemReconciler.java index 875863a..558835d 100644 --- a/src/main/java/com/redhat/podmortem/reconcile/config/PodmortemConfigReconciler.java +++ b/src/main/java/com/redhat/podmortem/operator/reconcile/PodmortemReconciler.java @@ -1,10 +1,10 @@ -package com.redhat.podmortem.reconcile.config; +package com.redhat.podmortem.operator.reconcile; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; -import com.redhat.podmortem.model.cr.config.PodFailureData; -import com.redhat.podmortem.model.cr.config.PodmortemConfig; +import com.redhat.podmortem.common.model.kube.podmortem.PodFailureData; +import com.redhat.podmortem.common.model.kube.podmortem.Podmortem; import io.fabric8.kubernetes.api.model.Pod; import io.fabric8.kubernetes.api.model.events.v1.Event; import io.fabric8.kubernetes.client.KubernetesClient; @@ -17,21 +17,20 @@ import org.slf4j.LoggerFactory; @ControllerConfiguration -public class PodmortemConfigReconciler implements Reconciler { +public class PodmortemReconciler implements Reconciler { - private static final Logger log = LoggerFactory.getLogger(PodmortemConfigReconciler.class); + private static final Logger log = LoggerFactory.getLogger(PodmortemReconciler.class); private final KubernetesClient client; private final ObjectMapper objectMapper; - public PodmortemConfigReconciler(KubernetesClient client) { + public PodmortemReconciler(KubernetesClient client) { this.client = client; this.objectMapper = new ObjectMapper(); this.objectMapper.enable(SerializationFeature.INDENT_OUTPUT); } @Override - public UpdateControl reconcile( - PodmortemConfig resource, Context context) { + public UpdateControl reconcile(Podmortem resource, Context context) { log.info("Reconciling PodmortemConfig: {}", resource.getMetadata().getName()); List pods = diff --git a/src/main/kubernetes/log-parser-manifest.yaml b/src/main/kubernetes/log-parser-manifest.yaml new file mode 100644 index 0000000..b029049 --- /dev/null +++ b/src/main/kubernetes/log-parser-manifest.yaml @@ -0,0 +1,33 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: podmortem-log-parser-service +spec: + replicas: 1 + selector: + matchLabels: + app: podmortem-log-parser-service + template: + metadata: + labels: + app: podmortem-log-parser-service + spec: + containers: + - name: log-parser + image: ghcr.io/podmortem/podmortem-log-parser:latest + ports: + - containerPort: 8080 +--- +apiVersion: v1 +kind: Service +metadata: + name: podmortem-log-parser-service +spec: + selector: + app: podmortem-log-parser-service + ports: + - protocol: TCP + port: 8080 + targetPort: 8080 + type: ClusterIP \ No newline at end of file diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 23fa3d2..b9c83b5 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,4 +1,8 @@ +## Quarkus Properties ## quarkus.application.name=podmortem-operator + +## Kube Properties ## +quarkus.kubernetes.additional-manifests=src/main/kubernetes/ quarkus.kubernetes-client.namespace=default quarkus.kubernetes.deployment-target=openshift quarkus.container-image.build=true diff --git a/src/main/resources/settings.xml b/src/main/resources/settings.xml index d61de62..2d987cd 100644 --- a/src/main/resources/settings.xml +++ b/src/main/resources/settings.xml @@ -4,9 +4,14 @@ https://maven.apache.org/xsd/settings-1.0.0.xsd"> - github + github-common + ${env.GITHUB_USER} + ${env.GITHUB_TOKEN} + + + github-ai-provider ${env.GITHUB_USER} ${env.GITHUB_TOKEN} - \ No newline at end of file +