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 92e6a11  Tekton first try (#375)
92e6a11 is described below

commit 92e6a11569bab91ca50182945e0b5b6031c3c958
Author: Marat Gubaidullin <marat.gubaidul...@gmail.com>
AuthorDate: Fri Jun 17 14:56:55 2022 -0400

    Tekton first try (#375)
---
 karavan-builder/Dockerfile                         |  15 +++
 karavan-builder/README.md                          |   4 +
 .../openshift/karavan-builder-pipeline.yaml        |  24 ++++
 karavan-builder/openshift/karavan-builder-pvc.yaml |  23 ++++
 karavan-builder/openshift/karavan-builder-sa.yaml  |  12 ++
 .../openshift/karavan-builder-task.yaml            |  60 ++++++++++
 karavan-builder/openshift/karavan-git-secret.yaml  |   7 ++
 karavan-builder/openshift/kustomization.yaml       |   9 ++
 karavan-demo/hello-world/application.properties    |  11 ++
 .../hello-world/hello-world.yaml                   |   1 +
 karavan-docker/Dockerfile                          |  22 ----
 karavan-docker/README.md                           |   9 --
 karavan-docker/demo/application.properties         |   2 -
 karavan-docker/postman/CustomProcessor.java        |  11 --
 karavan-docker/postman/application.properties      |   8 --
 karavan-docker/postman/docker-compose.yaml         |  64 ----------
 karavan-docker/postman/postgres_db.sql             |   6 -
 karavan-docker/postman/postman.yaml                | 133 ---------------------
 karavan-docker/postman/start.sh                    |   7 --
 19 files changed, 166 insertions(+), 262 deletions(-)

diff --git a/karavan-builder/Dockerfile b/karavan-builder/Dockerfile
new file mode 100644
index 0000000..388f5b6
--- /dev/null
+++ b/karavan-builder/Dockerfile
@@ -0,0 +1,15 @@
+FROM jbangdev/jbang-action
+
+# Add Camel-JBang
+RUN jbang trust add -o --fresh --quiet 
https://github.com/apache/camel/blob/HEAD/dsl/camel-jbang/camel-jbang-main/dist/CamelJBang.java
+
+# Add Maven Daemon
+ADD 
https://github.com/mvndaemon/mvnd/releases/download/0.7.1/mvnd-0.7.1-linux-amd64.zip
 .
+
+RUN mkdir /opt/mvnd && \        
+    apt-get update -y && apt-get install unzip git -y && apt-get clean && \    
                            
+    unzip mvnd-0.7.1-linux-amd64.zip && \                       
+    mv mvnd-0.7.1-linux-amd64/* /opt/mvnd  
+
+WORKDIR /scripts
+ENTRYPOINT ["entrypoint", "-Dcamel.jbang.version=3.18.0-SNAPSHOT", 
"camel@apache/camel"]
\ No newline at end of file
diff --git a/karavan-builder/README.md b/karavan-builder/README.md
new file mode 100644
index 0000000..b782152
--- /dev/null
+++ b/karavan-builder/README.md
@@ -0,0 +1,4 @@
+### Build docker image
+```
+docker build -t apache/camel-karavan-builder .
+```
diff --git a/karavan-builder/openshift/karavan-builder-pipeline.yaml 
b/karavan-builder/openshift/karavan-builder-pipeline.yaml
new file mode 100644
index 0000000..c28c4b3
--- /dev/null
+++ b/karavan-builder/openshift/karavan-builder-pipeline.yaml
@@ -0,0 +1,24 @@
+apiVersion: tekton.dev/v1beta1
+kind: Pipeline
+metadata:
+  name: karavan-pipeline
+spec:
+  params:
+    - name: GIT_REPO
+      type: string
+    - name: PROJECT_NAME
+      type: string
+  tasks:
+    - name: karavan-build-deploy
+      params:
+        - name: runtime
+          value: quarkus
+        - name: gav
+          value: 'com.acme:demo:1.0.0'
+        - name: project
+          value: $(params.PROJECT_NAME)
+        - name: git
+          value: $(params.GIT_REPO)
+      taskRef:
+        kind: Task
+        name: karavan-builder
diff --git a/karavan-builder/openshift/karavan-builder-pvc.yaml 
b/karavan-builder/openshift/karavan-builder-pvc.yaml
new file mode 100644
index 0000000..6c1e772
--- /dev/null
+++ b/karavan-builder/openshift/karavan-builder-pvc.yaml
@@ -0,0 +1,23 @@
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+  name: karavan-m2-cache
+spec:
+  resources:
+    requests:
+      storage: 10Gi
+  volumeMode: Filesystem
+  accessModes:
+    - ReadWriteOnce
+---
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+  name: karavan-jbang-cache
+spec:
+  resources:
+    requests:
+      storage: 10Gi
+  volumeMode: Filesystem
+  accessModes:
+    - ReadWriteOnce    
diff --git a/karavan-builder/openshift/karavan-builder-sa.yaml 
b/karavan-builder/openshift/karavan-builder-sa.yaml
new file mode 100644
index 0000000..91935b6
--- /dev/null
+++ b/karavan-builder/openshift/karavan-builder-sa.yaml
@@ -0,0 +1,12 @@
+kind: RoleBinding
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+  name: karavan-builder
+subjects:
+  - kind: ServiceAccount
+    name: pipeline
+    namespace: karavan
+roleRef:
+  apiGroup: rbac.authorization.k8s.io
+  kind: ClusterRole
+  name: 'edit'
\ No newline at end of file
diff --git a/karavan-builder/openshift/karavan-builder-task.yaml 
b/karavan-builder/openshift/karavan-builder-task.yaml
new file mode 100644
index 0000000..28346bf
--- /dev/null
+++ b/karavan-builder/openshift/karavan-builder-task.yaml
@@ -0,0 +1,60 @@
+apiVersion: tekton.dev/v1beta1
+kind: Task
+metadata:
+  name: karavan-builder
+spec:
+  params:
+    - name: runtime
+      type: string
+    - name: gav
+      type: string
+    - name: project
+      type: string 
+    - name: git
+      type: string      
+  steps:
+    - name: karavan-build-deploy
+      script: |
+          #!/usr/bin/env bash
+          CHECKOUT_DIR="/scripts"
+
+          git clone --depth 1 --branch main $(inputs.params.git) 
${CHECKOUT_DIR}
+
+          cd ${CHECKOUT_DIR}/$(inputs.params.project) 
+
+          entrypoint -Dcamel.jbang.version=3.18.0-SNAPSHOT camel@apache/camel 
export
+      
+          export TOKEN=$(cat 
/var/run/secrets/kubernetes.io/serviceaccount/token)
+          /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.kubernetes-client.master-url=kubernetes.default.svc \
+            -Dquarkus.kubernetes-client.token=${TOKEN} \
+            -Dquarkus.openshift.deployment-kind=Deployment \
+            -Dquarkus.kubernetes.deploy=true \
+            
-Dquarkus.container-image.registry=image-registry.openshift-image-registry.svc:5000
 \
+            -Dquarkus.container-image.builder=jib \
+            -Dquarkus.openshift.route.expose=true
+      image: 'entropy1/camel-karavan-builder:3.18.0-SNAPSHOT'
+      resources: {}
+      volumeMounts:
+        - mountPath: /root/.m2
+          name: m2-cache
+        - mountPath: /jbang/.jbang/cache
+          name: jbang-cache  
+      env:
+        - name: GITHUB_TOKEN
+          valueFrom:
+            secretKeyRef:
+              name: karavan-git-secret
+              key: token
+  volumes:
+    - name: m2-cache
+      persistentVolumeClaim:
+        claimName: karavan-m2-cache 
+    - name: jbang-cache
+      persistentVolumeClaim:
+        claimName: karavan-jbang-cache
diff --git a/karavan-builder/openshift/karavan-git-secret.yaml 
b/karavan-builder/openshift/karavan-git-secret.yaml
new file mode 100644
index 0000000..53ac839
--- /dev/null
+++ b/karavan-builder/openshift/karavan-git-secret.yaml
@@ -0,0 +1,7 @@
+kind: Secret
+apiVersion: v1
+metadata:
+  name: karavan-git-secret
+data:
+  token: ZGVtbw==
+type: Opaque
diff --git a/karavan-builder/openshift/kustomization.yaml 
b/karavan-builder/openshift/kustomization.yaml
new file mode 100644
index 0000000..c136ac6
--- /dev/null
+++ b/karavan-builder/openshift/kustomization.yaml
@@ -0,0 +1,9 @@
+apiVersion: kustomize.config.k8s.io/v1beta1
+kind: Kustomization
+
+resources:
+- karavan-builder-pvc.yaml
+- karavan-builder-sa.yaml
+- karavan-builder-task.yaml
+- karavan-git-secret.yaml
+- karavan-builder-pipeline.yaml
\ No newline at end of file
diff --git a/karavan-demo/hello-world/application.properties 
b/karavan-demo/hello-world/application.properties
new file mode 100644
index 0000000..e02093c
--- /dev/null
+++ b/karavan-demo/hello-world/application.properties
@@ -0,0 +1,11 @@
+message=HELLO WORLD
+quarkus.package.type=uber-jar
+camel.jbang.dependencies=mvn:io.quarkus:quarkus-container-image-jib:2.9.2.Final,mvn:io.quarkus:quarkus-openshift:2.9.2.Final
+camel.main.sourceLocationEnabled=true
+camel.main.tracing=false
+
+quarkus.container-image.group=karavan-demo
+quarkus.container-image.name=hello-world
+quarkus.container-image.tag=1.0.0
+
+
diff --git a/karavan-docker/demo/demo.yaml 
b/karavan-demo/hello-world/hello-world.yaml
similarity index 99%
rename from karavan-docker/demo/demo.yaml
rename to karavan-demo/hello-world/hello-world.yaml
index 222464c..da1dd38 100644
--- a/karavan-docker/demo/demo.yaml
+++ b/karavan-demo/hello-world/hello-world.yaml
@@ -7,3 +7,4 @@
       parameters:
         period: 2000
         message: '{{message}}'
+ 
\ No newline at end of file
diff --git a/karavan-docker/Dockerfile b/karavan-docker/Dockerfile
deleted file mode 100644
index ff7357c..0000000
--- a/karavan-docker/Dockerfile
+++ /dev/null
@@ -1,22 +0,0 @@
-FROM adoptopenjdk/maven-openjdk11
-
-# Install JBang
-RUN curl -Ls 
"https://github.com/jbangdev/jbang/releases/download/v0.95.0/jbang-0.95.0.zip"; 
--output jbang-0.95.0.zip && \
-    apt-get update -y && apt-get install unzip git -y && apt-get clean && \
-    unzip jbang-0.95.0.zip && \
-    rm jbang-0.95.0.zip && \
-    chmod +x jbang-0.95.0/bin/jbang    
-
-# Environment variables
-ENV PATH="${PATH}:/jbang-0.95.0/bin"
-ENV JBANG_VERSION 0.95.0
-ENV JBANG_PATH=/jbang/bin
-ENV PATH="${PATH}:/jbang/bin"
-ENV JBANG_DIR="/jbang/.jbang"
-
-# Install Camel-JBang
-RUN jbang trust add -o --fresh --quiet 
https://github.com/apache/camel/blob/HEAD/dsl/camel-jbang/camel-jbang-main/dist/CamelJBang.java
 && \
-    jbang -Dcamel.jbang.version=3.18.0-SNAPSHOT camel@apache/camel --version 
-
-WORKDIR /ws
-ENTRYPOINT ["/jbang-0.95.0/bin/jbang"]
\ No newline at end of file
diff --git a/karavan-docker/README.md b/karavan-docker/README.md
deleted file mode 100644
index 35d8449..0000000
--- a/karavan-docker/README.md
+++ /dev/null
@@ -1,9 +0,0 @@
-### Build docker image
-```
-docker build -t apache/camel-jbang .
-```
-
-### Export postman
-```
-docker run -v `pwd`/postman:/ws apache/camel-jbang --verbose 
-Dcamel.jbang.version=3.18.0-SNAPSHOT camel@apache/camel export quarkus 
--gav=com.foo:acme:1.0 --fresh
-```
diff --git a/karavan-docker/demo/application.properties 
b/karavan-docker/demo/application.properties
deleted file mode 100644
index 7e94fc0..0000000
--- a/karavan-docker/demo/application.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-message=HELLO WORLD
-%test.message=HELLO TEST
\ No newline at end of file
diff --git a/karavan-docker/postman/CustomProcessor.java 
b/karavan-docker/postman/CustomProcessor.java
deleted file mode 100644
index 17399cf..0000000
--- a/karavan-docker/postman/CustomProcessor.java
+++ /dev/null
@@ -1,11 +0,0 @@
-import org.apache.camel.BindToRegistry;
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-
-@BindToRegistry("myBean")
-public class CustomProcessor implements Processor {
-
-  public void process(Exchange exchange) throws Exception {
-      exchange.getIn().setBody("Hello world");
-  }
-}
diff --git a/karavan-docker/postman/application.properties 
b/karavan-docker/postman/application.properties
deleted file mode 100644
index 3efa698..0000000
--- a/karavan-docker/postman/application.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-kafka-brokers=localhost:9092
-postgres-server=localhost
-jms-broker=tcp://localhost:61616
-mqtt-broker=tcp://localhost:1883
-%test.kafka-brokers=kafka-kafka-brokers:9092
-%test.postgres-server=postgres
-%test.jms-broker=tcp://amq-hdls-svc:61616
-%test.mqtt-broker=tcp://amq-hdls-svc:1883
\ No newline at end of file
diff --git a/karavan-docker/postman/docker-compose.yaml 
b/karavan-docker/postman/docker-compose.yaml
deleted file mode 100644
index 6bedcc2..0000000
--- a/karavan-docker/postman/docker-compose.yaml
+++ /dev/null
@@ -1,64 +0,0 @@
----
-version: '3.8'
-services:
-
-  zookeeper:
-    container_name: zookeeper
-    image: confluentinc/cp-zookeeper:latest
-    ports:
-      - "2181:2181"
-    environment:
-      ZOOKEEPER_CLIENT_PORT: 2181
-      ZOOKEEPER_TICK_TIME: 2000
-
-  kafka:
-    container_name: kafka
-    image: confluentinc/cp-kafka:latest
-    depends_on:
-      - zookeeper
-    ports:
-      - "9092:9092"
-    environment:
-      KAFKA_BROKER_ID: 1
-      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
-      KAFKA_ADVERTISED_LISTENERS: 
PLAINTEXT://kafka:29092,PLAINTEXT_HOST://localhost:9092
-      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: 
PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
-      KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
-      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
-      KAFKA_CREATE_TOPICS: "events:1:1"
-
-  artemis:
-    image: artemis-adoptopenjdk-11:latest
-    container_name: artemis
-    environment:
-      - ARTEMIS_USER=admin
-      - ARTEMIS_PASSWORD=admin
-      - ANONYMOUS_LOGIN=true
-    ports:
-      - "61616:61616"
-      - "1883:1883"
-      - "8161:8161"  
-  
-  postgres:
-    image: postgres
-    container_name: postgres
-    restart: always
-    environment:
-      - POSTGRES_USER=postgres
-      - POSTGRES_PASSWORD=postgres
-      - POSTGRES_DB=demo
-    ports:
-      - '5432:5432'
-    volumes:
-      - ./postgres_db.sql:/docker-entrypoint-initdb.d/postgres_db.sql
-    command: 'postgres --max_prepared_transactions=100'
-
-  pgadmin:
-    container_name: pgadmin
-    image: dpage/pgadmin4
-    restart: always
-    environment:
-      PGADMIN_DEFAULT_EMAIL: ad...@admin.com
-      PGADMIN_DEFAULT_PASSWORD: root
-    ports:
-      - "5050:80"
diff --git a/karavan-docker/postman/postgres_db.sql 
b/karavan-docker/postman/postgres_db.sql
deleted file mode 100644
index 92a7bbb..0000000
--- a/karavan-docker/postman/postgres_db.sql
+++ /dev/null
@@ -1,6 +0,0 @@
-CREATE TABLE IF NOT EXISTS parcels (
-  id varchar(250) NOT NULL,
-  address varchar(250) NOT NULL,
-  status varchar(250),
-  PRIMARY KEY (id)
-);
diff --git a/karavan-docker/postman/postman.yaml 
b/karavan-docker/postman/postman.yaml
deleted file mode 100644
index acbe3ad..0000000
--- a/karavan-docker/postman/postman.yaml
+++ /dev/null
@@ -1,133 +0,0 @@
-apiVersion: camel.apache.org/v1
-kind: Integration
-metadata:
-  name: Postman Demo
-spec:
-  flows:
-    - rest:
-        post:
-          - to: direct:post
-        path: /parcels
-        consumes: application/json
-        produces: application/json
-    - route:
-        from:
-          uri: direct:post
-          steps:
-            - log:
-                message: 'Received: ${body}'
-            - multicast:
-                steps:
-                  - to:
-                      uri: kamelet:kafka-not-secured-sink
-                      parameters:
-                        topic: parcels
-                        bootstrapServers: '{{kafka-brokers}}'
-                  - to:
-                      uri: kamelet:postgresql-sink
-                      parameters:
-                        serverName: '{{postgres-server}}'
-                        serverPort: '5432'
-                        username: postgres
-                        password: postgres
-                        databaseName: demo
-                        query: >-
-                          INSERT INTO parcels (id,address) VALUES
-                          (:#id,:#address) ON CONFLICT (id)  DO NOTHING
-                aggregationStrategy: >-
-                  
#class:org.apache.camel.processor.aggregate.UseOriginalAggregationStrategy
-                parallelProcessing: true
-                streaming: true
-        id: post
-    - route:
-        from:
-          uri: kamelet:jms-apache-artemis-source
-          steps:
-            - to:
-                uri: xj:identity
-                parameters:
-                  transformDirection: XML2JSON
-            - to:
-                uri: kamelet:kafka-not-secured-sink
-                parameters:
-                  topic: payments
-                  bootstrapServers: '{{kafka-brokers}}'
-          parameters:
-            destinationType: queue
-            destinationName: payments
-            brokerURL: '{{jms-broker}}'
-        id: payment
-    - route:
-        from:
-          uri: kamelet:kafka-not-secured-source
-          steps:
-            - log:
-                message: 'Aggegating: ${body}'
-            - unmarshal:
-                json:
-                  library: jackson
-            - aggregate:
-                steps:
-                  - choice:
-                      when:
-                        - expression:
-                            groovy:
-                              expression: >-
-                                body.find { it.containsKey('status') }.status 
==
-                                'confirmed'
-                          steps:
-                            - marshal:
-                                json:
-                                  library: jackson
-                            - log:
-                                message: 'Send to MQTT : ${body}'
-                            - to:
-                                uri: kamelet:mqtt-sink
-                                parameters:
-                                  topic: deliveries
-                                  brokerUrl: '{{mqtt-broker}}'
-                      otherwise:
-                        steps:
-                          - setBody:
-                              expression:
-                                groovy:
-                                  expression: 'body.find { 
it.containsKey(''status'') } '
-                          - marshal:
-                              json:
-                                library: jackson
-                          - log:
-                              message: 'Send to database: ${body}'
-                          - to:
-                              uri: kamelet:postgresql-sink
-                              parameters:
-                                serverName: '{{postgres-server}}'
-                                serverPort: '5432'
-                                username: postgres
-                                password: postgres
-                                databaseName: demo
-                                query: >-
-                                  UPDATE parcels set status = 'CANCELED' WHERE
-                                  id = :#id
-                aggregationStrategy: aggregator
-                completionSize: 2
-                correlationExpression:
-                  groovy:
-                    expression: body.get('id')
-          parameters:
-            topic: parcels,payments
-            bootstrapServers: '{{kafka-brokers}}'
-            autoCommitEnable: true
-            consumerGroup: postman
-        id: aggregator
-    - route:
-        from:
-          uri: kamelet:mqtt-source
-          steps:
-            - log:
-                message: 'Delivery: ${body}'
-          parameters:
-            topic: deliveries
-            brokerUrl: '{{mqtt-broker}}'
-    - beans:
-        - name: aggregator
-          type: 
org.apache.camel.processor.aggregate.GroupedBodyAggregationStrategy
diff --git a/karavan-docker/postman/start.sh b/karavan-docker/postman/start.sh
deleted file mode 100755
index ccb09e3..0000000
--- a/karavan-docker/postman/start.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-docker-compose down
-docker rm -f $(docker ps -a -q)
-docker volume rm $(docker volume ls -q)
-docker-compose up -d
-docker-compose logs -f
\ No newline at end of file

Reply via email to