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 7abc5ef1 m2
7abc5ef1 is described below

commit 7abc5ef16ffd9eca13033e94c27a8944dc87a45d
Author: Marat Gubaidullin <[email protected]>
AuthorDate: Mon Sep 16 16:54:02 2024 -0400

    m2
---
 .../camel/karavan/api/AbstractSseResource.java     | 43 ----------------------
 .../camel/karavan/docker/DockerForKaravan.java     | 14 +++++--
 .../karavan/kubernetes/KubernetesService.java      |  9 ++---
 .../src/main/resources/application.properties      |  1 -
 4 files changed, 14 insertions(+), 53 deletions(-)

diff --git 
a/karavan-app/src/main/java/org/apache/camel/karavan/api/AbstractSseResource.java
 
b/karavan-app/src/main/java/org/apache/camel/karavan/api/AbstractSseResource.java
deleted file mode 100644
index 49f95dfb..00000000
--- 
a/karavan-app/src/main/java/org/apache/camel/karavan/api/AbstractSseResource.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.karavan.api;
-
-import io.vertx.mutiny.core.eventbus.EventBus;
-import jakarta.inject.Inject;
-import jakarta.ws.rs.sse.SseEventSink;
-
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-abstract public class AbstractSseResource {
-
-    @Inject
-    EventBus bus;
-
-    protected final Map<String, SseEventSink> sinkMap = new 
ConcurrentHashMap<>();
-
-    protected void sinkCleanup(String service, String username, SseEventSink 
eventSink) {
-        String key = service + ":" + username;
-        if (sinkMap.containsKey(key)) {
-            var sink = sinkMap.get(key);
-            if (!sink.isClosed()) {
-                sink.close();
-            }
-        }
-        sinkMap.put(key, eventSink);
-    }
-}
\ No newline at end of file
diff --git 
a/karavan-app/src/main/java/org/apache/camel/karavan/docker/DockerForKaravan.java
 
b/karavan-app/src/main/java/org/apache/camel/karavan/docker/DockerForKaravan.java
index 8b59d527..a1804dd9 100644
--- 
a/karavan-app/src/main/java/org/apache/camel/karavan/docker/DockerForKaravan.java
+++ 
b/karavan-app/src/main/java/org/apache/camel/karavan/docker/DockerForKaravan.java
@@ -18,19 +18,18 @@ package org.apache.camel.karavan.docker;
 
 import com.github.dockerjava.api.model.Container;
 import com.github.dockerjava.api.model.HealthCheck;
+import com.github.dockerjava.api.model.MountType;
 import com.github.dockerjava.api.model.RestartPolicy;
 import jakarta.enterprise.context.ApplicationScoped;
 import jakarta.inject.Inject;
-import org.apache.camel.karavan.model.DockerComposeService;
-import org.apache.camel.karavan.model.DockerComposeVolume;
-import org.apache.camel.karavan.model.PodContainerStatus;
-import org.apache.camel.karavan.model.Project;
+import org.apache.camel.karavan.model.*;
 import org.eclipse.microprofile.config.inject.ConfigProperty;
 import org.jboss.logging.Logger;
 
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import java.util.Optional;
 
 import static org.apache.camel.karavan.KaravanConstants.*;
 import static 
org.apache.camel.karavan.service.CodeService.BUILD_SCRIPT_FILENAME;
@@ -43,6 +42,9 @@ public class DockerForKaravan {
     @ConfigProperty(name = DEVMODE_IMAGE)
     String devmodeImage;
 
+    @ConfigProperty(name = "karavan.devmode.createm2", defaultValue = "false")
+    Optional<Boolean> createM2;
+
     @Inject
     DockerService dockerService;
 
@@ -66,6 +68,10 @@ public class DockerForKaravan {
             env.add(ENV_VAR_JBANG_OPTIONS + "=" + jBangOptions);
         }
 
+        if (createM2.orElse(false)) {
+            compose.getVolumes().add(new 
DockerComposeVolume(MountType.VOLUME.name(), projectId+ "-m2-repository", 
"/karavan/.m2/repository"));
+        }
+
         var imageName = projectDevmodeImage != null ? projectDevmodeImage : 
devmodeImage;
 
         return dockerService.createContainer(projectId,
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 6cdba772..b5e5cba8 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
@@ -23,7 +23,6 @@ import io.fabric8.kubernetes.client.KubernetesClientBuilder;
 import io.fabric8.kubernetes.client.dsl.LogWatch;
 import io.fabric8.kubernetes.client.utils.Serialization;
 import io.quarkus.runtime.LaunchMode;
-import io.quarkus.runtime.configuration.ConfigUtils;
 import io.smallrye.mutiny.tuples.Tuple2;
 import jakarta.enterprise.context.ApplicationScoped;
 import jakarta.enterprise.inject.Default;
@@ -68,8 +67,8 @@ public class KubernetesService {
     @ConfigProperty(name = "karavan.devmode.service.account")
     String devModeServiceAccount;
 
-    @ConfigProperty(name = "karavan.devmode.create-pvc")
-    Boolean devmodePVC;
+    @ConfigProperty(name = "karavan.devmode.createm2", defaultValue = "false")
+    Optional<Boolean> devmodePVC;
 
     @ConfigProperty(name = "karavan.builder.service.account")
     String builderServiceAccount;
@@ -328,7 +327,7 @@ public class KubernetesService {
         Map<String, String> labels = getLabels(name, project, 
PodContainerStatus.ContainerType.devmode);
 
         try (KubernetesClient client = kubernetesClient()) {
-            if (devmodePVC) {
+            if (devmodePVC.orElse(false)) {
                 createPVC(name, labels);
             }
             Pod old = 
client.pods().inNamespace(getNamespace()).withName(name).get();
@@ -419,7 +418,7 @@ public class KubernetesService {
         podSpec.setContainers(List.of(container));
         podSpec.setRestartPolicy("Never");
         podSpec.setServiceAccount(devModeServiceAccount);
-        if (devmodePVC) {
+        if (devmodePVC.orElse(false)) {
             podSpec.getVolumes().add(new 
VolumeBuilder().withName(name).withNewPersistentVolumeClaim(name, 
false).build());
         }
 
diff --git a/karavan-app/src/main/resources/application.properties 
b/karavan-app/src/main/resources/application.properties
index 9b5a0a35..2498a9a6 100644
--- a/karavan-app/src/main/resources/application.properties
+++ b/karavan-app/src/main/resources/application.properties
@@ -25,7 +25,6 @@ karavan.container.statistics.interval=10s
 # karavan.container.statistics.interval should be off in kubernetes
 
 karavan.devmode.image=ghcr.io/apache/camel-karavan-devmode:4.8.0
-karavan.devmode.create-pvc=false
 karavan.devmode.service.account=karavan
 karavan.builder.service.account=karavan
 karavan.secret.name=karavan

Reply via email to