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