You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by "mgubaidullin (via GitHub)" <gi...@apache.org> on 2023/03/13 14:30:58 UTC

[GitHub] [camel-karavan] mgubaidullin commented on a diff in pull request #673: Operator should deploy Task and Pipelines if Tekton installed after Karavan

mgubaidullin commented on code in PR #673:
URL: https://github.com/apache/camel-karavan/pull/673#discussion_r1134047165


##########
karavan-operator/src/main/java/org/apache/camel/karavan/operator/watcher/TektonCrdEventHandler.java:
##########
@@ -16,36 +16,48 @@
  */
 package org.apache.camel.karavan.operator.watcher;
 
+import io.fabric8.kubernetes.api.model.HasMetadata;
 import io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinition;
+import io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinitionSpec;
+import io.fabric8.kubernetes.client.KubernetesClient;
 import io.fabric8.kubernetes.client.informers.ResourceEventHandler;
-import org.apache.camel.karavan.operator.KaravanReconciler;
+import io.quarkus.runtime.Quarkus;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
-public class TektonCrdEventHandler implements ResourceEventHandler<CustomResourceDefinition> {
+import java.util.Objects;
+import java.util.function.Supplier;
 
-    private static final String NAME = "pipelines.tekton.dev";
+public class TektonCrdEventHandler<T extends HasMetadata> implements ResourceEventHandler<CustomResourceDefinition> {
+    static final Logger log = LoggerFactory.getLogger(TektonCrdEventHandler.class);
 
-    private KaravanReconciler karavanReconciler;
+    private final Supplier<? extends T> obj;
 
-    public TektonCrdEventHandler(KaravanReconciler karavanReconciler) {
-        this.karavanReconciler = karavanReconciler;
+    private boolean initTektonInstalled;
+
+    public TektonCrdEventHandler(Supplier<? extends T> obj, boolean initTektonInstalled) {
+        this.obj = Objects.requireNonNull(obj);
+        this.initTektonInstalled = initTektonInstalled;
     }
 
     @Override
     public void onAdd(CustomResourceDefinition crd) {
-        if (crd.getMetadata().getName().contains(NAME)) {
-            karavanReconciler.addTektonResources();
+        if (!initTektonInstalled && isTektonCustomResource(crd.getSpec())) {
+            // This is hack while OJSDK doesn't support dynamic EventSource reload.

Review Comment:
   I don't get this point. could you please explain?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org