You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ma...@apache.org on 2023/03/03 20:56:20 UTC

[camel-karavan] branch main updated: Operator parameters for Git Pull Scheduler #645

This is an automated email from the ASF dual-hosted git repository.

marat pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-karavan.git


The following commit(s) were added to refs/heads/main by this push:
     new f5d80f6a Operator parameters for Git Pull Scheduler #645
f5d80f6a is described below

commit f5d80f6a0b12feddcb312e39034ee83829269772
Author: Marat Gubaidullin <ma...@gmail.com>
AuthorDate: Fri Mar 3 15:56:12 2023 -0500

    Operator parameters for Git Pull Scheduler #645
---
 karavan-app/src/main/resources/application.properties |  4 ++--
 karavan-operator/resources/karavan.yaml               |  1 +
 .../karavan/operator/resource/KaravanDeployment.java  | 19 +++++++++++++++++--
 .../operator/spec/KaravanOperatorCSVMetadata.java     |  2 ++
 .../camel/karavan/operator/spec/KaravanSpec.java      |  9 +++++++++
 5 files changed, 31 insertions(+), 4 deletions(-)

diff --git a/karavan-app/src/main/resources/application.properties b/karavan-app/src/main/resources/application.properties
index 3c5236aa..9d472f95 100644
--- a/karavan-app/src/main/resources/application.properties
+++ b/karavan-app/src/main/resources/application.properties
@@ -9,8 +9,8 @@ karavan.git-repository=${GIT_REPOSITORY}
 karavan.git-username=${GIT_USERNAME}
 karavan.git-password=${GIT_TOKEN}
 karavan.git-branch=main
-karavan.git-pull-interval=5s
-quarkus.scheduler.enabled=true
+karavan.git-pull-interval=0s
+quarkus.scheduler.enabled=false
 
 # Infinispan Server address
 #quarkus.infinispan-client.server-list=localhost:12345
diff --git a/karavan-operator/resources/karavan.yaml b/karavan-operator/resources/karavan.yaml
index 276bae1f..7d88310d 100644
--- a/karavan-operator/resources/karavan.yaml
+++ b/karavan-operator/resources/karavan.yaml
@@ -9,3 +9,4 @@ spec:
   nodePort: 30668
   environment: demo
   runtimes: quarkus,spring-boot
+  gitPullInterval: 10s
diff --git a/karavan-operator/src/main/java/org/apache/camel/karavan/operator/resource/KaravanDeployment.java b/karavan-operator/src/main/java/org/apache/camel/karavan/operator/resource/KaravanDeployment.java
index 8fbb4a86..c75bc1ea 100644
--- a/karavan-operator/src/main/java/org/apache/camel/karavan/operator/resource/KaravanDeployment.java
+++ b/karavan-operator/src/main/java/org/apache/camel/karavan/operator/resource/KaravanDeployment.java
@@ -43,6 +43,7 @@ import org.slf4j.LoggerFactory;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 
 public class KaravanDeployment extends CRUDKubernetesDependentResource<Deployment, Karavan> {
 
@@ -71,12 +72,13 @@ public class KaravanDeployment extends CRUDKubernetesDependentResource<Deploymen
         envVarList.add(
                 new EnvVar("KUBERNETES_NAMESPACE", null, new EnvVarSourceBuilder().withFieldRef(new ObjectFieldSelector("","metadata.namespace")).build())
         );
-        if (karavan.getSpec().getAuth() == "basic") {
+        String auth = karavan.getSpec().getAuth();
+        if (Objects.equals(auth, "basic")) {
             image = baseImage + "-basic:" + version;
             envVarList.add(
                     new EnvVar("MASTER_PASSWORD", null, new EnvVarSourceBuilder().withSecretKeyRef(new SecretKeySelector("master-password","karavan", false)).build())
             );
-        } else if (karavan.getSpec().getAuth() == "oidc") {
+        } else if (Objects.equals(auth,"oidc")) {
             image = baseImage + "-oidc:" + version;
             envVarList.add(
                     new EnvVar("OIDC_FRONTEND_URL", null, new EnvVarSourceBuilder().withSecretKeyRef(new SecretKeySelector("oidc-frontend-url","karavan", false)).build())
@@ -88,6 +90,19 @@ public class KaravanDeployment extends CRUDKubernetesDependentResource<Deploymen
                     new EnvVar("OIDC_SECRET", null, new EnvVarSourceBuilder().withSecretKeyRef(new SecretKeySelector("oidc-secret","karavan", false)).build())
             );
         }
+        String gitPullInterval = karavan.getSpec().getGitPullInterval();
+        if (Objects.isNull(gitPullInterval) || Objects.equals(gitPullInterval.trim(), "0")) {
+            envVarList.add(
+                    new EnvVar("QUARKUS_SCHEDULER_ENABLED", "false", null)
+            );
+        } else {
+            envVarList.add(
+                    new EnvVar("QUARKUS_SCHEDULER_ENABLED", "true", null)
+            );
+            envVarList.add(
+                    new EnvVar("KARAVAN_GIT_PULL_INTERVAL", gitPullInterval, null)
+            );
+        }
 
         log.info("Deployment image: " + image);
 
diff --git a/karavan-operator/src/main/java/org/apache/camel/karavan/operator/spec/KaravanOperatorCSVMetadata.java b/karavan-operator/src/main/java/org/apache/camel/karavan/operator/spec/KaravanOperatorCSVMetadata.java
index 34ac79da..46abfc9c 100644
--- a/karavan-operator/src/main/java/org/apache/camel/karavan/operator/spec/KaravanOperatorCSVMetadata.java
+++ b/karavan-operator/src/main/java/org/apache/camel/karavan/operator/spec/KaravanOperatorCSVMetadata.java
@@ -43,6 +43,7 @@ package org.apache.camel.karavan.operator.spec;
                         "      \"auth\": \"public\",\n" +
                         "      \"environment\": \"dev\"\n" +
                         "      \"runtimes\": \"quarkus,spring-boot\"\n" +
+                        "      \"gitPullInterval\": \"30s\"\n" +
                         "    }\n" +
                         "  }\n" +
                         "]"
@@ -89,6 +90,7 @@ package org.apache.camel.karavan.operator.spec;
                 "  auth: public\n" +
                 "  environment: demo\n" +
                 "  runtimes: quarkus,spring-boot\n" +
+                "  gitPullInterval: 30s\n" +
                 "```\n",
         permissionRules = {
                 @CSVMetadata.PermissionRule(apiGroups = "camel.apache.org", resources = {"karavans", "karavans/status", "karavans/finalizers"}),
diff --git a/karavan-operator/src/main/java/org/apache/camel/karavan/operator/spec/KaravanSpec.java b/karavan-operator/src/main/java/org/apache/camel/karavan/operator/spec/KaravanSpec.java
index d55fb28e..6ea24684 100644
--- a/karavan-operator/src/main/java/org/apache/camel/karavan/operator/spec/KaravanSpec.java
+++ b/karavan-operator/src/main/java/org/apache/camel/karavan/operator/spec/KaravanSpec.java
@@ -23,6 +23,7 @@ public class KaravanSpec {
     private String environment;
     private String runtimes;
     private int nodePort;
+    private String gitPullInterval;
 
     public int getInstances() {
         return instances;
@@ -63,4 +64,12 @@ public class KaravanSpec {
     public void setRuntimes(String runtimes) {
         this.runtimes = runtimes;
     }
+
+    public String getGitPullInterval() {
+        return gitPullInterval;
+    }
+
+    public void setGitPullInterval(String gitPullInterval) {
+        this.gitPullInterval = gitPullInterval;
+    }
 }