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