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 2022/12/14 18:03:15 UTC

[camel-karavan] branch main updated: Operator stuff for #561

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 b7b1fde  Operator stuff for #561
b7b1fde is described below

commit b7b1fde61839bbb3b543f2090e7661cabc0aa280
Author: Marat Gubaidullin <ma...@gmail.com>
AuthorDate: Wed Dec 14 13:03:07 2022 -0500

    Operator stuff for #561
---
 karavan-app/pom.xml                                |  2 +-
 karavan-builder/Dockerfile                         |  2 +-
 karavan-cloud/AWS/karavan-quarkus-task-aws.yaml    |  2 +-
 karavan-demo/jms-to-kafka/docs/README.md           |  2 +-
 .../apache/camel/karavan/operator/Constants.java   |  2 +-
 .../camel/karavan/operator/KaravanReconciler.java  | 22 +++++++++++++++-------
 .../operator/resource/KaravanTektonPipeline.java   | 22 ++++++++++++++++------
 .../resources/quarkus-builder-script-kubernetes.sh |  2 +-
 .../resources/quarkus-builder-script-openshift.sh  |  2 +-
 .../spring-boot-builder-script-kubernetes.sh       | 17 +++--------------
 .../spring-boot-builder-script-openshift.sh        | 19 +++----------------
 karavan-vscode/README.md                           |  4 ++--
 12 files changed, 46 insertions(+), 52 deletions(-)

diff --git a/karavan-app/pom.xml b/karavan-app/pom.xml
index ace9db2..4d1325a 100644
--- a/karavan-app/pom.xml
+++ b/karavan-app/pom.xml
@@ -31,7 +31,7 @@
         <quarkus.platform.group-id>io.quarkus.platform</quarkus.platform.group-id>
         <quarkus.platform.version>2.13.5.Final</quarkus.platform.version>
         <surefire-plugin.version>3.0.0-M5</surefire-plugin.version>
-        <version.camel>3.18.3</version.camel>
+        <version.camel>3.18.4</version.camel>
     </properties>
     <dependencyManagement>
         <dependencies>
diff --git a/karavan-builder/Dockerfile b/karavan-builder/Dockerfile
index 8cf704f..0fedd97 100644
--- a/karavan-builder/Dockerfile
+++ b/karavan-builder/Dockerfile
@@ -12,4 +12,4 @@ RUN mkdir /opt/mvnd && \
     mv maven-mvnd-0.8.2-linux-amd64/* /opt/mvnd  
 
 WORKDIR /scripts
-ENTRYPOINT ["entrypoint", "-Dcamel.jbang.version=3.18.3", "camel@apache/camel"]
+ENTRYPOINT ["entrypoint", "-Dcamel.jbang.version=3.18.4", "camel@apache/camel"]
diff --git a/karavan-cloud/AWS/karavan-quarkus-task-aws.yaml b/karavan-cloud/AWS/karavan-quarkus-task-aws.yaml
index 2abc74e..89fc26f 100644
--- a/karavan-cloud/AWS/karavan-quarkus-task-aws.yaml
+++ b/karavan-cloud/AWS/karavan-quarkus-task-aws.yaml
@@ -92,7 +92,7 @@ spec:
 
           cd ${CHECKOUT_DIR}/$(inputs.params.project) 
 
-          entrypoint -Dcamel.jbang.version=3.18.3 camel@apache/camel export --local-kamelet-dir=${KAMELETS_DIR}
+          entrypoint -Dcamel.jbang.version=3.18.4 camel@apache/camel export --local-kamelet-dir=${KAMELETS_DIR}
 
           export LAST_COMMIT=$(git rev-parse --short HEAD)
           export DATE=$(date '+%Y%m%d%H%M%S')
diff --git a/karavan-demo/jms-to-kafka/docs/README.md b/karavan-demo/jms-to-kafka/docs/README.md
index a6d9667..fe4365e 100644
--- a/karavan-demo/jms-to-kafka/docs/README.md
+++ b/karavan-demo/jms-to-kafka/docs/README.md
@@ -26,7 +26,7 @@ docker-compose up
 
 ### Start integration 
 ```
-jbang -Dcamel.jbang.version=3.18.3 camel@apache/camel run *
+jbang -Dcamel.jbang.version=3.18.4 camel@apache/camel run *
 ```
 
 ### Publish payment to JMS
diff --git a/karavan-operator/src/main/java/org/apache/camel/karavan/operator/Constants.java b/karavan-operator/src/main/java/org/apache/camel/karavan/operator/Constants.java
index b4d11c7..3ab679f 100644
--- a/karavan-operator/src/main/java/org/apache/camel/karavan/operator/Constants.java
+++ b/karavan-operator/src/main/java/org/apache/camel/karavan/operator/Constants.java
@@ -31,7 +31,7 @@ public final class Constants {
     public static final String PVC_M2_CACHE = "karavan-m2-cache";
     public static final String PVC_JBANG_CACHE = "karavan-jbang-cache";
 
-    public static final String PIPELINE_DEV_QUARKUS = "karavan-pipeline-dev-quarkus";
+    public static final String PIPELINE_DEV = "karavan-pipeline-dev-";
     public static final String TASK_DEV = "karavan-task-dev-";
 
     public static final String ROLE_PIPELINE_DEPLOYER = "deployer";
diff --git a/karavan-operator/src/main/java/org/apache/camel/karavan/operator/KaravanReconciler.java b/karavan-operator/src/main/java/org/apache/camel/karavan/operator/KaravanReconciler.java
index 9d044ee..456628a 100644
--- a/karavan-operator/src/main/java/org/apache/camel/karavan/operator/KaravanReconciler.java
+++ b/karavan-operator/src/main/java/org/apache/camel/karavan/operator/KaravanReconciler.java
@@ -84,7 +84,8 @@ public class KaravanReconciler implements Reconciler<Karavan>, EventSourceInitia
     private KaravanRoute karavanRoute;
     private KaravanDeployment karavanDeployment;
 
-    private KaravanTektonPipeline karavanTektonPipeline;
+    private KaravanTektonPipeline karavanTektonPipelineQuarkus;
+    private KaravanTektonPipeline karavanTektonPipelineSpringboot;
     private KaravanTektonTask karavanTektonTaskQuarkus;
     private KaravanTektonTask karavanTektonTaskSpringBoot;
     private PipelineServiceAccount pipelineServiceAccount;
@@ -152,7 +153,8 @@ public class KaravanReconciler implements Reconciler<Karavan>, EventSourceInitia
             log.info("Init Tekton Dependent Resources");
             this.karavanTektonTaskQuarkus = new KaravanTektonTask(isOpenShift, CamelRuntime.Type.QUARKUS);
             this.karavanTektonTaskSpringBoot = new KaravanTektonTask(isOpenShift, CamelRuntime.Type.SPRING_BOOT);
-            this.karavanTektonPipeline = new KaravanTektonPipeline();
+            this.karavanTektonPipelineQuarkus = new KaravanTektonPipeline(CamelRuntime.Type.QUARKUS);
+            this.karavanTektonPipelineSpringboot = new KaravanTektonPipeline(CamelRuntime.Type.SPRING_BOOT);
             this.pipelineServiceAccount = new PipelineServiceAccount();
             this.pipelineRoleDeployer = new PipelineRoleDeployer();
             this.pipelineRoleBinding = new PipelineRoleBinding();
@@ -175,10 +177,15 @@ public class KaravanReconciler implements Reconciler<Karavan>, EventSourceInitia
             karavanTektonTaskSpringBoot.setKubernetesClient(client);
             karavanTektonTaskSpringBoot.configureWith(new KubernetesDependentResourceConfig());
         }
-        if (karavanTektonPipeline == null) {
-            karavanTektonPipeline = new KaravanTektonPipeline();
-            karavanTektonPipeline.setKubernetesClient(client);
-            karavanTektonPipeline.configureWith(new KubernetesDependentResourceConfig());
+        if (karavanTektonPipelineQuarkus == null) {
+            karavanTektonPipelineQuarkus = new KaravanTektonPipeline(CamelRuntime.Type.QUARKUS);
+            karavanTektonPipelineQuarkus.setKubernetesClient(client);
+            karavanTektonPipelineQuarkus.configureWith(new KubernetesDependentResourceConfig());
+        }
+        if (karavanTektonPipelineSpringboot == null) {
+            karavanTektonPipelineSpringboot = new KaravanTektonPipeline(CamelRuntime.Type.SPRING_BOOT);
+            karavanTektonPipelineSpringboot.setKubernetesClient(client);
+            karavanTektonPipelineSpringboot.configureWith(new KubernetesDependentResourceConfig());
         }
         if (pipelineServiceAccount == null) {
             pipelineServiceAccount = new PipelineServiceAccount();
@@ -214,7 +221,8 @@ public class KaravanReconciler implements Reconciler<Karavan>, EventSourceInitia
             list.add(karavanRoute);
         }
         if (Utils.isTektonInstalled(client)) {
-            list.add(karavanTektonPipeline);
+            list.add(karavanTektonPipelineQuarkus);
+            list.add(karavanTektonPipelineSpringboot);
             list.add(karavanTektonTaskQuarkus);
             list.add(karavanTektonTaskSpringBoot);
             list.add(pipelineServiceAccount);
diff --git a/karavan-operator/src/main/java/org/apache/camel/karavan/operator/resource/KaravanTektonPipeline.java b/karavan-operator/src/main/java/org/apache/camel/karavan/operator/resource/KaravanTektonPipeline.java
index df0e46c..ceeb989 100644
--- a/karavan-operator/src/main/java/org/apache/camel/karavan/operator/resource/KaravanTektonPipeline.java
+++ b/karavan-operator/src/main/java/org/apache/camel/karavan/operator/resource/KaravanTektonPipeline.java
@@ -30,6 +30,7 @@ import io.javaoperatorsdk.operator.api.reconciler.dependent.ReconcileResult;
 import io.javaoperatorsdk.operator.processing.dependent.kubernetes.CRUDKubernetesDependentResource;
 import io.javaoperatorsdk.operator.processing.dependent.workflow.Condition;
 import org.apache.camel.karavan.operator.Constants;
+import org.apache.camel.karavan.operator.spec.CamelRuntime;
 import org.apache.camel.karavan.operator.spec.Karavan;
 import org.apache.camel.karavan.operator.Utils;
 
@@ -37,25 +38,34 @@ import java.util.Map;
 
 public class KaravanTektonPipeline extends CRUDKubernetesDependentResource<Pipeline, Karavan>  implements Condition<Pipeline, Karavan> {
 
-    public KaravanTektonPipeline() {
+    private final CamelRuntime.Type runtime;
+
+    public KaravanTektonPipeline(CamelRuntime.Type runtime) {
         super(Pipeline.class);
+        this.runtime = runtime;
+    }
+
+    private String getName(){
+        return Constants.PIPELINE_DEV + runtime.getName();
     }
 
     @Override
     @SuppressWarnings("unchecked")
     public Pipeline desired(Karavan karavan, Context<Karavan> context) {
+        String taskName = Constants.TASK_DEV + runtime.getName();
+
         return new PipelineBuilder()
                 .withNewMetadata()
-                .withName(Constants.PIPELINE_DEV_QUARKUS)
+                .withName(getName())
                 .withNamespace(karavan.getMetadata().getNamespace())
-                .withLabels(Utils.getLabels(Constants.PIPELINE_DEV_QUARKUS, Map.of()))
+                .withLabels(Utils.getLabels(getName(), Map.of()))
                 .endMetadata()
                 .withNewSpec()
                 .withParams(new ParamSpecBuilder().withName("PROJECT_ID").withType("string").withDescription("ProjectId").build())
                 .withTasks(
-                        new PipelineTaskBuilder().withName(Constants.TASK_DEV_QUARKUS)
+                        new PipelineTaskBuilder().withName(taskName)
                                 .withParams(new ParamBuilder().withName("project").withNewValue("$(params.PROJECT_ID)").build())
-                                .withTaskRef(new TaskRefBuilder().withKind("Task").withName(Constants.TASK_DEV_QUARKUS).build())
+                                .withTaskRef(new TaskRefBuilder().withKind("Task").withName(taskName).build())
                                 .withWorkspaces(
                                         new WorkspacePipelineTaskBinding(Constants.PVC_M2_CACHE, "", Constants.PVC_M2_CACHE),
                                         new WorkspacePipelineTaskBinding(Constants.PVC_JBANG_CACHE, "", Constants.PVC_JBANG_CACHE)
@@ -72,7 +82,7 @@ public class KaravanTektonPipeline extends CRUDKubernetesDependentResource<Pipel
 
     @Override
     public ReconcileResult<Pipeline> reconcile(Karavan karavan, Context<Karavan> context) {
-        Pipeline pipeline = new DefaultTektonClient(getKubernetesClient()).v1beta1().pipelines().inNamespace(karavan.getMetadata().getNamespace()).withName(Constants.PIPELINE_DEV_QUARKUS).get();
+        Pipeline pipeline = new DefaultTektonClient(getKubernetesClient()).v1beta1().pipelines().inNamespace(karavan.getMetadata().getNamespace()).withName(getName()).get();
         if (pipeline == null) {
             var desired = desired(karavan, context);
             var createdResource = handleCreate(desired, karavan, context);
diff --git a/karavan-operator/src/main/resources/quarkus-builder-script-kubernetes.sh b/karavan-operator/src/main/resources/quarkus-builder-script-kubernetes.sh
index a12a0c1..e3d551a 100644
--- a/karavan-operator/src/main/resources/quarkus-builder-script-kubernetes.sh
+++ b/karavan-operator/src/main/resources/quarkus-builder-script-kubernetes.sh
@@ -25,7 +25,7 @@ fi
 
 cd ${CHECKOUT_DIR}/$(inputs.params.project)
 
-entrypoint -Dcamel.jbang.version=3.18.3 camel@apache/camel export --local-kamelet-dir=${KAMELETS_DIR}
+entrypoint -Dcamel.jbang.version=3.18.4 camel@apache/camel export --local-kamelet-dir=${KAMELETS_DIR}
 
 export LAST_COMMIT=$(git rev-parse --short HEAD)
 export DATE=$(date '+%Y%m%d%H%M%S')
diff --git a/karavan-operator/src/main/resources/quarkus-builder-script-openshift.sh b/karavan-operator/src/main/resources/quarkus-builder-script-openshift.sh
index 22a3804..7d5230a 100644
--- a/karavan-operator/src/main/resources/quarkus-builder-script-openshift.sh
+++ b/karavan-operator/src/main/resources/quarkus-builder-script-openshift.sh
@@ -25,7 +25,7 @@ fi
 
 cd ${CHECKOUT_DIR}/$(inputs.params.project)
 
-entrypoint -Dcamel.jbang.version=3.18.3 camel@apache/camel export --local-kamelet-dir=${KAMELETS_DIR}
+entrypoint -Dcamel.jbang.version=3.18.4 camel@apache/camel export --local-kamelet-dir=${KAMELETS_DIR}
 
 export LAST_COMMIT=$(git rev-parse --short HEAD)
 export DATE=$(date '+%Y%m%d%H%M%S')
diff --git a/karavan-operator/src/main/resources/spring-boot-builder-script-kubernetes.sh b/karavan-operator/src/main/resources/spring-boot-builder-script-kubernetes.sh
index a12a0c1..955c147 100644
--- a/karavan-operator/src/main/resources/spring-boot-builder-script-kubernetes.sh
+++ b/karavan-operator/src/main/resources/spring-boot-builder-script-kubernetes.sh
@@ -25,7 +25,7 @@ fi
 
 cd ${CHECKOUT_DIR}/$(inputs.params.project)
 
-entrypoint -Dcamel.jbang.version=3.18.3 camel@apache/camel export --local-kamelet-dir=${KAMELETS_DIR}
+entrypoint -Dcamel.jbang.version=3.18.4 camel@apache/camel export --local-kamelet-dir=${KAMELETS_DIR}
 
 export LAST_COMMIT=$(git rev-parse --short HEAD)
 export DATE=$(date '+%Y%m%d%H%M%S')
@@ -33,16 +33,5 @@ export TOKEN=$(cat /var/run/secrets/kubernetes.io/serviceaccount/token)
 export NAMESPACE=$(cat /var/run/secrets/kubernetes.io/serviceaccount/namespace)
 
 /opt/mvnd/bin/mvnd package \
-  -Dquarkus.container-image.build=true \
-  -Dquarkus.container-image.push=true \
-  -Dquarkus.container-image.insecure=true \
-  -Dquarkus.container-image.username=sa \
-  -Dquarkus.container-image.password=${TOKEN} \
-  -Dquarkus.container-image.registry=${IMAGE_REGISTRY} \
-  -Dquarkus.container-image.builder=jib \
-  -Dquarkus.kubernetes.deploy=true \
-  -Dquarkus.kubernetes.deployment-target=kubernetes \
-  -Dquarkus.kubernetes.add-version-to-label-selectors=false \
-  -Dquarkus.kubernetes.labels.\"app.kubernetes.io/runtime\"=camel \
-  -Dquarkus.container-image.group=${NAMESPACE} \
-  -Dquarkus.container-image.tag=${DATE}
\ No newline at end of file
+  -Djkube.namespace=${NAMESPACE} \
+  -Djkube.generator.name=image-registry.openshift-image-registry.svc:5000/${NAMESPACE}/$NAME:${DATE} \
\ No newline at end of file
diff --git a/karavan-operator/src/main/resources/spring-boot-builder-script-openshift.sh b/karavan-operator/src/main/resources/spring-boot-builder-script-openshift.sh
index 22a3804..ce8de70 100644
--- a/karavan-operator/src/main/resources/spring-boot-builder-script-openshift.sh
+++ b/karavan-operator/src/main/resources/spring-boot-builder-script-openshift.sh
@@ -25,7 +25,7 @@ fi
 
 cd ${CHECKOUT_DIR}/$(inputs.params.project)
 
-entrypoint -Dcamel.jbang.version=3.18.3 camel@apache/camel export --local-kamelet-dir=${KAMELETS_DIR}
+entrypoint -Dcamel.jbang.version=3.18.4 camel@apache/camel export --local-kamelet-dir=${KAMELETS_DIR}
 
 export LAST_COMMIT=$(git rev-parse --short HEAD)
 export DATE=$(date '+%Y%m%d%H%M%S')
@@ -33,18 +33,5 @@ export TOKEN=$(cat /var/run/secrets/kubernetes.io/serviceaccount/token)
 export NAMESPACE=$(cat /var/run/secrets/kubernetes.io/serviceaccount/namespace)
 
 /opt/mvnd/bin/mvnd package \
-  -Dquarkus.container-image.build=true \
-  -Dquarkus.container-image.push=true \
-  -Dquarkus.container-image.insecure=true \
-  -Dquarkus.container-image.username=sa \
-  -Dquarkus.container-image.password=${TOKEN} \
-  -Dquarkus.container-image.registry=${IMAGE_REGISTRY} \
-  -Dquarkus.container-image.builder=jib \
-  -Dquarkus.kubernetes-client.master-url=kubernetes.default.svc \
-  -Dquarkus.kubernetes-client.token=${TOKEN} \
-  -Dquarkus.kubernetes.deploy=true \
-  -Dquarkus.openshift.deployment-kind=Deployment \
-  -Dquarkus.openshift.add-version-to-label-selectors=false \
-  -Dquarkus.openshift.labels.\"app.openshift.io/runtime\"=camel \
-  -Dquarkus.container-image.group=${NAMESPACE} \
-  -Dquarkus.container-image.tag=${DATE}
\ No newline at end of file
+  -Djkube.namespace=${NAMESPACE} \
+  -Djkube.generator.name=image-registry.openshift-image-registry.svc:5000/${NAMESPACE}/$NAME:${DATE} \
diff --git a/karavan-vscode/README.md b/karavan-vscode/README.md
index ea80a54..d5416d6 100644
--- a/karavan-vscode/README.md
+++ b/karavan-vscode/README.md
@@ -72,7 +72,7 @@ Build-in catalogues:
 
 * Run using CLI
     ```shell
-    jbang -Dcamel.jbang.version=3.18.3 camel@apache/camel run $INTEGRATION.yaml --max-messages=10 --logging-level=info
+    jbang -Dcamel.jbang.version=3.18.4 camel@apache/camel run $INTEGRATION.yaml --max-messages=10 --logging-level=info
     ```
 
 ## Export integration to Maven project
@@ -82,7 +82,7 @@ Build-in catalogues:
 
 * Export using CLI
     ```shell
-    jbang -Dcamel.jbang.version=3.18.3 camel@apache/camel export --directory=export
+    jbang -Dcamel.jbang.version=3.18.4 camel@apache/camel export --directory=export
     ```
 
 # Issues