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 <marat.gubaidul...@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