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/17 14:06:04 UTC

[camel-karavan] 01/04: Deployment documentation

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 2f3e82d5880cd69bda562de037e70791082544de
Author: Marat Gubaidullin <ma...@gmail.com>
AuthorDate: Mon Oct 17 10:00:06 2022 -0400

    Deployment documentation
---
 karavan-cloud/Dockerfile                           |  15 ---
 karavan-cloud/{README.md => MINIKUBE.md}           |  31 +-----
 karavan-cloud/OPENSHIFT.md                         |  30 ++++++
 karavan-cloud/OPENSHIFT_DEMO.md                    |  41 ++++++++
 karavan-cloud/README.md                            |  83 +--------------
 karavan-cloud/karavan-namespace.yaml               |   4 -
 karavan-cloud/karavan-secret.yaml                  |  19 ----
 karavan-cloud/{ => keycloack}/karavan-realm.json   |   0
 karavan-cloud/openshift/gitea-operator.yaml        |  11 ++
 karavan-cloud/openshift/gitea.yaml                 |  21 ++++
 karavan-cloud/openshift/karavan-acl.yaml           | 102 -------------------
 .../openshift/karavan-act-environments.yaml        |  13 ---
 .../openshift/karavan-app-deployment-basic.yaml    |  47 ---------
 .../openshift/karavan-app-deployment-oidc.yaml     |  57 -----------
 .../openshift/karavan-app-deployment-public.yaml   |  42 --------
 karavan-cloud/openshift/karavan-app-route.yaml     |  13 ---
 .../openshift/karavan-app-service-cluster-ip.yaml  |  15 ---
 karavan-cloud/openshift/karavan-operator.yaml      |  11 ++
 karavan-cloud/openshift/karavan-pvc.yaml           |  35 -------
 .../openshift/karavan-quarkus-pipeline.yaml        |  24 -----
 karavan-cloud/openshift/karavan-quarkus-task.yaml  | 113 ---------------------
 karavan-cloud/openshift/karavan-secret.yaml        |  16 +--
 karavan-cloud/openshift/karavan.yaml               |   9 ++
 karavan-cloud/openshift/kustomization.yaml         |  11 --
 .../{ => openshift}/pipeline-operator.yaml         |   2 +-
 25 files changed, 136 insertions(+), 629 deletions(-)

diff --git a/karavan-cloud/Dockerfile b/karavan-cloud/Dockerfile
deleted file mode 100644
index ff580a2..0000000
--- a/karavan-cloud/Dockerfile
+++ /dev/null
@@ -1,15 +0,0 @@
-FROM jbangdev/jbang-action:0.97.0
-
-# 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://dist.apache.org/repos/dist/release/maven/mvnd/0.8.2/maven-mvnd-0.8.2-linux-amd64.zip .
-
-RUN mkdir /opt/mvnd && \        
-    apt-get update -y && apt-get install unzip git -y && apt-get clean && \                                
-    unzip maven-mvnd-0.8.2-linux-amd64.zip && \                       
-    mv maven-mvnd-0.8.2-linux-amd64/* /opt/mvnd  
-
-WORKDIR /scripts
-ENTRYPOINT ["entrypoint", "-Dcamel.jbang.version=3.18.2", "camel@apache/camel"]
diff --git a/karavan-cloud/README.md b/karavan-cloud/MINIKUBE.md
similarity index 72%
copy from karavan-cloud/README.md
copy to karavan-cloud/MINIKUBE.md
index 7b6d0e3..68c9880 100644
--- a/karavan-cloud/README.md
+++ b/karavan-cloud/MINIKUBE.md
@@ -1,34 +1,5 @@
-## Karavan cloud-native integration toolkit
+## Karavan on Minikube
 
-### Architecture
-![karavan-ipaas](../images/karavan-ipaas.png)
-
-## OpenShift
-### Requirements
-1. OpenShift 4.10+ cluster up and running
-2. OpenShift 4.10+ CLI installed
-
-### Installation
-1. Deploy Tekton Operator
-    ```
-    oc apply -f openshift/pipeline-operator.yaml
-    ```
-2. Create namespace
-    ```
-    oc apply -f karavan-namespace.yaml
-    oc project karavan
-    ```
-
-3. Set git parameters
-    Edit `karavan-secret.yaml` and set git repository, username and token
-
-4. Deploy karavan
-    ```
-    oc apply -k openshift
-    ```
-
-
-## Minikube
 ### Requirements
 1. minikube v1.25+ installed
 
diff --git a/karavan-cloud/OPENSHIFT.md b/karavan-cloud/OPENSHIFT.md
new file mode 100644
index 0000000..7cc480f
--- /dev/null
+++ b/karavan-cloud/OPENSHIFT.md
@@ -0,0 +1,30 @@
+## Karavan on OpenShift
+
+Karavan cloud-native integration toolkit demo on OpenShift with existing repository
+
+### Requirements
+1. OpenShift 4.10+ cluster up and running
+2. OpenShift 4.10+ CLI installed
+3. Git repositories for projects and custom kamelets 
+
+### Installation
+1. Install Tekton Operator
+    ```
+    oc apply -f https://raw.githubusercontent.com/apache/camel-karavan/main/karavan-cloud/openshift/pipeline-operator.yaml
+    ```
+2. Install Karavan Operator
+    ```
+    oc apply -f https://raw.githubusercontent.com/apache/camel-karavan/main/karavan-cloud/openshift/karavan-operator.yaml
+    ```
+3. Create namespace
+    ```
+    oc new-project karavan
+    ```
+4. Edit Karavan Secret manifest according to enviroment and apply
+    ```
+    oc apply -f openshift/karavan-secret.yaml
+    ```
+5. Create Karavan Instance and apply
+    ```
+    oc apply -f openshift/karavan.yaml
+    ```
\ No newline at end of file
diff --git a/karavan-cloud/OPENSHIFT_DEMO.md b/karavan-cloud/OPENSHIFT_DEMO.md
new file mode 100644
index 0000000..6f0dde5
--- /dev/null
+++ b/karavan-cloud/OPENSHIFT_DEMO.md
@@ -0,0 +1,41 @@
+## Karavan demo on OpenShift
+
+Karavan cloud-native integration toolkit demo on OpenShift with Gitea repository
+
+### Requirements
+1. OpenShift 4.10+ cluster up and running
+2. OpenShift 4.10+ CLI installed
+
+### Installation
+1. Install the Red Hat GPTE CatalogSource into your cluster (required for Gitea Operator)
+    ```
+    oc apply -f https://raw.githubusercontent.com/redhat-gpte-devopsautomation/gitea-operator/master/catalog_source.yaml
+    ```
+2. Install Gitea Operator
+    ```
+    oc apply -f https://raw.githubusercontent.com/apache/camel-karavan/main/karavan-cloud/openshift/gitea-operator.yaml
+    ```
+3. Install Tekton Operator
+    ```
+    oc apply -f https://raw.githubusercontent.com/apache/camel-karavan/main/karavan-cloud/openshift/pipeline-operator.yaml
+    ```
+4. Install Karavan Operator
+    ```
+    oc apply -f https://raw.githubusercontent.com/apache/camel-karavan/main/karavan-cloud/openshift/karavan-operator.yaml
+    ```
+5. Create namespace
+    ```
+    oc new-project karavan
+    ```
+6. Create Gitea instance
+    ```
+    oc apply -f https://raw.githubusercontent.com/apache/camel-karavan/main/karavan-cloud/openshift/gitea-instance.yaml
+    ```
+7. Create Karavan Secret
+    ```
+    oc apply -f https://raw.githubusercontent.com/apache/camel-karavan/main/karavan-cloud/openshift/karavan-secret.yaml
+    ```
+8. Create Karavan Instance
+    ```
+    oc apply -f https://raw.githubusercontent.com/apache/camel-karavan/main/karavan-cloud/openshift/karavan.yaml
+    ```
\ No newline at end of file
diff --git a/karavan-cloud/README.md b/karavan-cloud/README.md
index 7b6d0e3..aa9a85b 100644
--- a/karavan-cloud/README.md
+++ b/karavan-cloud/README.md
@@ -3,84 +3,7 @@
 ### Architecture
 ![karavan-ipaas](../images/karavan-ipaas.png)
 
-## OpenShift
-### Requirements
-1. OpenShift 4.10+ cluster up and running
-2. OpenShift 4.10+ CLI installed
-
-### Installation
-1. Deploy Tekton Operator
-    ```
-    oc apply -f openshift/pipeline-operator.yaml
-    ```
-2. Create namespace
-    ```
-    oc apply -f karavan-namespace.yaml
-    oc project karavan
-    ```
-
-3. Set git parameters
-    Edit `karavan-secret.yaml` and set git repository, username and token
-
-4. Deploy karavan
-    ```
-    oc apply -k openshift
-    ```
-
-
-## Minikube
-### Requirements
-1. minikube v1.25+ installed
-
 ### Installation
-1. Install Tekton
-    ```
-    kubectl apply --filename https://storage.googleapis.com/tekton-releases/pipeline/latest/release.yaml
-    ```
-    Install Tekton Dashboard (optional)
-    ```
-    kubectl apply --filename https://storage.googleapis.com/tekton-releases/dashboard/latest/tekton-dashboard-release.yaml
-    ```
-    Set `disable-affinity-assistant` equals `true`
-    ```
-    kubectl edit configmap feature-flags -n tekton-pipelines
-    ```
-2. Create namespace
-    ```
-    kubectl apply -f karavan-namespace.yaml
-    ```
-3. Enable Registry
-    ```
-    minikube addons enable registry
-    ```
-3. Get IP address of internal registry
-    ```
-    kubectl -n kube-system get svc registry -o jsonpath='{.spec.clusterIP}'
-    ```    
-4. Set git parameters
-    Edit `karavan-secret.yaml` and set git repository, username, token and Image Registry IP
-    ```
-    projects-git-repository: https://github.com/xxx
-    projects-git-password: XXXX
-    projects-git-username: XXXX
-    projects-git-main: main
-    kamelets-git-repository: https://github.com/zzz
-    kamelets-git-password: zzz
-    kamelets-git-username: zzz
-    kamelets-git-main: main
-    image-registry: X.X.X.X
-    ```
-
-4. Deploy karavan
-    ```
-    kubectl apply -k minikube --namespace karavan
-    ```
-6. Expose karavan application service
-    ```
-    minikube service karavan --url --namespace karavan
-    ```
-### Optional
-1.  Access Tekton Dashboard 
-    ```
-    kubectl port-forward -n tekton-pipelines service/tekton-dashboard 9097:9097
-    ```
\ No newline at end of file
+1. [Karavan demo on OpenShift with Gitea](OPENSHIFT_DEMO.md)
+2. [Karavan on OpenShift](OPENSHIFT.md)
+3. [Karavan on Minikube](MINIKUBE.md)
diff --git a/karavan-cloud/karavan-namespace.yaml b/karavan-cloud/karavan-namespace.yaml
deleted file mode 100644
index 768a8b5..0000000
--- a/karavan-cloud/karavan-namespace.yaml
+++ /dev/null
@@ -1,4 +0,0 @@
-apiVersion: v1
-kind: Namespace
-metadata:
-  name: karavan
\ No newline at end of file
diff --git a/karavan-cloud/karavan-secret.yaml b/karavan-cloud/karavan-secret.yaml
deleted file mode 100644
index 3447398..0000000
--- a/karavan-cloud/karavan-secret.yaml
+++ /dev/null
@@ -1,19 +0,0 @@
-kind: Secret
-apiVersion: v1
-metadata:
-  name: karavan
-type: Opaque
-stringData:
-  master-password: karavan
-  oidc-secret: XXXXX
-  oidc-server-url: https://localhost/auth/realms/karavan
-  oidc-frontend-url: https://localhost/auth
-  projects-git-repository: https://github.com/mgubaidullin/karavan-demo.git
-  projects-git-password: demo
-  projects-git-username: demo
-  projects-git-branch: main
-  kamelets-git-repository: https://github.com/mgubaidullin/karavan-demo-kamelets.git
-  kamelets-git-password: demo
-  kamelets-git-username: demo
-  kamelets-git-branch: main
-  image-registry: image-registry.openshift-image-registry.svc:5000
diff --git a/karavan-cloud/karavan-realm.json b/karavan-cloud/keycloack/karavan-realm.json
similarity index 100%
rename from karavan-cloud/karavan-realm.json
rename to karavan-cloud/keycloack/karavan-realm.json
diff --git a/karavan-cloud/openshift/gitea-operator.yaml b/karavan-cloud/openshift/gitea-operator.yaml
new file mode 100644
index 0000000..5b3d8f3
--- /dev/null
+++ b/karavan-cloud/openshift/gitea-operator.yaml
@@ -0,0 +1,11 @@
+apiVersion: operators.coreos.com/v1alpha1
+kind: Subscription
+metadata:
+  name: gitea-operator
+  namespace: openshift-operators
+spec:
+  channel: stable
+  installPlanApproval: Automatic
+  name: gitea-operator
+  source: redhat-gpte-gitea
+  sourceNamespace: openshift-marketplace
\ No newline at end of file
diff --git a/karavan-cloud/openshift/gitea.yaml b/karavan-cloud/openshift/gitea.yaml
new file mode 100644
index 0000000..ec223e0
--- /dev/null
+++ b/karavan-cloud/openshift/gitea.yaml
@@ -0,0 +1,21 @@
+apiVersion: gpte.opentlc.com/v1
+kind: Gitea
+metadata:
+  name: karavan-repo
+spec:
+  giteaImageTag: latest
+  giteaSsl: true
+  giteaAdminUser: karavan
+  giteaAdminPassword: karavan
+  giteaCreateUsers: true
+  giteaGenerateUserFormat: "karavan%d"
+  giteaUserNumber: 2
+  giteaUserPassword: karavan
+  giteaMigrateRepositories: true
+  giteaRepositoriesList:
+  - repo: https://github.com/mgubaidullin/karavan-demo-projects.git
+    name: projects
+    private: false
+  - repo: https://github.com/mgubaidullin/karavan-demo-kamelets.git
+    name: kamelets
+    private: false
\ No newline at end of file
diff --git a/karavan-cloud/openshift/karavan-acl.yaml b/karavan-cloud/openshift/karavan-acl.yaml
deleted file mode 100644
index e060c80..0000000
--- a/karavan-cloud/openshift/karavan-acl.yaml
+++ /dev/null
@@ -1,102 +0,0 @@
-# Service account
-apiVersion: v1
-kind: ServiceAccount
-metadata:
-  name: karavan
-  labels:
-    app.kubernetes.io/name: karavan
----
-# Role karavan-app
-apiVersion: rbac.authorization.k8s.io/v1
-kind: Role
-metadata:
-  name: karavan-app
-rules:
-  - apiGroups: [""]
-    resources: ["secrets", "configmaps"]
-    verbs: ["get", "list"]
-  - apiGroups: [""]
-    resources: ["persistentvolumes", "persistentvolumeclaims"]
-    verbs: ["*"]
-  - apiGroups: ["", "apps", "apps.openshift.io"]
-    resources: ["deploymentconfigs", "deployments", "replicationcontrollers"]
-    verbs: ["*"]
----
-# Role tekton run pipeline
-kind: Role
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
-  name: karavan-tekton-run
-rules:
-  - verbs:
-      - get
-      - list
-      - watch
-      - create
-    apiGroups:
-      - tekton.dev
-    resources:
-      - pipelineruns
----
-# Role bindings
-kind: RoleBinding
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
-  name: karavan-tekton
-subjects:
-  - kind: ServiceAccount
-    name: karavan
-    namespace: karavan
-roleRef:
-  apiGroup: rbac.authorization.k8s.io
-  kind: Role
-  name: karavan-tekton-run
----
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
-  name: karavan-view
-roleRef:
-  kind: ClusterRole
-  apiGroup: rbac.authorization.k8s.io
-  name: view
-subjects:
-  - kind: ServiceAccount
-    name: karavan
-    namespace: karavan
----
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
-  name: karavan-app
-roleRef:
-  kind: Role
-  apiGroup: rbac.authorization.k8s.io
-  name: karavan-app
-subjects:
-  - kind: ServiceAccount
-    name: karavan
-    namespace: karavan
----
-# Pipeline should have access to create rolebindings
-kind: Role
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
-  name: karavan-pipeline-rolebindings
-rules:
-  - apiGroups: ["", "rbac.authorization.k8s.io"]
-    resources: ["rolebindings"]
-    verbs: ["*"]
----
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
-  name: karavan-pipeline-rolebindings
-roleRef:
-  kind: Role
-  apiGroup: rbac.authorization.k8s.io
-  name: karavan-pipeline-rolebindings
-subjects:
-  - kind: ServiceAccount
-    name: pipeline
-    namespace: karavan
\ No newline at end of file
diff --git a/karavan-cloud/openshift/karavan-act-environments.yaml b/karavan-cloud/openshift/karavan-act-environments.yaml
deleted file mode 100644
index 737d51a..0000000
--- a/karavan-cloud/openshift/karavan-act-environments.yaml
+++ /dev/null
@@ -1,13 +0,0 @@
-kind: RoleBinding
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
-  name: karavan-image-puller-test
-  namespace: karavan
-subjects:
-  - kind: ServiceAccount
-    name: default
-    namespace: test
-roleRef:
-  apiGroup: rbac.authorization.k8s.io
-  kind: ClusterRole
-  name: 'system:image-puller'
\ No newline at end of file
diff --git a/karavan-cloud/openshift/karavan-app-deployment-basic.yaml b/karavan-cloud/openshift/karavan-app-deployment-basic.yaml
deleted file mode 100644
index 080d7f6..0000000
--- a/karavan-cloud/openshift/karavan-app-deployment-basic.yaml
+++ /dev/null
@@ -1,47 +0,0 @@
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  labels:
-    app: karavan
-    app.openshift.io/runtime: quarkus
-    app.kubernetes.io/part-of: karavan
-  name: karavan
-spec:
-  replicas: 1
-  selector:
-    matchLabels:
-      app: karavan
-  template:
-    metadata:
-      labels:
-        app: karavan
-    spec:
-      serviceAccountName: karavan
-      containers:
-        - env:
-            - name: KUBERNETES_NAMESPACE
-              valueFrom:
-                fieldRef:
-                  fieldPath: metadata.namespace
-            - name: MASTER_PASSWORD
-              valueFrom:
-                secretKeyRef:
-                  key: master-password
-                  name: karavan
-          image: ghcr.io/apache/camel-karavan-basic:3.18.5
-          imagePullPolicy: Always
-          name: karavan
-          resources:
-            requests:
-              memory: "2048Mi"
-          volumeMounts:
-            - name: karavan-data
-              mountPath: /deployments/karavan-data
-          ports:
-            - containerPort: 8080
-              name: http
-              protocol: TCP   
-      volumes:
-        - name: karavan-data
-          persistentVolumeClaim:
-            claimName: karavan-data
diff --git a/karavan-cloud/openshift/karavan-app-deployment-oidc.yaml b/karavan-cloud/openshift/karavan-app-deployment-oidc.yaml
deleted file mode 100644
index 57ded92..0000000
--- a/karavan-cloud/openshift/karavan-app-deployment-oidc.yaml
+++ /dev/null
@@ -1,57 +0,0 @@
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  labels:
-    app: karavan
-    app.openshift.io/runtime: quarkus
-    app.kubernetes.io/part-of: karavan
-  name: karavan
-spec:
-  replicas: 1
-  selector:
-    matchLabels:
-      app: karavan
-  template:
-    metadata:
-      labels:
-        app: karavan
-    spec:
-      serviceAccountName: karavan
-      containers:
-        - env:
-            - name: KUBERNETES_NAMESPACE
-              valueFrom:
-                fieldRef:
-                  fieldPath: metadata.namespace
-            - name: OIDC_FRONTEND_URL
-              valueFrom:
-                secretKeyRef:
-                  key: oidc-frontend-url
-                  name: karavan
-            - name: OIDC_SERVER_URL
-              valueFrom:
-                secretKeyRef:
-                  key: oidc-server-url
-                  name: karavan
-            - name: OIDC_SECRET
-              valueFrom:
-                secretKeyRef:
-                  key: oidc-secret
-                  name: karavan
-          image: ghcr.io/apache/camel-karavan-oidc:3.18.5
-          imagePullPolicy: Always
-          name: karavan
-          resources:
-            requests:
-              memory: "2048Mi"
-          volumeMounts:
-            - name: karavan-data
-              mountPath: /deployments/karavan-data
-          ports:
-            - containerPort: 8080
-              name: http
-              protocol: TCP
-      volumes:
-        - name: karavan-data
-          persistentVolumeClaim:
-            claimName: karavan-data
\ No newline at end of file
diff --git a/karavan-cloud/openshift/karavan-app-deployment-public.yaml b/karavan-cloud/openshift/karavan-app-deployment-public.yaml
deleted file mode 100644
index 11bb8ff..0000000
--- a/karavan-cloud/openshift/karavan-app-deployment-public.yaml
+++ /dev/null
@@ -1,42 +0,0 @@
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  labels:
-    app: karavan
-    app.openshift.io/runtime: quarkus
-    app.kubernetes.io/part-of: karavan
-  name: karavan
-spec:
-  replicas: 1
-  selector:
-    matchLabels:
-      app: karavan
-  template:
-    metadata:
-      labels:
-        app: karavan
-    spec:
-      serviceAccountName: karavan
-      containers:
-        - env:
-            - name: KUBERNETES_NAMESPACE
-              valueFrom:
-                fieldRef:
-                  fieldPath: metadata.namespace
-          image: ghcr.io/apache/camel-karavan:3.18.5
-          imagePullPolicy: Always
-          name: karavan
-          resources:
-            requests:
-              memory: "2048Mi"
-          volumeMounts:
-            - name: karavan-data
-              mountPath: /deployments/karavan-data
-          ports:
-            - containerPort: 8080
-              name: http
-              protocol: TCP
-      volumes:
-        - name: karavan-data
-          persistentVolumeClaim:
-            claimName: karavan-data
\ No newline at end of file
diff --git a/karavan-cloud/openshift/karavan-app-route.yaml b/karavan-cloud/openshift/karavan-app-route.yaml
deleted file mode 100644
index 0ac838b..0000000
--- a/karavan-cloud/openshift/karavan-app-route.yaml
+++ /dev/null
@@ -1,13 +0,0 @@
-apiVersion: route.openshift.io/v1
-kind: Route
-metadata:
-  labels:
-    app: karavan
-    app.kubernetes.io/part-of: karavan
-  name: karavan
-spec:
-  port:
-    targetPort: 8080
-  to:
-    kind: Service
-    name: karavan
\ No newline at end of file
diff --git a/karavan-cloud/openshift/karavan-app-service-cluster-ip.yaml b/karavan-cloud/openshift/karavan-app-service-cluster-ip.yaml
deleted file mode 100644
index c9b1681..0000000
--- a/karavan-cloud/openshift/karavan-app-service-cluster-ip.yaml
+++ /dev/null
@@ -1,15 +0,0 @@
-apiVersion: v1
-kind: Service
-metadata:
-  labels:
-    app: karavan
-    app.kubernetes.io/part-of: karavan
-  name: karavan
-spec:
-  ports:
-    - name: http
-      port: 80
-      targetPort: 8080
-  selector:
-    app: karavan
-  type: ClusterIP
diff --git a/karavan-cloud/openshift/karavan-operator.yaml b/karavan-cloud/openshift/karavan-operator.yaml
new file mode 100644
index 0000000..a920c81
--- /dev/null
+++ b/karavan-cloud/openshift/karavan-operator.yaml
@@ -0,0 +1,11 @@
+apiVersion: operators.coreos.com/v1alpha1
+kind: Subscription
+metadata:
+  name: camel-karavan-operator
+  namespace: openshift-operators
+spec:
+  channel: alpha
+  installPlanApproval: Automatic
+  name: camel-karavan-operator
+  source: community-operators
+  sourceNamespace: openshift-marketplace
\ No newline at end of file
diff --git a/karavan-cloud/openshift/karavan-pvc.yaml b/karavan-cloud/openshift/karavan-pvc.yaml
deleted file mode 100644
index 52bd93b..0000000
--- a/karavan-cloud/openshift/karavan-pvc.yaml
+++ /dev/null
@@ -1,35 +0,0 @@
-apiVersion: v1
-kind: PersistentVolumeClaim
-metadata:
-  name: karavan-data
-spec:
-  resources:
-    requests:
-      storage: 10Gi
-  volumeMode: Filesystem
-  accessModes:
-    - ReadWriteOnce
----
-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: 1Gi
-  volumeMode: Filesystem
-  accessModes:
-    - ReadWriteOnce    
diff --git a/karavan-cloud/openshift/karavan-quarkus-pipeline.yaml b/karavan-cloud/openshift/karavan-quarkus-pipeline.yaml
deleted file mode 100644
index 20b2710..0000000
--- a/karavan-cloud/openshift/karavan-quarkus-pipeline.yaml
+++ /dev/null
@@ -1,24 +0,0 @@
-apiVersion: tekton.dev/v1beta1
-kind: Pipeline
-metadata:
-  name: karavan-quarkus
-spec:
-  params:
-    - name: PROJECT_NAME
-      type: string
-  tasks:
-    - name: karavan-build-deploy
-      params:
-        - name: project
-          value: $(params.PROJECT_NAME)
-      taskRef:
-        kind: Task
-        name: karavan-quarkus-builder
-      workspaces:
-        - name: m2-cache
-          workspace: m2-cache
-        - name: jbang-cache
-          workspace: jbang-cache  
-  workspaces:
-    - name: m2-cache
-    - name: jbang-cache
\ No newline at end of file
diff --git a/karavan-cloud/openshift/karavan-quarkus-task.yaml b/karavan-cloud/openshift/karavan-quarkus-task.yaml
deleted file mode 100644
index 3136c1e..0000000
--- a/karavan-cloud/openshift/karavan-quarkus-task.yaml
+++ /dev/null
@@ -1,113 +0,0 @@
-apiVersion: tekton.dev/v1beta1
-kind: Task
-metadata:
-  name: karavan-quarkus-builder
-spec:
-  params:
-    - name: project
-      type: string 
-  steps:
-    - name: karavan-build-deploy
-      script: |
-          #!/usr/bin/env bash
-          KAMELETS_DIR="/kamelets"
-          
-          if  [[ $KAMELETS_GIT_REPOSITORY == https* ]] ;
-          then
-              replacer=https://$KAMELETS_GIT_PASSWORD@
-              prefix=https://
-              url="${KAMELETS_GIT_REPOSITORY/$prefix/$replacer}"    
-              git clone --depth 1 --branch ${KAMELETS_GIT_MAIN} $url ${KAMELETS_DIR}
-          else
-              git clone --depth 1 --branch ${KAMELETS_GIT_MAIN} ${KAMELETS_GIT_REPOSITORY} ${KAMELETS_DIR}    
-          fi
-
-          CHECKOUT_DIR="/scripts"
-          
-          if  [[ $PROJECTS_GIT_REPOSITORY == https* ]] ;
-          then
-              replacer=https://$PROJECTS_GIT_PASSWORD@
-              prefix=https://
-              url="${PROJECTS_GIT_REPOSITORY/$prefix/$replacer}"    
-              git clone --depth 1 --branch ${PROJECTS_GIT_MAIN} $url ${CHECKOUT_DIR}
-          else
-              git clone --depth 1 --branch ${PROJECTS_GIT_MAIN} ${PROJECTS_GIT_REPOSITORY} ${CHECKOUT_DIR}    
-          fi
-
-          cd ${CHECKOUT_DIR}/$(inputs.params.project) 
-
-          entrypoint -Dcamel.jbang.version=3.18.2 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')
-          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}
-      image: ghcr.io/apache/camel-karavan-builder:3.18.5
-      env:
-        - name: PROJECTS_GIT_REPOSITORY
-          valueFrom:
-            secretKeyRef:
-              name: karavan
-              key: projects-git-repository
-        - name: PROJECTS_GIT_USERNAME
-          valueFrom:
-            secretKeyRef:
-              name: karavan
-              key: projects-git-username
-        - name: PROJECTS_GIT_PASSWORD
-          valueFrom:
-            secretKeyRef:
-              name: karavan
-              key: projects-git-password
-        - name: PROJECTS_GIT_MAIN
-          valueFrom:
-            secretKeyRef:
-              name: karavan
-              key: projects-git-main
-        - name: KAMELETS_GIT_REPOSITORY
-          valueFrom:
-            secretKeyRef:
-              name: karavan
-              key: kamelets-git-repository
-        - name: KAMELETS_GIT_USERNAME
-          valueFrom:
-            secretKeyRef:
-              name: karavan
-              key: kamelets-git-username
-        - name: KAMELETS_GIT_PASSWORD
-          valueFrom:
-            secretKeyRef:
-              name: karavan
-              key: kamelets-git-password
-        - name: KAMELETS_GIT_MAIN
-          valueFrom:
-            secretKeyRef:
-              name: karavan
-              key: kamelets-git-main      
-        - name: IMAGE_REGISTRY
-          valueFrom:
-            secretKeyRef:
-              name: karavan
-              key: image-registry
-  workspaces:
-    - mountPath: /root/.m2
-      name: m2-cache
-    - mountPath: /jbang/.jbang/cache
-      name: jbang-cache     
diff --git a/karavan-cloud/openshift/karavan-secret.yaml b/karavan-cloud/openshift/karavan-secret.yaml
index 95b18d1..b4cf252 100644
--- a/karavan-cloud/openshift/karavan-secret.yaml
+++ b/karavan-cloud/openshift/karavan-secret.yaml
@@ -8,12 +8,12 @@ stringData:
   oidc-secret: XXXXX
   oidc-server-url: https://localhost/auth/realms/karavan
   oidc-frontend-url: https://localhost/auth
-  projects-git-repository: https://github.com/mgubaidullin/karavan-demo.git
-  projects-git-password: demo
-  projects-git-username: demo
-  projects-git-main: main
-  kamelets-git-repository: https://github.com/mgubaidullin/karavan-demo-kamelets.git
-  kamelets-git-password: demo
-  kamelets-git-username: demo
-  kamelets-git-main: main
+  projects-git-repository: http://karavan-repo.karavan.svc.cluster.local/karavan1/projects.git
+  projects-git-password: karavan
+  projects-git-username: karavan1
+  projects-git-branch: main
+  kamelets-git-repository: http://karavan-repo.karavan.svc.cluster.local/karavan2/kamelets.git
+  kamelets-git-password: karavan
+  kamelets-git-username: karavan2
+  kamelets-git-branch: main
   image-registry: image-registry.openshift-image-registry.svc:5000
diff --git a/karavan-cloud/openshift/karavan.yaml b/karavan-cloud/openshift/karavan.yaml
new file mode 100644
index 0000000..a3ffdb2
--- /dev/null
+++ b/karavan-cloud/openshift/karavan.yaml
@@ -0,0 +1,9 @@
+apiVersion: camel.apache.org/v1
+kind: Karavan
+metadata:
+  name: karavan
+  namespace: karavan
+spec:
+  instances: 1
+  auth: public
+  type: dev
\ No newline at end of file
diff --git a/karavan-cloud/openshift/kustomization.yaml b/karavan-cloud/openshift/kustomization.yaml
deleted file mode 100644
index c9bc2fe..0000000
--- a/karavan-cloud/openshift/kustomization.yaml
+++ /dev/null
@@ -1,11 +0,0 @@
-apiVersion: kustomize.config.k8s.io/v1beta1
-kind: Kustomization
-
-resources:
-- karavan-acl.yaml
-- karavan-pvc.yaml
-- karavan-quarkus-task.yaml
-- karavan-quarkus-pipeline.yaml
-- karavan-app-deployment-oidc.yaml
-- karavan-app-service-cluster-ip.yaml
-- karavan-app-route.yaml
\ No newline at end of file
diff --git a/karavan-cloud/pipeline-operator.yaml b/karavan-cloud/openshift/pipeline-operator.yaml
similarity index 79%
rename from karavan-cloud/pipeline-operator.yaml
rename to karavan-cloud/openshift/pipeline-operator.yaml
index 43404c3..d2f2306 100644
--- a/karavan-cloud/pipeline-operator.yaml
+++ b/karavan-cloud/openshift/pipeline-operator.yaml
@@ -4,7 +4,7 @@ metadata:
   name: openshift-pipelines-operator
   namespace: openshift-operators
 spec:
-  channel: pipelines-1.7
+  channel: pipelines-1.8
   installPlanApproval: Automatic
   name: openshift-pipelines-operator-rh
   source: redhat-operators