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 2023/07/31 21:15:37 UTC
[camel-karavan] branch main updated: Fixes for #834
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 ce40cb2a Fixes for #834
ce40cb2a is described below
commit ce40cb2aca6dc97f163697378cf82f1fddb2a5db
Author: Marat Gubaidullin <ma...@gmail.com>
AuthorDate: Mon Jul 31 17:15:26 2023 -0400
Fixes for #834
---
karavan-web/karavan-app/pom.xml | 6 +-
.../src/main/docker/Dockerfile.distroless | 2 +-
.../org/apache/camel/karavan/api/AuthResource.java | 12 ++--
.../camel/karavan/api/ComponentResources.java | 10 +--
.../camel/karavan/api/ConfigurationResource.java | 12 ++--
.../apache/camel/karavan/api/DevModeResource.java | 8 +--
.../camel/karavan/api/InfrastructureResource.java | 8 +--
.../apache/camel/karavan/api/KameletResources.java | 10 +--
.../apache/camel/karavan/api/LogWatchResource.java | 20 +++---
.../camel/karavan/api/ProjectFileResource.java | 20 +++---
.../camel/karavan/api/ProjectGitResource.java | 16 ++---
.../apache/camel/karavan/api/ProjectResource.java | 6 +-
.../org/apache/camel/karavan/api/SseResource.java | 71 ----------------------
.../apache/camel/karavan/api/StatusResource.java | 14 ++---
.../apache/camel/karavan/api/UsersResource.java | 10 +--
.../camel/karavan/docker/DockerEventListener.java | 4 +-
.../apache/camel/karavan/docker/DockerService.java | 8 +--
.../camel/karavan/docker/DockerServiceUtils.java | 2 +-
.../karavan/kubernetes/KubernetesService.java | 8 +--
.../apache/camel/karavan/service/AuthService.java | 2 +-
.../apache/camel/karavan/service/CamelService.java | 4 +-
.../apache/camel/karavan/service/CodeService.java | 11 ++--
.../apache/camel/karavan/service/EventService.java | 4 +-
.../apache/camel/karavan/service/GitService.java | 4 +-
.../camel/karavan/service/KaravanService.java | 6 +-
.../camel/karavan/service/ProjectService.java | 6 +-
.../camel/karavan/service/ScheduledService.java | 4 +-
.../apache/camel/karavan/shared/ConfigService.java | 4 +-
.../src/main/resources/application.properties | 4 +-
...arkus-org.apache.camel.AggregationStrategy.java | 4 +-
.../quarkus-org.apache.camel.Processor.java | 4 +-
karavan-web/karavan-headless/pom.xml | 2 +-
.../src/main/docker/Dockerfile.distroless | 2 +-
.../camel/karavan/headless/CamelService.java | 4 +-
.../camel/karavan/headless/EventService.java | 4 +-
.../camel/karavan/headless/HeadlessService.java | 7 +--
karavan-web/karavan-infinispan/pom.xml | 2 +-
.../karavan/infinispan/InfinispanService.java | 7 ++-
karavan-web/pom.xml | 8 +--
39 files changed, 136 insertions(+), 204 deletions(-)
diff --git a/karavan-web/karavan-app/pom.xml b/karavan-web/karavan-app/pom.xml
index 848d8da2..9c8e179b 100644
--- a/karavan-web/karavan-app/pom.xml
+++ b/karavan-web/karavan-app/pom.xml
@@ -21,7 +21,7 @@
<parent>
<groupId>org.apache.camel.karavan</groupId>
<artifactId>karavan-web</artifactId>
- <version>3.21.1-SNAPSHOT</version>
+ <version>4.0.0-RC2</version>
<relativePath>../pom.xml</relativePath>
</parent>
@@ -114,11 +114,13 @@
<groupId>com.github.docker-java</groupId>
<artifactId>docker-java-core</artifactId>
<version>${docker-java.version}</version>
+ <optional>false</optional>
</dependency>
<dependency>
<groupId>com.github.docker-java</groupId>
- <artifactId>docker-java-transport-httpclient5</artifactId>
+ <artifactId>docker-java-transport-zerodep</artifactId>
<version>${docker-java.version}</version>
+ <optional>false</optional>
</dependency>
<!-- Code generator -->
<dependency>
diff --git a/karavan-web/karavan-app/src/main/docker/Dockerfile.distroless b/karavan-web/karavan-app/src/main/docker/Dockerfile.distroless
index 2e9ab688..87155a0e 100644
--- a/karavan-web/karavan-app/src/main/docker/Dockerfile.distroless
+++ b/karavan-web/karavan-app/src/main/docker/Dockerfile.distroless
@@ -12,7 +12,7 @@
# 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.
-FROM gcr.io/distroless/java:11
+FROM gcr.io/distroless/java:17
COPY target/*-runner.jar /deployments/karavan.jar
WORKDIR /deployments
CMD ["karavan.jar"]
\ No newline at end of file
diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/AuthResource.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/AuthResource.java
index d7ff2139..ad4b6416 100644
--- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/AuthResource.java
+++ b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/AuthResource.java
@@ -18,12 +18,12 @@ package org.apache.camel.karavan.api;
import org.apache.camel.karavan.service.AuthService;
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
@Path("/public")
public class AuthResource {
diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/ComponentResources.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/ComponentResources.java
index 6e9e758c..a1ba443d 100644
--- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/ComponentResources.java
+++ b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/ComponentResources.java
@@ -18,11 +18,11 @@ package org.apache.camel.karavan.api;
import org.apache.camel.karavan.service.CodeService;
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
@Path("/api/component")
public class ComponentResources {
diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/ConfigurationResource.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/ConfigurationResource.java
index b60449e4..a2c8dbcc 100644
--- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/ConfigurationResource.java
+++ b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/ConfigurationResource.java
@@ -18,12 +18,12 @@ package org.apache.camel.karavan.api;
import org.apache.camel.karavan.shared.ConfigService;
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
@Path("/api/configuration")
public class ConfigurationResource {
diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/DevModeResource.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/DevModeResource.java
index 8466fe42..3db4e727 100644
--- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/DevModeResource.java
+++ b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/DevModeResource.java
@@ -29,10 +29,10 @@ import org.apache.camel.karavan.shared.ConfigService;
import org.apache.camel.karavan.shared.EventType;
import org.eclipse.microprofile.config.inject.ConfigProperty;
-import javax.inject.Inject;
-import javax.ws.rs.*;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.*;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
import java.util.Objects;
import static org.apache.camel.karavan.shared.EventType.CONTAINER_STATUS;
diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/InfrastructureResource.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/InfrastructureResource.java
index 9a6a567f..478205b5 100644
--- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/InfrastructureResource.java
+++ b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/InfrastructureResource.java
@@ -33,10 +33,10 @@ import org.apache.camel.karavan.shared.ConfigService;
import org.eclipse.microprofile.config.inject.ConfigProperty;
import org.jboss.logging.Logger;
-import javax.inject.Inject;
-import javax.ws.rs.*;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.*;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
import java.util.Comparator;
import java.util.List;
import java.util.Objects;
diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/KameletResources.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/KameletResources.java
index ac2b8a67..95c8594d 100644
--- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/KameletResources.java
+++ b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/KameletResources.java
@@ -22,11 +22,11 @@ import org.apache.camel.karavan.infinispan.model.ProjectFile;
import org.apache.camel.karavan.service.CodeService;
import org.yaml.snakeyaml.Yaml;
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/LogWatchResource.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/LogWatchResource.java
index 40cbc79a..91e862b4 100644
--- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/LogWatchResource.java
+++ b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/LogWatchResource.java
@@ -28,16 +28,16 @@ import org.eclipse.microprofile.context.ManagedExecutor;
import org.eclipse.microprofile.context.ThreadContext;
import org.jboss.logging.Logger;
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.SecurityContext;
-import javax.ws.rs.sse.Sse;
-import javax.ws.rs.sse.SseEventSink;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.sse.Sse;
+import jakarta.ws.rs.sse.SseEventSink;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/ProjectFileResource.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/ProjectFileResource.java
index 638024ff..bd1ade90 100644
--- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/ProjectFileResource.java
+++ b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/ProjectFileResource.java
@@ -20,16 +20,16 @@ import org.apache.camel.karavan.infinispan.InfinispanService;
import org.apache.camel.karavan.infinispan.model.ProjectFile;
import org.apache.camel.karavan.service.CodeService;
-import javax.inject.Inject;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
import java.net.URLDecoder;
import java.nio.charset.StandardCharsets;
import java.time.Instant;
diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/ProjectGitResource.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/ProjectGitResource.java
index e35386b0..99588861 100644
--- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/ProjectGitResource.java
+++ b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/ProjectGitResource.java
@@ -19,14 +19,14 @@ package org.apache.camel.karavan.api;
import org.apache.camel.karavan.infinispan.model.Project;
import org.apache.camel.karavan.service.ProjectService;
-import javax.inject.Inject;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
import java.util.HashMap;
@Path("/api/git")
diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/ProjectResource.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/ProjectResource.java
index 0f1f2e71..262478cd 100644
--- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/ProjectResource.java
+++ b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/ProjectResource.java
@@ -22,9 +22,9 @@ import org.apache.camel.karavan.infinispan.model.Project;
import org.apache.camel.karavan.infinispan.model.ProjectFile;
import org.apache.camel.karavan.service.CodeService;
import org.apache.camel.karavan.service.GitService;
-import javax.inject.Inject;
-import javax.ws.rs.*;
-import javax.ws.rs.core.MediaType;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.*;
+import jakarta.ws.rs.core.MediaType;
import java.net.URLDecoder;
import java.nio.charset.StandardCharsets;
import java.util.Comparator;
diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/SseResource.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/SseResource.java
deleted file mode 100644
index 025fdf70..00000000
--- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/SseResource.java
+++ /dev/null
@@ -1,71 +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.quarkus.scheduler.Scheduled;
-import io.smallrye.mutiny.Multi;
-import io.smallrye.mutiny.Uni;
-import io.smallrye.mutiny.operators.multi.multicast.MultiConnectAfter;
-import io.vertx.core.json.JsonObject;
-import io.vertx.mutiny.core.eventbus.EventBus;
-import io.vertx.mutiny.core.eventbus.Message;
-import org.eclipse.microprofile.reactive.messaging.Channel;
-import org.eclipse.microprofile.reactive.messaging.Emitter;
-import org.eclipse.microprofile.reactive.messaging.OnOverflow;
-import org.jboss.logging.Logger;
-import org.jboss.resteasy.reactive.RestStreamElementType;
-import org.reactivestreams.Publisher;
-
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.sse.Sse;
-import javax.ws.rs.sse.SseEventSink;
-import java.util.Date;
-import java.util.Objects;
-
-@Path("/api/sse")
-public class SseResource {
-
- private static final Logger LOGGER = Logger.getLogger(SseResource.class.getName());
-
- @Inject
- @Channel("log")
- Publisher<JsonObject> publisher;
-
- @Inject
- @Channel("log")
- @OnOverflow(value = OnOverflow.Strategy.BUFFER, bufferSize = 1000)
- Emitter<JsonObject> emitter;
-
-
- @GET
- @Produces(MediaType.SERVER_SENT_EVENTS)
- @RestStreamElementType("text/plain")
- @Path("/{name}")
- public Publisher<JsonObject> stream(@PathParam("name") String name,
- @Context SseEventSink eventSink,
- @Context Sse sse) {
- System.out.println("----------");
- System.out.println(name);
- return Multi.createFrom().publisher(publisher).filter(e -> Objects.equals(e.getString("name"), name));
- }
-}
\ No newline at end of file
diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/StatusResource.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/StatusResource.java
index 8e8d9856..3a584f36 100644
--- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/StatusResource.java
+++ b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/StatusResource.java
@@ -21,13 +21,13 @@ import org.apache.camel.karavan.infinispan.InfinispanService;
import org.apache.camel.karavan.infinispan.model.*;
import org.jboss.logging.Logger;
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
import java.util.List;
import java.util.Optional;
diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/UsersResource.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/UsersResource.java
index a3d3e952..55cdabc0 100644
--- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/UsersResource.java
+++ b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/UsersResource.java
@@ -1,10 +1,10 @@
package org.apache.camel.karavan.api;
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
import io.quarkus.oidc.IdToken;
import org.eclipse.microprofile.jwt.JsonWebToken;
diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/docker/DockerEventListener.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/docker/DockerEventListener.java
index 06fcae8a..2508aa96 100644
--- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/docker/DockerEventListener.java
+++ b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/docker/DockerEventListener.java
@@ -12,8 +12,8 @@ import org.apache.camel.karavan.infinispan.model.ContainerStatus;
import org.eclipse.microprofile.config.inject.ConfigProperty;
import org.jboss.logging.Logger;
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
import java.io.Closeable;
import java.io.IOException;
import java.time.Instant;
diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/docker/DockerService.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/docker/DockerService.java
index d8940e4c..103c04c3 100644
--- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/docker/DockerService.java
+++ b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/docker/DockerService.java
@@ -27,16 +27,16 @@ import com.github.dockerjava.core.DefaultDockerClientConfig;
import com.github.dockerjava.core.DockerClientConfig;
import com.github.dockerjava.core.DockerClientImpl;
import com.github.dockerjava.core.InvocationBuilder;
-import com.github.dockerjava.httpclient5.ApacheDockerHttpClient;
import com.github.dockerjava.transport.DockerHttpClient;
+import com.github.dockerjava.zerodep.ZerodepDockerHttpClient;
import io.vertx.core.eventbus.EventBus;
import org.apache.camel.karavan.docker.model.DevService;
import org.apache.camel.karavan.infinispan.model.ContainerStatus;
import org.eclipse.microprofile.config.inject.ConfigProperty;
import org.jboss.logging.Logger;
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
import java.io.IOException;
import java.time.Instant;
import java.util.*;
@@ -356,7 +356,7 @@ public class DockerService extends DockerServiceUtils {
private DockerHttpClient getDockerHttpClient() {
DockerClientConfig config = getDockerClientConfig();
- return new ApacheDockerHttpClient.Builder()
+ return new ZerodepDockerHttpClient.Builder()
.dockerHost(config.getDockerHost())
.sslConfig(config.getSSLConfig())
.maxConnections(100)
diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/docker/DockerServiceUtils.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/docker/DockerServiceUtils.java
index 748c17bc..3d7cb8e3 100644
--- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/docker/DockerServiceUtils.java
+++ b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/docker/DockerServiceUtils.java
@@ -26,7 +26,7 @@ import org.apache.camel.karavan.infinispan.model.ContainerStatus;
import org.apache.camel.karavan.service.CodeService;
import org.yaml.snakeyaml.Yaml;
-import javax.inject.Inject;
+import jakarta.inject.Inject;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/kubernetes/KubernetesService.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/kubernetes/KubernetesService.java
index 1e83cac7..5352aa7a 100644
--- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/kubernetes/KubernetesService.java
+++ b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/kubernetes/KubernetesService.java
@@ -40,10 +40,10 @@ import org.eclipse.microprofile.health.HealthCheckResponse;
import org.eclipse.microprofile.health.Readiness;
import org.jboss.logging.Logger;
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.inject.Default;
-import javax.enterprise.inject.Produces;
-import javax.inject.Inject;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.inject.Default;
+import jakarta.enterprise.inject.Produces;
+import jakarta.inject.Inject;
import java.util.*;
import java.util.stream.Collectors;
diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/service/AuthService.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/service/AuthService.java
index e3b489fe..ae56f23f 100644
--- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/service/AuthService.java
+++ b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/service/AuthService.java
@@ -19,7 +19,7 @@ package org.apache.camel.karavan.service;
import org.eclipse.microprofile.config.ConfigProvider;
import org.jboss.logging.Logger;
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.ApplicationScoped;
import java.net.MalformedURLException;
import java.util.Map;
diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/service/CamelService.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/service/CamelService.java
index 884ff168..d3f06f5d 100644
--- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/service/CamelService.java
+++ b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/service/CamelService.java
@@ -31,8 +31,8 @@ import org.eclipse.microprofile.config.inject.ConfigProperty;
import org.eclipse.microprofile.faulttolerance.CircuitBreaker;
import org.jboss.logging.Logger;
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
import java.util.Arrays;
import java.util.Objects;
import java.util.concurrent.ExecutionException;
diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/service/CodeService.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/service/CodeService.java
index b16c402d..f1125b92 100644
--- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/service/CodeService.java
+++ b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/service/CodeService.java
@@ -22,9 +22,11 @@ import io.apicurio.datamodels.Library;
import io.apicurio.datamodels.openapi.models.OasDocument;
import io.quarkus.qute.Engine;
import io.quarkus.qute.Template;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
import org.apache.camel.CamelContext;
import org.apache.camel.generator.openapi.RestDslGenerator;
-import org.apache.camel.impl.lw.LightweightCamelContext;
+import org.apache.camel.impl.DefaultCamelContext;
import org.apache.camel.karavan.api.KameletResources;
import org.apache.camel.karavan.infinispan.InfinispanService;
import org.apache.camel.karavan.infinispan.model.GitRepo;
@@ -33,11 +35,10 @@ import org.apache.camel.karavan.infinispan.model.Project;
import org.apache.camel.karavan.infinispan.model.ProjectFile;
import org.apache.camel.karavan.kubernetes.KubernetesService;
import org.jboss.logging.Logger;
+import org.yaml.snakeyaml.LoaderOptions;
import org.yaml.snakeyaml.Yaml;
import org.yaml.snakeyaml.constructor.SafeConstructor;
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.InputStream;
@@ -157,7 +158,7 @@ public class CodeService {
public String generate(String fileName, String openApi, boolean generateRoutes) throws Exception {
final JsonNode node = fileName.endsWith("json") ? readNodeFromJson(openApi) : readNodeFromYaml(openApi);
OasDocument document = (OasDocument) Library.readDocument(node);
- try (CamelContext context = new LightweightCamelContext()) {
+ try (CamelContext context = new DefaultCamelContext()) {
return RestDslGenerator.toYaml(document).generate(context, generateRoutes);
}
}
@@ -169,7 +170,7 @@ public class CodeService {
private JsonNode readNodeFromYaml(String openApi) throws FileNotFoundException {
final ObjectMapper mapper = new ObjectMapper();
- Yaml loader = new Yaml(new SafeConstructor());
+ Yaml loader = new Yaml(new SafeConstructor(new LoaderOptions()));
Map map = loader.load(openApi);
return mapper.convertValue(map, JsonNode.class);
}
diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/service/EventService.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/service/EventService.java
index dad190c6..26fabfb2 100644
--- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/service/EventService.java
+++ b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/service/EventService.java
@@ -14,8 +14,8 @@ import org.apache.camel.karavan.shared.EventType;
import org.eclipse.microprofile.config.inject.ConfigProperty;
import org.jboss.logging.Logger;
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
import java.util.Map;
import java.util.Objects;
diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/service/GitService.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/service/GitService.java
index c1e1e385..d7d85a13 100644
--- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/service/GitService.java
+++ b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/service/GitService.java
@@ -45,8 +45,8 @@ import org.eclipse.jgit.treewalk.filter.TreeFilter;
import org.eclipse.microprofile.config.ConfigProvider;
import org.jboss.logging.Logger;
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
import java.io.File;
import java.io.IOException;
import java.net.URISyntaxException;
diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/service/KaravanService.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/service/KaravanService.java
index ee801b94..b2d3b57f 100644
--- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/service/KaravanService.java
+++ b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/service/KaravanService.java
@@ -27,9 +27,9 @@ import org.apache.camel.karavan.shared.ConfigService;
import org.apache.camel.karavan.shared.EventType;
import org.jboss.logging.Logger;
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.event.Observes;
-import javax.inject.Inject;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.event.Observes;
+import jakarta.inject.Inject;
import java.io.IOException;
@ApplicationScoped
diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/service/ProjectService.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/service/ProjectService.java
index 93ec231f..ca23c82a 100644
--- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/service/ProjectService.java
+++ b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/service/ProjectService.java
@@ -29,9 +29,9 @@ import org.eclipse.microprofile.health.HealthCheckResponse;
import org.eclipse.microprofile.health.Readiness;
import org.jboss.logging.Logger;
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.inject.Default;
-import javax.inject.Inject;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.inject.Default;
+import jakarta.inject.Inject;
import java.time.Instant;
import java.util.List;
import java.util.Objects;
diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/service/ScheduledService.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/service/ScheduledService.java
index a4ba7878..296f9fbe 100644
--- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/service/ScheduledService.java
+++ b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/service/ScheduledService.java
@@ -27,8 +27,8 @@ import org.apache.camel.karavan.shared.EventType;
import org.eclipse.microprofile.config.inject.ConfigProperty;
import org.jboss.logging.Logger;
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
import java.util.List;
import java.util.stream.Collectors;
diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/shared/ConfigService.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/shared/ConfigService.java
index e21bb8e1..6aa3591b 100644
--- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/shared/ConfigService.java
+++ b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/shared/ConfigService.java
@@ -21,8 +21,8 @@ import io.quarkus.runtime.configuration.ConfigUtils;
import io.quarkus.runtime.configuration.ProfileManager;
import org.eclipse.microprofile.config.inject.ConfigProperty;
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.event.Observes;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.event.Observes;
import java.util.List;
import java.util.Objects;
diff --git a/karavan-web/karavan-app/src/main/resources/application.properties b/karavan-web/karavan-app/src/main/resources/application.properties
index da92480c..b726e933 100644
--- a/karavan-web/karavan-app/src/main/resources/application.properties
+++ b/karavan-web/karavan-app/src/main/resources/application.properties
@@ -6,8 +6,8 @@ karavan.runtimes=quarkus,spring-boot
karavan.camel.status.interval=off
karavan.container.status.interval=3s
karavan.container.infinispan.interval=5s
-karavan.devmode.image=ghcr.io/apache/camel-karavan-runner:3.21.1-snapshot
-karavan.headless.image=entropy1/karavan-headless:3.21.1-SNAPSHOT
+karavan.devmode.image=ghcr.io/apache/camel-karavan-runner:4.0.0-RC2
+karavan.headless.image=entropy1/karavan-headless:4.0.0-RC2
# Git repository Configuration
karavan.git.repository=${GIT_REPOSITORY}
diff --git a/karavan-web/karavan-app/src/main/resources/snippets/quarkus-org.apache.camel.AggregationStrategy.java b/karavan-web/karavan-app/src/main/resources/snippets/quarkus-org.apache.camel.AggregationStrategy.java
index 4e45fcd6..65b68158 100644
--- a/karavan-web/karavan-app/src/main/resources/snippets/quarkus-org.apache.camel.AggregationStrategy.java
+++ b/karavan-web/karavan-app/src/main/resources/snippets/quarkus-org.apache.camel.AggregationStrategy.java
@@ -2,8 +2,8 @@ import org.apache.camel.AggregationStrategy
;
import org.apache.camel.Exchange;
-import javax.inject.Named;
-import javax.inject.Singleton;
+import jakarta.inject.Named;
+import jakarta.inject.Singleton;
@Singleton
@Named("NAME")
diff --git a/karavan-web/karavan-app/src/main/resources/snippets/quarkus-org.apache.camel.Processor.java b/karavan-web/karavan-app/src/main/resources/snippets/quarkus-org.apache.camel.Processor.java
index 6b813234..3efb7c4f 100644
--- a/karavan-web/karavan-app/src/main/resources/snippets/quarkus-org.apache.camel.Processor.java
+++ b/karavan-web/karavan-app/src/main/resources/snippets/quarkus-org.apache.camel.Processor.java
@@ -1,8 +1,8 @@
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
-import javax.inject.Named;
-import javax.inject.Singleton;
+import jakarta.inject.Named;
+import jakarta.inject.Singleton;
@Singleton
@Named("NAME")
diff --git a/karavan-web/karavan-headless/pom.xml b/karavan-web/karavan-headless/pom.xml
index 9c1b5eb6..b877c720 100644
--- a/karavan-web/karavan-headless/pom.xml
+++ b/karavan-web/karavan-headless/pom.xml
@@ -21,7 +21,7 @@
<parent>
<groupId>org.apache.camel.karavan</groupId>
<artifactId>karavan-web</artifactId>
- <version>3.21.1-SNAPSHOT</version>
+ <version>4.0.0-RC2</version>
<relativePath>../pom.xml</relativePath>
</parent>
diff --git a/karavan-web/karavan-headless/src/main/docker/Dockerfile.distroless b/karavan-web/karavan-headless/src/main/docker/Dockerfile.distroless
index 98eef01f..8cc8ea15 100644
--- a/karavan-web/karavan-headless/src/main/docker/Dockerfile.distroless
+++ b/karavan-web/karavan-headless/src/main/docker/Dockerfile.distroless
@@ -12,7 +12,7 @@
# 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.
-FROM gcr.io/distroless/java@sha256:629d4fdc17eec821242d45497abcb88cc0442c47fd5748baa79d88dde7da3e2d
+FROM gcr.io/distroless/java17@sha256:052076466984fd56979c15a9c3b7433262b0ad9aae55bc0c53d1da8ffdd829c3
COPY target/*-runner.jar /deployments/karavan.jar
WORKDIR /deployments
CMD ["karavan.jar"]
\ No newline at end of file
diff --git a/karavan-web/karavan-headless/src/main/java/org/apache/camel/karavan/headless/CamelService.java b/karavan-web/karavan-headless/src/main/java/org/apache/camel/karavan/headless/CamelService.java
index 089ade28..b4951669 100644
--- a/karavan-web/karavan-headless/src/main/java/org/apache/camel/karavan/headless/CamelService.java
+++ b/karavan-web/karavan-headless/src/main/java/org/apache/camel/karavan/headless/CamelService.java
@@ -29,8 +29,8 @@ import org.eclipse.microprofile.config.inject.ConfigProperty;
import org.eclipse.microprofile.faulttolerance.CircuitBreaker;
import org.jboss.logging.Logger;
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
import java.util.Arrays;
import java.util.Objects;
import java.util.concurrent.ExecutionException;
diff --git a/karavan-web/karavan-headless/src/main/java/org/apache/camel/karavan/headless/EventService.java b/karavan-web/karavan-headless/src/main/java/org/apache/camel/karavan/headless/EventService.java
index acc2513e..533a0953 100644
--- a/karavan-web/karavan-headless/src/main/java/org/apache/camel/karavan/headless/EventService.java
+++ b/karavan-web/karavan-headless/src/main/java/org/apache/camel/karavan/headless/EventService.java
@@ -18,10 +18,10 @@ package org.apache.camel.karavan.headless;
import io.quarkus.vertx.ConsumeEvent;
import io.vertx.core.json.JsonObject;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
import org.apache.camel.karavan.infinispan.InfinispanService;
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
@ApplicationScoped
public class EventService {
diff --git a/karavan-web/karavan-headless/src/main/java/org/apache/camel/karavan/headless/HeadlessService.java b/karavan-web/karavan-headless/src/main/java/org/apache/camel/karavan/headless/HeadlessService.java
index ba2b805b..e822f800 100644
--- a/karavan-web/karavan-headless/src/main/java/org/apache/camel/karavan/headless/HeadlessService.java
+++ b/karavan-web/karavan-headless/src/main/java/org/apache/camel/karavan/headless/HeadlessService.java
@@ -18,13 +18,12 @@ package org.apache.camel.karavan.headless;
import io.quarkus.runtime.StartupEvent;
import io.quarkus.scheduler.Scheduled;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.event.Observes;
+import jakarta.inject.Inject;
import org.apache.camel.karavan.infinispan.InfinispanService;
import org.jboss.logging.Logger;
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.event.Observes;
-import javax.inject.Inject;
-
@ApplicationScoped
public class HeadlessService {
diff --git a/karavan-web/karavan-infinispan/pom.xml b/karavan-web/karavan-infinispan/pom.xml
index 3668bac4..66c1bb66 100644
--- a/karavan-web/karavan-infinispan/pom.xml
+++ b/karavan-web/karavan-infinispan/pom.xml
@@ -22,7 +22,7 @@
<parent>
<groupId>org.apache.camel.karavan</groupId>
<artifactId>karavan-web</artifactId>
- <version>3.21.1-SNAPSHOT</version>
+ <version>4.0.0-RC2</version>
<relativePath>../pom.xml</relativePath>
</parent>
diff --git a/karavan-web/karavan-infinispan/src/main/java/org/apache/camel/karavan/infinispan/InfinispanService.java b/karavan-web/karavan-infinispan/src/main/java/org/apache/camel/karavan/infinispan/InfinispanService.java
index a52ada10..934f3042 100644
--- a/karavan-web/karavan-infinispan/src/main/java/org/apache/camel/karavan/infinispan/InfinispanService.java
+++ b/karavan-web/karavan-infinispan/src/main/java/org/apache/camel/karavan/infinispan/InfinispanService.java
@@ -20,6 +20,9 @@ import io.quarkus.vertx.ConsumeEvent;
import io.smallrye.mutiny.tuples.Tuple2;
import io.vertx.core.eventbus.EventBus;
import io.vertx.core.json.JsonObject;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.inject.Default;
+import jakarta.inject.Inject;
import org.apache.camel.karavan.infinispan.model.*;
import org.eclipse.microprofile.config.inject.ConfigProperty;
import org.infinispan.client.hotrod.RemoteCache;
@@ -32,9 +35,7 @@ import org.infinispan.commons.marshall.ProtoStreamMarshaller;
import org.infinispan.query.dsl.QueryFactory;
import org.jboss.logging.Logger;
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.inject.Default;
-import javax.inject.Inject;
+
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
diff --git a/karavan-web/pom.xml b/karavan-web/pom.xml
index c95e87d1..56287116 100644
--- a/karavan-web/pom.xml
+++ b/karavan-web/pom.xml
@@ -6,7 +6,7 @@
<groupId>org.apache.camel.karavan</groupId>
<artifactId>karavan-web</artifactId>
- <version>3.21.1-SNAPSHOT</version>
+ <version>4.0.0-RC2</version>
<packaging>pom</packaging>
<properties>
@@ -21,10 +21,10 @@
<quarkus.platform.group-id>io.quarkus.platform</quarkus.platform.group-id>
<quarkus.platform.version>3.2.2.Final</quarkus.platform.version>
<camel-quarkus.version>3.2.2</camel-quarkus.version>
- <camel.version>4.0.0-RC2</camel.version>
+ <camel.version>4.0.0-RC1</camel.version>
<camel-kamelet.version>4.0.0-RC1</camel-kamelet.version>
<surefire-plugin.version>3.1.0</surefire-plugin.version>
- <tekton.version>6.3.1</tekton.version>
+ <tekton.version>6.7.2</tekton.version>
<jgit.version>2.3.2</jgit.version>
<quinoa.version>1.2.4</quinoa.version>
<resources-plugin.version>3.3.0</resources-plugin.version>
@@ -35,7 +35,7 @@
<slf4j-api-version>2.0.6</slf4j-api-version>
<log4j2-version>2.20.0</log4j2-version>
- <docker-java.version>3.2.13</docker-java.version>
+ <docker-java.version>3.3.2</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>