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 8dd60ca874f3aa808e8c98583233840a79917bcc
Author: Marat Gubaidullin <[email protected]>
AuthorDate: Fri Feb 23 15:28:58 2024 -0500

    Upgrade
---
 .gitignore                                         |  4 +-
 docs/WEB_DOCKER.md                                 | 49 +++++++---------------
 docs/WEB_KUBERNETES.md                             | 47 ++++-----------------
 .../karavan-docker/docker-compose-gitea.yaml       |  2 +-
 docs/install/karavan-kubernetes/deployment.yaml    | 29 +++++++++++--
 docs/install/karavan-kubernetes/kustomization.yaml | 11 ++++-
 docs/install/karavan-kubernetes/secret.yaml        |  4 +-
 karavan-app/pom.xml                                | 17 ++------
 .../karavan/kubernetes/KubernetesService.java      |  2 +-
 .../camel/karavan/service/ProjectService.java      |  2 +
 10 files changed, 69 insertions(+), 98 deletions(-)

diff --git a/.gitignore b/.gitignore
index f0269644..ae9b466c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -77,4 +77,6 @@ karavan-cloud/karavan-secret-real.yaml
 
 docs/install/karavan-docker/data/*
 
-**/dependency-reduced-pom.xml
\ No newline at end of file
+**/dependency-reduced-pom.xml
+
+.env
\ No newline at end of file
diff --git a/docs/WEB_DOCKER.md b/docs/WEB_DOCKER.md
index 835d7111..b0f56aaa 100644
--- a/docs/WEB_DOCKER.md
+++ b/docs/WEB_DOCKER.md
@@ -5,52 +5,31 @@
 2. Docker Engine 24+
 
 ### How to run Karavan on Docker
-1. Create network
+1. Download [docker-compose.yaml](install/karavan-docker/docker-compose.yaml)
+2. Set Environment Variables for Git Repository and Container Image Registry 
connections in docker-compose.yaml
+2. Create network
     ```
     docker network create karavan
     ```
-2. Start Karavan with demo features
+3. Start Karavan
     ```
-    docker run -it --rm  --name karavan \
-        --network karavan -p 8080:8080 \
-        -e KARAVAN_GIT_INSTALL_GITEA=true \
-        -e KARAVAN_IMAGE_REGISTRY_INSTALL=true \
-        -v /var/run/docker.sock:/var/run/docker.sock \
-        ghcr.io/apache/camel-karavan:4.4.0
+    docker compose up
     ```
 3. Open http://localhost:8080
 
-### Configuration variables
-1. For demo/evaluation purposes:
+### How to run Demo Karavan on Docker with Gitea
 
-    Install Gitea Git repository
+1. Download [karavan-docker](install/karavan-docker) folder
+2. Unzip data.zip with Gitea database in karavan-docker folder
     ```
-    -e KARAVAN_GIT_INSTALL_GITEA=true
+    unzip data.zip
     ```
-
-    Install Image registry
-    ```
-    -e KARAVAN_IMAGE_REGISTRY_INSTALL=true
-    ```
-
-2. Maven cache
-    ```
-    -e KARAVAN_MAVEN_CACHE=$YOUR_PATH_TO_MAVEN/.m2
+2. Create network
     ```
-
-3. Git repository
+    docker network create karavan
     ```
-    -e KARAVAN_GIT_REPOSITORY=$YOUR_GIT_REPOSITORY \
-    -e KARAVAN_GIT_USERNAME=$YOUR_GIT_USERNAME \
-    -e KARAVAN_GIT_PASSWORD=$YOUR_GIT_PASSWORD \
-    -e KARAVAN_GIT_BRANCH=$YOUR_GIT_DEFAULT_BRANCH \
+3. Start Karavan
     ```
-
-4. Image registry
+    docker compose -f docker-compose-gitea.yaml up
     ```
-    -e KARAVAN_IMAGE_REGISTRY=$YOUR_IMAGE_REGISTRY \
-    -e KARAVAN_IMAGE_REGISTRY_USERNAME=$YOUR_IMAGE_REGISTRY_USERNAME \
-    -e KARAVAN_IMAGE_REGISTRY_PASSWORD=$YOUR_IMAGE_REGISTRY_PASSWORD \
-    -e KARAVAN_IMAGE_GROUP=$YOUR_IMAGE_GROUP \
-    ```    
-
+3. Open http://localhost:8080
diff --git a/docs/WEB_KUBERNETES.md b/docs/WEB_KUBERNETES.md
index c0340833..e46f8cec 100644
--- a/docs/WEB_KUBERNETES.md
+++ b/docs/WEB_KUBERNETES.md
@@ -16,50 +16,17 @@
     ```
     minikube dashboard
     ```
-4. Install Karavan using Maven
+4. Download [karavan-kubernetes](install/karavan-kubernetes) folder
 
-    Download installer from Maven Central: 
https://repo1.maven.org/maven2/org/apache/camel/karavan/karavan-installer/4.4.0/karavan-installer-4.4.0.jar
 
-    
-    ex. with following command:
+5. Get registry IP and set it to `secrets.yaml`
     ```
-    mvn org.apache.maven.plugins:maven-dependency-plugin:3.0.2:copy 
-Dartifact=org.apache.camel.karavan:karavan-installer:4.4.0:jar 
-DoutputDirectory=.
+    kubectl get service registry -n kube-system -o jsonpath="{.spec.clusterIP}"
     ```
 
-    Install Karavan with Gitea (for demo purpose)
-    ```
-    java -jar karavan-installer-4.4.0.jar --install-gitea --node-port=30777
-    
-    ```
-
-5. Install Karavan using Jbang
-
-    Install Karavan with Gitea (for demo purpose)
-    ```
-    jbang org.apache.camel.karavan:karavan-installer:4.4.0 --install-gitea 
--node-port=30777
-    ```
+6. Set Secrets for Git Repository and Container Image Registry connections in 
`secrets.yaml`
 
-6. Get karavan service URL
+6. Install Karavan using kubectl
     ```
-    minikube service karavan --url --namespace karavan
+    kubectl create namespace karavan
+    kubectl apply -k .
     ```
-   Use karavan URL to connect to the application
-
-
-### Install parameters
-
-    `--namespace` - Namespace
-    `--node-port` - Node port
-    `--yaml` - Create YAML file. Do not apply
-    `--file` - YAML file name, defaultValue = `karavan.yaml`
-    `--openshift` - Create files for OpenShift
-
-    `--git-repository` - Git repository
-    `--git-username` - Git username
-    `--git-password` - Git password
-    `--git-branch` - Git branch
-    `--install-gitea` - Install Gitea (for demo purposes), defaultValue = 
`false`
-            
-    `--image-registry` - Image registry
-    `--image-group` - Image group, defaultValue = `karavan`
-    `--image-registry-username` - Image registry username
-    `--image-registry-password` - Image registry password
\ No newline at end of file
diff --git a/docs/install/karavan-docker/docker-compose-gitea.yaml 
b/docs/install/karavan-docker/docker-compose-gitea.yaml
index 38d741f7..d6922bf3 100644
--- a/docs/install/karavan-docker/docker-compose-gitea.yaml
+++ b/docs/install/karavan-docker/docker-compose-gitea.yaml
@@ -4,7 +4,7 @@ services:
 
   karavan:
     container_name: karavan
-    image: marat/karavan:4.4.0
+    image: ghcr.io/apache/camel-karavan:4.4.0
     ports:
       - "8080:8080"
     environment:
diff --git a/docs/install/karavan-kubernetes/deployment.yaml 
b/docs/install/karavan-kubernetes/deployment.yaml
index 1f75508b..cb2187a3 100644
--- a/docs/install/karavan-kubernetes/deployment.yaml
+++ b/docs/install/karavan-kubernetes/deployment.yaml
@@ -30,25 +30,46 @@ spec:
             secretKeyRef:
               key: "karavan.git.repository"
               name: "karavan"
-              optional: false
         - name: "karavan.git.username"
           valueFrom:
             secretKeyRef:
               key: "karavan.git.username"
               name: "karavan"
-              optional: false
         - name: "karavan.git.password"
           valueFrom:
             secretKeyRef:
               key: "karavan.git.password"
               name: "karavan"
-              optional: false  
         - name: "karavan.git.branch"
           valueFrom:
             secretKeyRef:
               key: "karavan.git.branch"
               name: "karavan"
-              optional: false  
+        - name: "karavan.keycloak.url"
+          valueFrom:
+            secretKeyRef:
+              key: "karavan.keycloak.url"
+              name: "karavan"
+        - name: "karavan.keycloak.realm"
+          valueFrom:
+            secretKeyRef:
+              key: "karavan.keycloak.realm"
+              name: "karavan"
+        - name: "karavan.keycloak.frontend.clientId"
+          valueFrom:
+            secretKeyRef:
+              key: "karavan.keycloak.frontend.clientId"
+              name: "karavan"
+        - name: "karavan.keycloak.backend.clientId"
+          valueFrom:
+            secretKeyRef:
+              key: "karavan.keycloak.backend.clientId"
+              name: "karavan"
+        - name: "karavan.keycloak.backend.secret"
+          valueFrom:
+            secretKeyRef:
+              key: "karavan.keycloak.backend.secret"
+              name: "karavan"
         - name: "KUBERNETES_NAMESPACE"
           valueFrom:
             fieldRef:
diff --git a/docs/install/karavan-kubernetes/kustomization.yaml 
b/docs/install/karavan-kubernetes/kustomization.yaml
index cda61867..488d20e7 100644
--- a/docs/install/karavan-kubernetes/kustomization.yaml
+++ b/docs/install/karavan-kubernetes/kustomization.yaml
@@ -5,6 +5,7 @@ commonLabels:
   app.kubernetes.io/part-of: "karavan"
   app.kubernetes.io/name: "karavan"
   app.kubernetes.io/version: "4.4.0"
+namespace: "karavan"
 resources:
   - secret.yaml
   - role.yaml
@@ -12,4 +13,12 @@ resources:
   - role-binding.yaml
   - deployment.yaml
   - service.yaml
-namespace: "karavan"
\ No newline at end of file
+
+# Replace secret from.env if required
+secretGenerator:
+- name: karavan
+  behavior: replace
+  options:
+      disableNameSuffixHash: true
+  envs:
+    - .env
\ No newline at end of file
diff --git a/docs/install/karavan-kubernetes/secret.yaml 
b/docs/install/karavan-kubernetes/secret.yaml
index f2722533..0702409f 100644
--- a/docs/install/karavan-kubernetes/secret.yaml
+++ b/docs/install/karavan-kubernetes/secret.yaml
@@ -9,11 +9,11 @@ stringData:
   karavan.keycloak.frontend.clientId: "karavan"
   karavan.keycloak.backend.clientId: "karavan"
   karavan.keycloak.backend.secret: "secret"
-  karavan.git.repository: "http://gitea:3000/karavan/karavan.git";
+  karavan.git.repository: "http://reporitory/karavan/karavan.git";
   karavan.git.username: "karavan"
   karavan.git.password: "karavan"
   karavan.git.branch: "main"
   karavan.container-image.registry: "registry:5000"
   karavan.container-image.group: "karavan"
   karavan.container-image.registry-username: 
-  karavan.container-image.registry-password=:
+  karavan.container-image.registry-password:
diff --git a/karavan-app/pom.xml b/karavan-app/pom.xml
index 6cbb949b..29990468 100644
--- a/karavan-app/pom.xml
+++ b/karavan-app/pom.xml
@@ -33,24 +33,15 @@
         
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
         
<quarkus.platform.artifact-id>quarkus-bom</quarkus.platform.artifact-id>
         
<quarkus.platform.group-id>io.quarkus.platform</quarkus.platform.group-id>
-        <quarkus.platform.version>3.6.4</quarkus.platform.version>
+        <quarkus.platform.version>3.7.4</quarkus.platform.version>
         <camel.version>4.4.0</camel.version>
-        <camel-kamelet.version>4.3.0</camel-kamelet.version>
+        <camel-kamelet.version>4.4.0</camel-kamelet.version>
         <surefire-plugin.version>3.1.0</surefire-plugin.version>
         <jgit.version>3.0.6</jgit.version>
-        <quinoa.version>2.3.1</quinoa.version>
+        <quinoa.version>2.3.4</quinoa.version>
         <resources-plugin.version>3.3.0</resources-plugin.version>
 
-        <picocli.version>4.7.3</picocli.version>
-        <log4j-version>2.20.0</log4j-version>
-        <slf4j-api-version>2.0.6</slf4j-api-version>
-        <log4j2-version>2.20.0</log4j2-version>
-
-        <docker-java.version>3.3.4</docker-java.version>
-
-        <maven-shade-plugin.version>3.4.1</maven-shade-plugin.version>
-        <maven-jar-plugin.version>3.3.0</maven-jar-plugin.version>
-        <quarkus-sdk.version>5.1.1</quarkus-sdk.version>
+        <docker-java.version>3.3.5</docker-java.version>
     </properties>
 
     <dependencyManagement>
diff --git 
a/karavan-app/src/main/java/org/apache/camel/karavan/kubernetes/KubernetesService.java
 
b/karavan-app/src/main/java/org/apache/camel/karavan/kubernetes/KubernetesService.java
index be2c8f97..4941c4e0 100644
--- 
a/karavan-app/src/main/java/org/apache/camel/karavan/kubernetes/KubernetesService.java
+++ 
b/karavan-app/src/main/java/org/apache/camel/karavan/kubernetes/KubernetesService.java
@@ -531,7 +531,7 @@ public class KubernetesService implements HealthCheck {
                         .withLabels(labels)
                         .endMetadata()
                         .withNewSpec()
-                        .withResources(new 
ResourceRequirementsBuilder().withRequests(Map.of("storage", new 
Quantity("2Gi"))).build())
+                        .withResources(new 
VolumeResourceRequirementsBuilder().withRequests(Map.of("storage", new 
Quantity("2Gi"))).build())
                         .withVolumeMode("Filesystem")
                         .withAccessModes("ReadWriteOnce")
                         .endSpec()
diff --git 
a/karavan-app/src/main/java/org/apache/camel/karavan/service/ProjectService.java
 
b/karavan-app/src/main/java/org/apache/camel/karavan/service/ProjectService.java
index 594e9f46..7acf1b52 100644
--- 
a/karavan-app/src/main/java/org/apache/camel/karavan/service/ProjectService.java
+++ 
b/karavan-app/src/main/java/org/apache/camel/karavan/service/ProjectService.java
@@ -39,6 +39,7 @@ import 
org.apache.camel.karavan.validation.project.ProjectModifyValidator;
 import org.apache.commons.lang3.StringUtils;
 import org.eclipse.jgit.revwalk.RevCommit;
 import org.eclipse.microprofile.config.inject.ConfigProperty;
+import org.eclipse.microprofile.faulttolerance.Retry;
 import org.eclipse.microprofile.health.HealthCheck;
 import org.eclipse.microprofile.health.HealthCheckResponse;
 import org.eclipse.microprofile.health.Readiness;
@@ -271,6 +272,7 @@ public class ProjectService implements HealthCheck {
         return codeService.getProjectPort(projectId);
     }
 
+    @Retry(maxRetries = 20, delay = 3000)
     public void tryStart() throws Exception {
         if (karavanCacheService.isReady() && gitService.checkGit()) {
             if (karavanCacheService.getProjects().isEmpty()) {

Reply via email to