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/10/28 17:02:32 UTC

[camel-karavan] branch main updated (17e5855 -> e3f442d)

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

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


    from 17e5855  First version of Dashboard
     new 3b48bdb  Fix #504
     new b933483  Cleanup
     new e3f442d  Changelog

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../camel/karavan/api/KubernetesResource.java      | 10 +-------
 .../camel/karavan/service/KubernetesService.java   | 11 +++++---
 .../src/main/resources/application.properties      |  2 +-
 .../main/webapp/src/dashboard/DashboardPage.tsx    | 30 +++++++++++++---------
 karavan-generator/pom.xml                          |  2 +-
 .../apache/camel/karavan/operator/Constants.java   |  5 ++--
 .../operator/resource/KaravanDeployment.java       |  3 +++
 .../operator/resource/KaravanTektonPipeline.java   | 10 ++++----
 .../operator/resource/KaravanTektonTask.java       |  6 ++---
 karavan-vscode/CHANGELOG.md                        |  5 +++-
 10 files changed, 45 insertions(+), 39 deletions(-)


[camel-karavan] 03/03: Changelog

Posted by ma...@apache.org.
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

commit e3f442dfab48064afb1a2b2a98c929f1d6ecd1cb
Author: Marat Gubaidullin <ma...@gmail.com>
AuthorDate: Fri Oct 28 13:02:23 2022 -0400

    Changelog
---
 karavan-vscode/CHANGELOG.md | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/karavan-vscode/CHANGELOG.md b/karavan-vscode/CHANGELOG.md
index 76a693c..7e9d03c 100644
--- a/karavan-vscode/CHANGELOG.md
+++ b/karavan-vscode/CHANGELOG.md
@@ -2,7 +2,10 @@
 
 ## 3.18.5
 1. Karavan Operator 
-2. Kamelets 0.9.1
+2. Kamelets 0.9.2
+3. Camel 3.18.3
+4. Integration Deployment in VS Code
+5. First preview of Dashboard
 
 ## 3.18.4
 1. Support minikube for cloud app


[camel-karavan] 01/03: Fix #504

Posted by ma...@apache.org.
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

commit 3b48bdb40dda15b5417e72d90e7bd47a84d78e48
Author: Marat Gubaidullin <ma...@gmail.com>
AuthorDate: Fri Oct 28 12:56:49 2022 -0400

    Fix #504
---
 karavan-generator/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/karavan-generator/pom.xml b/karavan-generator/pom.xml
index 7aedc70..3efd049 100644
--- a/karavan-generator/pom.xml
+++ b/karavan-generator/pom.xml
@@ -32,7 +32,7 @@
         <quarkus.platform.version>2.13.2.Final</quarkus.platform.version>
         <surefire-plugin.version>3.0.0-M5</surefire-plugin.version>
         <version.camel-core>3.18.2</version.camel-core>
-        <version.camel-kamelet>0.9.1</version.camel-kamelet>
+        <version.camel-kamelet>0.9.2</version.camel-kamelet>
     </properties>
     <dependencyManagement>
         <dependencies>


[camel-karavan] 02/03: Cleanup

Posted by ma...@apache.org.
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

commit b9334833a8597bba532ca3b7ce8cfe5b9f60959e
Author: Marat Gubaidullin <ma...@gmail.com>
AuthorDate: Fri Oct 28 13:02:07 2022 -0400

    Cleanup
---
 .../camel/karavan/api/KubernetesResource.java      | 10 +-------
 .../camel/karavan/service/KubernetesService.java   | 11 +++++---
 .../src/main/resources/application.properties      |  2 +-
 .../main/webapp/src/dashboard/DashboardPage.tsx    | 30 +++++++++++++---------
 .../apache/camel/karavan/operator/Constants.java   |  5 ++--
 .../operator/resource/KaravanDeployment.java       |  3 +++
 .../operator/resource/KaravanTektonPipeline.java   | 10 ++++----
 .../operator/resource/KaravanTektonTask.java       |  6 ++---
 8 files changed, 40 insertions(+), 37 deletions(-)

diff --git a/karavan-app/src/main/java/org/apache/camel/karavan/api/KubernetesResource.java b/karavan-app/src/main/java/org/apache/camel/karavan/api/KubernetesResource.java
index d1553cb..194c3c3 100644
--- a/karavan-app/src/main/java/org/apache/camel/karavan/api/KubernetesResource.java
+++ b/karavan-app/src/main/java/org/apache/camel/karavan/api/KubernetesResource.java
@@ -57,9 +57,6 @@ public class KubernetesResource {
     @ConfigProperty(name = "karavan.environment")
     String environment;
 
-    @ConfigProperty(name = "karavan.pipeline")
-    String pipeline;
-
 
     private static final Logger LOGGER = Logger.getLogger(KubernetesResource.class.getName());
 
@@ -69,9 +66,7 @@ public class KubernetesResource {
     @Path("/pipeline/{env}")
     public Project createPipeline(@PathParam("env") String env, Project project) throws Exception {
         Project p = infinispanService.getProject(project.getProjectId());
-        kubernetesService.createPipelineRun(project, pipeline, kubernetesService.getNamespace());
-//            p.setDeployed(true); // TODO:  Replace this update by updating from Pipeline
-//        infinispanService.saveProject(p); // TODO:  Replace this update by updating from Pipeline
+        kubernetesService.createPipelineRun(project);
         return p;
     }
 
@@ -132,9 +127,6 @@ public class KubernetesResource {
     @Path("/deployment/{env}/{name}")
     public Response deleteDeployment(@PathParam("env") String env, @PathParam("name") String name) throws Exception {
         kubernetesService.deleteDeployment(name, kubernetesService.getNamespace());
-//            Project p = infinispanService.getProject(name); // TODO: p.setDeployed(false) than karavan keeps pod/camel statuses up forever
-//            p.setDeployed(false);
-//            infinispanService.saveProject(p);
         return Response.ok().build();
     }
 
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 c6fdea4..fa3f29b 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
@@ -93,6 +93,9 @@ public class KubernetesService {
     public
     String environment;
 
+    @ConfigProperty(name = "karavan.pipeline")
+    String pipeline;
+
     List<SharedIndexInformer> informers = new ArrayList<>(3);
 
     @ConsumeEvent(value = START_INFORMERS, blocking = true)
@@ -129,19 +132,19 @@ public class KubernetesService {
         informers.forEach(informer -> informer.close());
     }
 
-    public String createPipelineRun(Project project, String pipelineName, String namespace) throws Exception {
-        LOGGER.info("Pipeline is creating for " + project.getProjectId());
+    public String createPipelineRun(Project project) throws Exception {
+        LOGGER.info("Pipeline " + pipeline + " is creating for " + project.getProjectId());
 
         Map<String, String> labels = Map.of(
                 "karavan-project-id", project.getProjectId(),
-                "tekton.dev/pipeline", pipelineName,
+                "tekton.dev/pipeline", pipeline,
                 getRuntimeLabel(), "camel"
         );
 
         ObjectMeta meta = new ObjectMetaBuilder()
                 .withGenerateName("karavan-" + project.getProjectId() + "-")
                 .withLabels(labels)
-                .withNamespace(namespace)
+                .withNamespace(getNamespace())
                 .build();
 
         PipelineRef ref = new PipelineRefBuilder().withName("karavan-pipeline-build-quarkus").build();
diff --git a/karavan-app/src/main/resources/application.properties b/karavan-app/src/main/resources/application.properties
index d13b127..3bae5dc 100644
--- a/karavan-app/src/main/resources/application.properties
+++ b/karavan-app/src/main/resources/application.properties
@@ -1,6 +1,6 @@
 karavan.version=3.18.5
 karavan.environment=dev
-karavan.pipeline=karavan-pipeline-build-quarkus
+karavan.pipeline=karavan-pipeline-dev-quarkus
 karavan.camel-status-threshold=2000
 
 # Git repository Configuration
diff --git a/karavan-app/src/main/webapp/src/dashboard/DashboardPage.tsx b/karavan-app/src/main/webapp/src/dashboard/DashboardPage.tsx
index d893bf7..3488bec 100644
--- a/karavan-app/src/main/webapp/src/dashboard/DashboardPage.tsx
+++ b/karavan-app/src/main/webapp/src/dashboard/DashboardPage.tsx
@@ -4,10 +4,6 @@ import {
     Button,
     Flex,
     FlexItem, HelperText, HelperTextItem, Label, LabelGroup,
-    OverflowMenu,
-    OverflowMenuContent,
-    OverflowMenuGroup,
-    OverflowMenuItem,
     PageSection,
     Text,
     TextContent,
@@ -26,6 +22,7 @@ import {KaravanApi} from "../api/KaravanApi";
 import Icon from "../Logo";
 import UpIcon from "@patternfly/react-icons/dist/esm/icons/check-circle-icon";
 import DownIcon from "@patternfly/react-icons/dist/esm/icons/error-circle-o-icon";
+import QuestionIcon from "@patternfly/react-icons/dist/esm/icons/outlined-question-circle-icon";
 
 interface Props {
     config: any,
@@ -169,7 +166,11 @@ export class DashboardPage extends React.Component<Props, State> {
                 </Flex>
             )
         } else {
-            return (<Label icon={<DownIcon/>} color={"grey"}>n/a</Label>);
+            return (
+                <Tooltip content={"No information"} position={"right"}>
+                    <Label color={"grey"}>???</Label>
+                </Tooltip>
+                    );
         }
     }
 
@@ -207,7 +208,7 @@ export class DashboardPage extends React.Component<Props, State> {
                                     <Td  style={{verticalAlign:"middle"}}>
                                         <HelperText>
                                             <HelperTextItem>{this.getProject(deployment)?.name || ""}</HelperTextItem>
-                                            <HelperTextItem>{this.getProject(deployment)?.description || ""}</HelperTextItem>
+                                            <HelperTextItem>{this.getProject(deployment)?.description || "Camel project"}</HelperTextItem>
                                         </HelperText>
                                     </Td>
                                     <Td  >
@@ -222,7 +223,9 @@ export class DashboardPage extends React.Component<Props, State> {
                                         <Flex direction={{default: "column"}}>
                                             {this.getDeploymentByEnvironments(deployment).map(value => (
                                                 <FlexItem className="badge-flex-item" key={value[0]}>
-                                                    <Label variant={"outline"}>{value[1]?.namespace || "n/a"}</Label>
+                                                    <Label variant={"outline"}>
+                                                        {value[1]?.namespace || "???"}
+                                                    </Label>
                                                 </FlexItem>
                                             ))}
                                         </Flex>
@@ -238,7 +241,9 @@ export class DashboardPage extends React.Component<Props, State> {
                                         <Flex direction={{default: "column"}}>
                                             {this.getServiceByEnvironments(deployment).map(value => (
                                                 <FlexItem className="badge-flex-item" key={value[0]}>
-                                                    <Label variant={"outline"}>{value[1] ? (value[1]?.port + " -> " + value[1]?.targetPort) : "n/a"}</Label>
+                                                    <Label variant={"outline"}>
+                                                        {value[1] ? (value[1]?.port + " -> " + value[1]?.targetPort) : "???"}
+                                                    </Label>
                                                 </FlexItem>
                                             ))}
                                         </Flex>
@@ -248,10 +253,11 @@ export class DashboardPage extends React.Component<Props, State> {
                                             {this.getServiceByEnvironments(deployment).map(value => (
                                                 <FlexItem key={value[0]}>
                                                     <LabelGroup numLabels={4} className="camel-label-group">
-                                                        <Label className="table-label" icon={false ? <UpIcon/> : <DownIcon/>}>{"Context"}</Label>
-                                                        <Label className="table-label" icon={false ? <UpIcon/> : <DownIcon/>}>{"Consumer"}</Label>
-                                                        <Label className="table-label" icon={false ? <UpIcon/> : <DownIcon/>}>{"Routes"}</Label>
-                                                        <Label className="table-label" icon={false ? <UpIcon/> : <DownIcon/>}>{"Registry"}</Label>
+                                                        <Label color={false ? "green" : "red"}
+                                                               className="table-label"
+                                                               icon={false ? <UpIcon/> : <DownIcon/>}>
+                                                            {"Context"}
+                                                        </Label>
                                                     </LabelGroup>
                                                 </FlexItem>
                                             ))}
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 9499881..ba78eb4 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,9 +31,8 @@ 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_BUILD_QUARKUS = "karavan-pipeline-build-quarkus";
-    public static final String TASK_BUILD_QUARKUS = "karavan-task-build-quarkus";
-
+    public static final String PIPELINE_DEV_QUARKUS = "karavan-pipeline-dev-quarkus";
+    public static final String TASK_DEV_QUARKUS = "karavan-task-dev-quarkus";
 
     public static final String ROLE_PIPELINE_DEPLOYER = "deployer";
     public static final String SERVICEACCOUNT_PIPELINE = "pipeline";
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 a4d6258..7e72080 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
@@ -62,6 +62,9 @@ public class KaravanDeployment extends CRUDKubernetesDependentResource<Deploymen
         String image = baseImage + ":" + version;
         List<EnvVar> envVarList = new ArrayList<>();
 
+        envVarList.add(
+                new EnvVar("KARAVAN_ENVIRONMENT", karavan.getSpec().getType(), null)
+        );
         envVarList.add(
                 new EnvVar("KUBERNETES_NAMESPACE", null, new EnvVarSourceBuilder().withFieldRef(new ObjectFieldSelector("","metadata.namespace")).build())
         );
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 5049fe1..df0e46c 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
@@ -46,16 +46,16 @@ public class KaravanTektonPipeline extends CRUDKubernetesDependentResource<Pipel
     public Pipeline desired(Karavan karavan, Context<Karavan> context) {
         return new PipelineBuilder()
                 .withNewMetadata()
-                .withName(Constants.PIPELINE_BUILD_QUARKUS)
+                .withName(Constants.PIPELINE_DEV_QUARKUS)
                 .withNamespace(karavan.getMetadata().getNamespace())
-                .withLabels(Utils.getLabels(Constants.PIPELINE_BUILD_QUARKUS, Map.of()))
+                .withLabels(Utils.getLabels(Constants.PIPELINE_DEV_QUARKUS, Map.of()))
                 .endMetadata()
                 .withNewSpec()
                 .withParams(new ParamSpecBuilder().withName("PROJECT_ID").withType("string").withDescription("ProjectId").build())
                 .withTasks(
-                        new PipelineTaskBuilder().withName(Constants.TASK_BUILD_QUARKUS)
+                        new PipelineTaskBuilder().withName(Constants.TASK_DEV_QUARKUS)
                                 .withParams(new ParamBuilder().withName("project").withNewValue("$(params.PROJECT_ID)").build())
-                                .withTaskRef(new TaskRefBuilder().withKind("Task").withName(Constants.TASK_BUILD_QUARKUS).build())
+                                .withTaskRef(new TaskRefBuilder().withKind("Task").withName(Constants.TASK_DEV_QUARKUS).build())
                                 .withWorkspaces(
                                         new WorkspacePipelineTaskBinding(Constants.PVC_M2_CACHE, "", Constants.PVC_M2_CACHE),
                                         new WorkspacePipelineTaskBinding(Constants.PVC_JBANG_CACHE, "", Constants.PVC_JBANG_CACHE)
@@ -72,7 +72,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_BUILD_QUARKUS).get();
+        Pipeline pipeline = new DefaultTektonClient(getKubernetesClient()).v1beta1().pipelines().inNamespace(karavan.getMetadata().getNamespace()).withName(Constants.PIPELINE_DEV_QUARKUS).get();
         if (pipeline == null) {
             var desired = desired(karavan, context);
             var createdResource = handleCreate(desired, karavan, context);
diff --git a/karavan-operator/src/main/java/org/apache/camel/karavan/operator/resource/KaravanTektonTask.java b/karavan-operator/src/main/java/org/apache/camel/karavan/operator/resource/KaravanTektonTask.java
index b1eb239..963762d 100644
--- a/karavan-operator/src/main/java/org/apache/camel/karavan/operator/resource/KaravanTektonTask.java
+++ b/karavan-operator/src/main/java/org/apache/camel/karavan/operator/resource/KaravanTektonTask.java
@@ -61,9 +61,9 @@ public class KaravanTektonTask extends CRUDKubernetesDependentResource<Task, Kar
 
         return new TaskBuilder()
                 .withNewMetadata()
-                .withName(Constants.TASK_BUILD_QUARKUS)
+                .withName(Constants.TASK_DEV_QUARKUS)
                 .withNamespace(karavan.getMetadata().getNamespace())
-                .withLabels(Utils.getLabels(Constants.TASK_BUILD_QUARKUS, Map.of()))
+                .withLabels(Utils.getLabels(Constants.TASK_DEV_QUARKUS, Map.of()))
                 .endMetadata()
                 .withNewSpec()
                 .withParams(new ParamSpecBuilder().withName("project").withType("string").withDescription("ProjectId").build())
@@ -103,7 +103,7 @@ public class KaravanTektonTask extends CRUDKubernetesDependentResource<Task, Kar
 
     @Override
     public ReconcileResult<Task> reconcile(Karavan karavan, Context<Karavan> context) {
-        Task task = new DefaultTektonClient(getKubernetesClient()).v1beta1().tasks().inNamespace(karavan.getMetadata().getNamespace()).withName(Constants.TASK_BUILD_QUARKUS).get();
+        Task task = new DefaultTektonClient(getKubernetesClient()).v1beta1().tasks().inNamespace(karavan.getMetadata().getNamespace()).withName(Constants.TASK_DEV_QUARKUS).get();
         if (task == null) {
             var desired = desired(karavan, context);
             var createdResource = handleCreate(desired, karavan, context);