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 0dd6127  Fix issues with Tekton Task
0dd6127 is described below

commit 0dd612762b9b21e00bfdb0192ffd94b7dab76dd8
Author: Marat Gubaidullin <marat.gubaidul...@gmail.com>
AuthorDate: Thu Oct 13 18:01:25 2022 -0400

    Fix issues with Tekton Task
---
 .../camel/karavan/service/KubernetesService.java   |  4 +--
 .../java/org/apache/camel/karavan/Constants.java   |  2 +-
 .../camel/karavan/KaravanTektonPipeline.java       |  8 +++---
 .../apache/camel/karavan/KaravanTektonTask.java    | 33 ++++++++++++++++++----
 .../src/main/resources/application.properties      |  2 ++
 5 files changed, 36 insertions(+), 13 deletions(-)

diff --git 
a/karavan-app/src/main/java/org/apache/camel/karavan/service/KubernetesService.java
 
b/karavan-app/src/main/java/org/apache/camel/karavan/service/KubernetesService.java
index de1b3e4..8d348f2 100644
--- 
a/karavan-app/src/main/java/org/apache/camel/karavan/service/KubernetesService.java
+++ 
b/karavan-app/src/main/java/org/apache/camel/karavan/service/KubernetesService.java
@@ -141,8 +141,8 @@ public class KubernetesService {
                 .withServiceAccountName("pipeline")
                 .withParams(new 
ParamBuilder().withName("PROJECT_ID").withNewValue(project.getProjectId()).build())
                 .withWorkspaces(
-                        new 
WorkspaceBindingBuilder().withName("m2-cache").withNewPersistentVolumeClaim("karavan-m2-cache",
 false).build(),
-                        new 
WorkspaceBindingBuilder().withName("jbang-cache").withNewPersistentVolumeClaim("karavan-jbang-cache",
 false).build())
+                        new 
WorkspaceBindingBuilder().withName("karavan-m2-cache").withNewPersistentVolumeClaim("karavan-m2-cache",
 false).build(),
+                        new 
WorkspaceBindingBuilder().withName("karavan-jbang-cache").withNewPersistentVolumeClaim("karavan-jbang-cache",
 false).build())
                 .build();
 
         PipelineRunBuilder pipelineRunBuilder = new PipelineRunBuilder()
diff --git 
a/karavan-operator/src/main/java/org/apache/camel/karavan/Constants.java 
b/karavan-operator/src/main/java/org/apache/camel/karavan/Constants.java
index fef10c5..400b454 100644
--- a/karavan-operator/src/main/java/org/apache/camel/karavan/Constants.java
+++ b/karavan-operator/src/main/java/org/apache/camel/karavan/Constants.java
@@ -13,7 +13,7 @@ public final class Constants {
     public static final String ROLEBINDING_KARAVAN_VIEW = "karavan-view";
     public static final String PVC_DATA = "karavan-data";
     public static final String PVC_M2_CACHE = "karavan-m2-cache";
-    public static final String PVC_JBANG = "karavan-jbang";
+    public static final String PVC_JBANG = "karavan-jbang-cache";
 
     public static final String PIPELINE_BUILD_QUARKUS = 
"karavan-pipeline-build-quarkus";
     public static final String TASK_BUILD_QUARKUS = 
"karavan-task-build-quarkus";
diff --git 
a/karavan-operator/src/main/java/org/apache/camel/karavan/KaravanTektonPipeline.java
 
b/karavan-operator/src/main/java/org/apache/camel/karavan/KaravanTektonPipeline.java
index 739653b..13f0007 100644
--- 
a/karavan-operator/src/main/java/org/apache/camel/karavan/KaravanTektonPipeline.java
+++ 
b/karavan-operator/src/main/java/org/apache/camel/karavan/KaravanTektonPipeline.java
@@ -60,14 +60,14 @@ public class KaravanTektonPipeline extends 
CRUDKubernetesDependentResource<Pipel
                                 .withParams(new 
ParamBuilder().withName("project").withNewValue("$(params.PROJECT_ID)").build())
                                 .withTaskRef(new 
TaskRefBuilder().withKind("Task").withName(Constants.TASK_BUILD_QUARKUS).build())
                                 .withWorkspaces(
-                                        new 
WorkspacePipelineTaskBinding("m2-cache", "", "m2-cache"),
-                                        new 
WorkspacePipelineTaskBinding("jbang-cache", "", "jbang-cache")
+                                        new 
WorkspacePipelineTaskBinding(Constants.PVC_M2_CACHE, "", 
Constants.PVC_M2_CACHE),
+                                        new 
WorkspacePipelineTaskBinding(Constants.PVC_JBANG, "", Constants.PVC_JBANG)
                                 )
                                 .build()
                 )
                 .withWorkspaces(
-                        new PipelineWorkspaceDeclaration("Maven Cache", 
"m2-cache", false),
-                        new PipelineWorkspaceDeclaration("JBang Cache", 
"jbang-cache", false)
+                        new PipelineWorkspaceDeclaration("Maven Cache", 
Constants.PVC_M2_CACHE, false),
+                        new PipelineWorkspaceDeclaration("JBang Cache", 
Constants.PVC_JBANG, false)
                 )
                 .endSpec()
                 .build();
diff --git 
a/karavan-operator/src/main/java/org/apache/camel/karavan/KaravanTektonTask.java
 
b/karavan-operator/src/main/java/org/apache/camel/karavan/KaravanTektonTask.java
index 232c360..70d7782 100644
--- 
a/karavan-operator/src/main/java/org/apache/camel/karavan/KaravanTektonTask.java
+++ 
b/karavan-operator/src/main/java/org/apache/camel/karavan/KaravanTektonTask.java
@@ -2,6 +2,9 @@ package org.apache.camel.karavan;
 
 import io.fabric8.kubernetes.api.model.EnvVarBuilder;
 import io.fabric8.kubernetes.api.model.EnvVarSourceBuilder;
+import io.fabric8.kubernetes.api.model.Secret;
+import io.fabric8.kubernetes.client.DefaultKubernetesClient;
+import io.fabric8.kubernetes.client.KubernetesClient;
 import io.fabric8.tekton.pipeline.v1beta1.ArrayOrString;
 import io.fabric8.tekton.pipeline.v1beta1.ParamSpec;
 import io.fabric8.tekton.pipeline.v1beta1.ParamSpecBuilder;
@@ -39,7 +42,7 @@ public class KaravanTektonTask extends 
CRUDKubernetesDependentResource<Task, Kar
     @Override
     @SuppressWarnings("unchecked")
     public Task desired(Karavan karavan, Context<Karavan> context) {
-        String script = getScript();
+        String script = getScript(karavan);
         return new TaskBuilder()
                 .withNewMetadata()
                 .withName(Constants.TASK_BUILD_QUARKUS)
@@ -70,26 +73,44 @@ public class KaravanTektonTask extends 
CRUDKubernetesDependentResource<Task, Kar
                                         new 
EnvVarBuilder().withName("KAMELETS_GIT_MAIN").withValueFrom(
                                                 new 
EnvVarSourceBuilder().withNewSecretKeyRef().withName("karavan").withKey("kamelets-git-main").and().build()).build(),
                                         new 
EnvVarBuilder().withName("IMAGE_REGISTRY").withValueFrom(
-                                                new 
EnvVarSourceBuilder().withNewSecretKeyRef().withName("karavan").withKey("image-registry").and().build()).build()
+                                                new 
EnvVarSourceBuilder().withNewSecretKeyRef().withName("karavan").withKey("image-registry").withOptional(true).and().build()).build()
                                 )
                                 .build()
                 )
                 .withWorkspaces(
-                        new WorkspaceDeclaration("Maven Cache", "/root/.m2", 
"m2-cache", false, false),
-                        new WorkspaceDeclaration("JBang Cache", 
"/jbang/.jbang/cache", "jbang-cache", false, false)
+                        new WorkspaceDeclaration("Maven Cache", "/root/.m2", 
Constants.PVC_M2_CACHE, false, false),
+                        new WorkspaceDeclaration("JBang Cache", 
"/jbang/.jbang/cache", Constants.PVC_JBANG, false, false)
                 )
                 .endSpec()
                 .build();
     }
 
-    protected String getScript() {
+    protected String getScript(Karavan karavan) {
+        boolean removeImageRegistry = !secretHasImageRegistry(karavan);
         try {
             InputStream inputStream = 
KaravanTektonTask.class.getResourceAsStream("/karavan-quarkus-builder-script.sh");
             String data = new BufferedReader(new 
InputStreamReader(inputStream))
-                    
.lines().collect(Collectors.joining(System.getProperty("line.separator")));
+                    .lines()
+                    .filter(s -> !(removeImageRegistry && 
s.contains("Dquarkus.container-image.registry=${IMAGE_REGISTRY}")))
+                    
.collect(Collectors.joining(System.getProperty("line.separator")));
             return data;
         } catch (Exception e) {
             return null;
         }
     }
+
+    protected boolean secretHasImageRegistry(Karavan karavan) {
+        try {
+            KubernetesClient kubernetesClient = new DefaultKubernetesClient();
+            Secret secret = 
kubernetesClient.secrets().inNamespace(karavan.getMetadata().getNamespace()).withName(Constants.NAME).get();
+            if (secret != null) {
+                String imageRegistry = 
secret.getStringData().get("image-registry");
+                System.out.println("imageRegistry = " +imageRegistry);
+                return imageRegistry != null;
+            }
+            return false;
+        } catch (Exception e) {
+            return false;
+        }
+    }
 }
diff --git a/karavan-operator/src/main/resources/application.properties 
b/karavan-operator/src/main/resources/application.properties
index 792e254..cf95614 100644
--- a/karavan-operator/src/main/resources/application.properties
+++ b/karavan-operator/src/main/resources/application.properties
@@ -9,6 +9,8 @@ quarkus.operator-sdk.bundle.package-name=camel-karavan-operator
 quarkus.kubernetes-client.trust-certs=true
 quarkus.kubernetes.namespace=openshift-operators
 quarkus.kubernetes.service-account=camel-karavan-operator
+quarkus.kubernetes.add-build-timestamp=false
+quarkus.kubernetes.add-version-to-label-selectors=false
 
 quarkus.container-image.build=true
 quarkus.container-image.builder=jib

Reply via email to