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/22 01:20:05 UTC

[camel-karavan] 03/05: karavan-infinispan #817

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 e93a16a316567939afb098ba172bf2131f2a97d4
Author: Marat Gubaidullin <ma...@gmail.com>
AuthorDate: Fri Jul 21 21:18:42 2023 -0400

    karavan-infinispan #817
---
 .../karavan-app/Dockerfile.legacy-jar.dockerignore |   5 -
 .../karavan-app/Dockerfile.multistage.dockerignore |   3 -
 .../src/main/docker/Dockerfile.legacy-jar          |  41 ---
 .../src/main/docker/Dockerfile.multistage          |  66 ----
 .../karavan/infinispan/InfinispanService.java      | 388 ---------------------
 .../karavan/infinispan/model/CamelStatus.java      |  81 -----
 .../camel/karavan/infinispan/model/CommitInfo.java |  53 ---
 .../karavan/infinispan/model/ContainerInfo.java    |  70 ----
 .../karavan/infinispan/model/ContainerStatus.java  | 141 --------
 .../karavan/infinispan/model/DeploymentStatus.java | 111 ------
 .../karavan/infinispan/model/DevModeStatus.java    |  78 -----
 .../camel/karavan/infinispan/model/GitConfig.java  |  48 ---
 .../camel/karavan/infinispan/model/GitRepo.java    |  49 ---
 .../karavan/infinispan/model/GitRepoFile.java      |  37 --
 .../camel/karavan/infinispan/model/GroupedKey.java |  72 ----
 .../karavan/infinispan/model/KaravanSchema.java    |  28 --
 .../karavan/infinispan/model/PipelineStatus.java   |  83 -----
 .../camel/karavan/infinispan/model/Project.java    | 125 -------
 .../karavan/infinispan/model/ProjectFile.java      |  71 ----
 .../karavan/infinispan/model/ServiceStatus.java    | 107 ------
 .../main/resources/cache/command-cache-config.xml  |   6 -
 .../src/main/resources/cache/data-cache-config.xml |   6 -
 .../camel/karavan/infinispan/DataGridTest.java     |  53 ---
 .../src/test/resources/application.properties      |  11 -
 .../karavan/infinispan/model/ContainerStatus.java  |  33 +-
 25 files changed, 5 insertions(+), 1761 deletions(-)

diff --git a/karavan-web/karavan-app/Dockerfile.legacy-jar.dockerignore b/karavan-web/karavan-app/Dockerfile.legacy-jar.dockerignore
deleted file mode 100644
index 94810d00..00000000
--- a/karavan-web/karavan-app/Dockerfile.legacy-jar.dockerignore
+++ /dev/null
@@ -1,5 +0,0 @@
-*
-!target/*-runner
-!target/*-runner.jar
-!target/lib/*
-!target/quarkus-app/*
\ No newline at end of file
diff --git a/karavan-web/karavan-app/Dockerfile.multistage.dockerignore b/karavan-web/karavan-app/Dockerfile.multistage.dockerignore
deleted file mode 100644
index 7e3ec665..00000000
--- a/karavan-web/karavan-app/Dockerfile.multistage.dockerignore
+++ /dev/null
@@ -1,3 +0,0 @@
-target
-karavan/src/main/webapp/build
-karavan/src/main/webapp/node_modules
\ No newline at end of file
diff --git a/karavan-web/karavan-app/src/main/docker/Dockerfile.legacy-jar b/karavan-web/karavan-app/src/main/docker/Dockerfile.legacy-jar
deleted file mode 100644
index ef0505cb..00000000
--- a/karavan-web/karavan-app/src/main/docker/Dockerfile.legacy-jar
+++ /dev/null
@@ -1,41 +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.
-FROM registry.access.redhat.com/ubi8/ubi-minimal:8.4 
-
-ARG JAVA_PACKAGE=java-11-openjdk-headless
-ARG RUN_JAVA_VERSION=1.3.8
-ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en'
-# Install java and the run-java script
-# Also set up permissions for user `1001`
-RUN microdnf install curl ca-certificates ${JAVA_PACKAGE} \
-    && microdnf update \
-    && microdnf clean all \
-    && mkdir /deployments \
-    && chown 1001 /deployments \
-    && chmod "g+rwX" /deployments \
-    && chown 1001:root /deployments \
-    && curl https://repo1.maven.org/maven2/io/fabric8/run-java-sh/${RUN_JAVA_VERSION}/run-java-sh-${RUN_JAVA_VERSION}-sh.sh -o /deployments/run-java.sh \
-    && chown 1001 /deployments/run-java.sh \
-    && chmod 540 /deployments/run-java.sh \
-    && echo "securerandom.source=file:/dev/urandom" >> /etc/alternatives/jre/conf/security/java.security
-
-# Configure the JAVA_OPTIONS, you can add -XshowSettings:vm to also display the heap size.
-ENV JAVA_OPTIONS="-Dquarkus.http.host=0.0.0.0 -Djava.util.logging.manager=org.jboss.logmanager.LogManager"
-COPY target/*-runner.jar /deployments/app.jar
-
-EXPOSE 8080
-USER 1001
-
-ENTRYPOINT [ "/app/run-java.sh" ]
diff --git a/karavan-web/karavan-app/src/main/docker/Dockerfile.multistage b/karavan-web/karavan-app/src/main/docker/Dockerfile.multistage
deleted file mode 100644
index 92f7f2fb..00000000
--- a/karavan-web/karavan-app/src/main/docker/Dockerfile.multistage
+++ /dev/null
@@ -1,66 +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.
-
-## Stage 1 : build with maven builder image with native capabilities
-FROM quay.io/quarkus/ubi-quarkus-native-image:22.3.0-java11 AS build-gen
-
-## rsync required for npm to build frontend
-USER root
-RUN microdnf install rsync
-
-## Copy code
-COPY --chown=quarkus:quarkus karavan-generator/mvnw /code/mvnw
-COPY --chown=quarkus:quarkus karavan-generator/.mvn /code/.mvn
-COPY --chown=quarkus:quarkus karavan-generator/ /code/karavan-generator/
-COPY --chown=quarkus:quarkus karavan-core/ /code/karavan-core/
-COPY --chown=quarkus:quarkus karavan-app/ /code/karavan-app/
-COPY --chown=quarkus:quarkus karavan-designer/ /code/karavan-designer/
-# Required as output for KameletGenerator:
-COPY --chown=quarkus:quarkus karavan-vscode/ /code/karavan-vscode/
-
-USER quarkus
-WORKDIR /code
-
-# Generate Camel definitions
-RUN ./mvnw clean compile exec:java -Dexec.mainClass="org.apache.camel.karavan.generator.KaravanGenerator" -f karavan-generator
-
-## Stage 2 : build karavan-core
-FROM node:16-alpine AS build-node
-# Root user as we will not be running this image anyway
-USER root
-WORKDIR /code/karavan-core
-
-COPY --chown=root karavan-core/tsconfig.json /code/karavan-core/
-COPY --chown=root karavan-core/package.json /code/karavan-core/
-COPY --chown=root karavan-core/package-lock.json /code/karavan-core/
-RUN npm install --ignore-scripts
-
-COPY --chown=root --from=build-gen /code/karavan-core/ /code/karavan-core/
-RUN npm run build
-
-## Stage 3 : build karavan-app
-FROM build-gen as build-app
-COPY --chown=quarkus:quarkus --from=build-node /code/karavan-core/lib/ /code/karavan-core/lib/
-COPY --chown=quarkus:quarkus --from=build-node /code/karavan-core/node_modules/ /code/karavan-core/node_modules/
-RUN ./mvnw clean package -Pnative -f karavan-app -Dquarkus.profile=public
-
-## Stage 4 : create the docker final image
-FROM quay.io/quarkus/quarkus-distroless-image:2.0
-COPY --chown=nonroot --from=build-app /code/karavan-app/target/*-runner /deployments/application
-
-EXPOSE 8080
-USER nonroot
-WORKDIR /deployments
-CMD ["./application", "-Dquarkus.http.host=0.0.0.0"]
diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/InfinispanService.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/InfinispanService.java
deleted file mode 100644
index 9c47ebc3..00000000
--- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/InfinispanService.java
+++ /dev/null
@@ -1,388 +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.infinispan;
-
-import io.smallrye.mutiny.tuples.Tuple2;
-import io.vertx.core.eventbus.EventBus;
-import org.apache.camel.karavan.infinispan.model.*;
-import org.eclipse.microprofile.config.inject.ConfigProperty;
-import org.infinispan.client.hotrod.RemoteCache;
-import org.infinispan.client.hotrod.RemoteCacheManager;
-import org.infinispan.client.hotrod.Search;
-import org.infinispan.client.hotrod.configuration.ClientIntelligence;
-import org.infinispan.client.hotrod.configuration.ConfigurationBuilder;
-import org.infinispan.commons.configuration.StringConfiguration;
-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;
-import java.time.Instant;
-import java.util.*;
-import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.stream.Collectors;
-
-import static org.infinispan.query.remote.client.ProtobufMetadataManagerConstants.PROTOBUF_METADATA_CACHE_NAME;
-
-@Default
-@ApplicationScoped
-public class InfinispanService {
-
-    @ConfigProperty(name ="infinispan.hosts")
-    String infinispanHosts;
-    @ConfigProperty(name ="infinispan.username")
-    String infinispanUsername;
-    @ConfigProperty(name ="infinispan.password")
-    String infinispanPassword;
-
-    private RemoteCache<GroupedKey, Project> projects;
-    private RemoteCache<GroupedKey, ProjectFile> files;
-    private RemoteCache<GroupedKey, PipelineStatus> pipelineStatuses;
-    private RemoteCache<GroupedKey, DeploymentStatus> deploymentStatuses;
-    private RemoteCache<GroupedKey, ContainerStatus> containerStatuses;
-    private RemoteCache<GroupedKey, ServiceStatus> serviceStatuses;
-    private RemoteCache<GroupedKey, CamelStatus> camelStatuses;
-    private RemoteCache<String, String> commits;
-    private RemoteCache<GroupedKey, DevModeStatus> devmodeStatuses;
-    private RemoteCache<GroupedKey, ContainerInfo> containers;
-    private final AtomicBoolean ready = new AtomicBoolean(false);
-
-    private RemoteCacheManager cacheManager;
-
-    @Inject
-    EventBus eventBus;
-
-    private static final Logger LOGGER = Logger.getLogger(InfinispanService.class.getName());
-
-    private static final String DEFAULT_ENVIRONMENT = "dev";
-
-    public void start() {
-        LOGGER.info("InfinispanService is starting in remote mode");
-
-        ProtoStreamMarshaller marshaller = new ProtoStreamMarshaller();
-        marshaller.register(new KaravanSchemaImpl());
-
-        ConfigurationBuilder builder = new ConfigurationBuilder();
-        builder.socketTimeout(1000)
-                .connectionTimeout(10000)
-                .addServers(infinispanHosts)
-                .security()
-                .authentication().enable()
-                .username(infinispanUsername)
-                .password(infinispanPassword)
-                .clientIntelligence(ClientIntelligence.BASIC)
-                .marshaller(marshaller);
-
-        cacheManager = new RemoteCacheManager(builder.build());
-
-        projects = getOrCreateCache(Project.CACHE, false);
-        files = getOrCreateCache(ProjectFile.CACHE, false);
-        containerStatuses = getOrCreateCache(ContainerStatus.CACHE, false);
-        pipelineStatuses = getOrCreateCache(PipelineStatus.CACHE, false);
-        deploymentStatuses = getOrCreateCache(DeploymentStatus.CACHE, false);
-        serviceStatuses = getOrCreateCache(ServiceStatus.CACHE, false);
-        camelStatuses = getOrCreateCache(CamelStatus.CACHE, false);
-        commits = getOrCreateCache("commits", false);
-        deploymentStatuses = getOrCreateCache(DeploymentStatus.CACHE, false);
-        devmodeStatuses = getOrCreateCache(DevModeStatus.CACHE, false);
-        containers = getOrCreateCache(ContainerInfo.CACHE, false);
-
-        // Grab the generated protobuf schema and registers in the server.
-        cacheManager.getCache(PROTOBUF_METADATA_CACHE_NAME).put("karavan.proto", getResourceFile("/proto/karavan.proto"));
-
-        ready.set(true);
-        LOGGER.info("InfinispanService is started in remote mode");
-    }
-
-    public boolean isReady() {
-        return ready.get();
-    }
-
-    private <K, V> RemoteCache<K, V>  getOrCreateCache(String name, boolean command) {
-        String config = getResourceFile(command ? "/cache/command-cache-config.xml" : "/cache/data-cache-config.xml");
-        return cacheManager.administration().getOrCreateCache(name, new StringConfiguration(String.format(config, name)));
-    }
-
-    public List<Project> getProjects() {
-        return projects.values().stream().collect(Collectors.toList());
-    }
-
-    public void saveProject(Project project) {
-        GroupedKey key = GroupedKey.create(project.getProjectId(), DEFAULT_ENVIRONMENT, project.getProjectId());
-        projects.put(key, project);
-        projects.put(key, project);
-    }
-
-    public List<ProjectFile> getProjectFiles(String projectId) {
-        QueryFactory queryFactory = Search.getQueryFactory(files);
-        return queryFactory.<ProjectFile>create("FROM karavan.ProjectFile WHERE projectId = :projectId")
-                .setParameter("projectId", projectId)
-                .execute().list();
-    }
-
-    public Map<GroupedKey, ProjectFile> getProjectFilesMap(String projectId) {
-        QueryFactory queryFactory = Search.getQueryFactory(files);
-        return queryFactory.<ProjectFile>create("FROM karavan.ProjectFile WHERE projectId = :projectId")
-                .setParameter("projectId", projectId)
-                .execute().list().stream()
-                .collect(Collectors.toMap(f -> new GroupedKey(f.getProjectId(), DEFAULT_ENVIRONMENT, f.getName()), f -> f));
-    }
-
-    public ProjectFile getProjectFile(String projectId, String filename) {
-        QueryFactory queryFactory = Search.getQueryFactory(files);
-        List<ProjectFile> list = queryFactory.<ProjectFile>create("FROM karavan.ProjectFile WHERE projectId = :projectId AND name = :name")
-                .setParameter("projectId", projectId)
-                .setParameter("name", filename)
-                .execute().list();
-        return list.size() > 0 ? list.get(0) : null;
-    }
-
-    public void saveProjectFile(ProjectFile file) {
-        files.put(GroupedKey.create(file.getProjectId(), DEFAULT_ENVIRONMENT, file.getName()), file);
-    }
-
-    public void saveProjectFiles(Map<GroupedKey, ProjectFile> f) {
-        Map<GroupedKey, ProjectFile> files = new HashMap<>(f.size());
-        f.forEach((groupedKey, projectFile) -> {
-            projectFile.setLastUpdate(Instant.now().toEpochMilli());
-        });
-        files.putAll(files);
-    }
-
-    public void deleteProject(String projectId) {
-        projects.remove(GroupedKey.create(projectId, DEFAULT_ENVIRONMENT,projectId));
-    }
-
-    public void deleteProjectFile(String projectId, String filename) {
-        files.remove(GroupedKey.create(projectId, DEFAULT_ENVIRONMENT,filename));
-    }
-
-    public Project getProject(String projectId) {
-        return projects.get(GroupedKey.create(projectId, DEFAULT_ENVIRONMENT,projectId));
-    }
-
-    public PipelineStatus getPipelineStatus(String projectId, String environment) {
-        return pipelineStatuses.get(GroupedKey.create(projectId, environment, projectId));
-    }
-
-    public void savePipelineStatus(PipelineStatus status) {
-        pipelineStatuses.put(GroupedKey.create(status.getProjectId(), status.getEnv(), status.getProjectId()), status);
-    }
-
-    public void deletePipelineStatus(PipelineStatus status) {
-        pipelineStatuses.remove(GroupedKey.create(status.getProjectId(), status.getEnv(), status.getProjectId()));
-    }
-
-    public DeploymentStatus getDeploymentStatus(String projectId, String environment) {
-        return deploymentStatuses.get(GroupedKey.create(projectId, environment, projectId));
-    }
-
-    public void saveDeploymentStatus(DeploymentStatus status) {
-        deploymentStatuses.put(GroupedKey.create(status.getProjectId(), status.getEnv(), status.getProjectId()), status);
-    }
-
-    public void deleteDeploymentStatus(DeploymentStatus status) {
-        deploymentStatuses.remove(GroupedKey.create(status.getProjectId(), status.getEnv(), status.getProjectId()));
-    }
-
-    public List<DeploymentStatus> getDeploymentStatuses() {
-        return new ArrayList<>(deploymentStatuses.values());
-    }
-
-    public List<DeploymentStatus> getDeploymentStatuses(String env) {
-        QueryFactory queryFactory = Search.getQueryFactory((RemoteCache<?, ?>) deploymentStatuses);
-        return queryFactory.<DeploymentStatus>create("FROM karavan.DeploymentStatus WHERE env = :env")
-                .setParameter("env", env)
-                .execute().list();
-    }
-
-    public void saveServiceStatus(ServiceStatus status) {
-        serviceStatuses.put(GroupedKey.create(status.getProjectId(), status.getEnv(), status.getProjectId()), status);
-    }
-
-    public void deleteServiceStatus(ServiceStatus status) {
-        serviceStatuses.remove(GroupedKey.create(status.getProjectId(), status.getEnv(), status.getProjectId()));
-    }
-
-    public List<ServiceStatus> getServiceStatuses() {
-        return new ArrayList<>(serviceStatuses.values());
-    }
-
-    public List<ContainerStatus> getContainerStatuses(String projectId, String env) {
-        QueryFactory queryFactory = Search.getQueryFactory(containerStatuses);
-        return queryFactory.<ContainerStatus>create("FROM karavan.ContainerStatus WHERE projectId = :projectId AND env = :env")
-                .setParameter("projectId", projectId)
-                .setParameter("env", env)
-                .execute().list();
-    }
-
-    public ContainerStatus getDevModeContainerStatuses(String projectId, String env) {
-        QueryFactory queryFactory = Search.getQueryFactory(containerStatuses);
-        List<ContainerStatus> list = queryFactory.<ContainerStatus>create("FROM karavan.ContainerStatus WHERE projectId = :projectId AND env = :env AND type = :type")
-                .setParameter("projectId", projectId)
-                .setParameter("env", env)
-                .setParameter("type", ContainerStatus.CType.devmode)
-                .execute().list();
-        return list.size() > 0 ? list.get(0) : null;
-    }
-
-    public List<ContainerStatus> getContainerStatuses(String env) {
-        QueryFactory queryFactory = Search.getQueryFactory(containerStatuses);
-        return queryFactory.<ContainerStatus>create("FROM karavan.ContainerStatus WHERE env = :env")
-                .setParameter("env", env)
-                .execute().list();
-    }
-
-    public List<ContainerStatus> getAllContainerStatuses() {
-        return new ArrayList<>(containerStatuses.values());
-    }
-
-    public void saveContainerStatus(ContainerStatus status) {
-        containerStatuses.put(GroupedKey.create(status.getProjectId(), status.getEnv(), status.getName()), status);
-    }
-
-    public void deleteContainerStatus(ContainerStatus status) {
-        containerStatuses.remove(GroupedKey.create(status.getProjectId(), status.getEnv(), status.getName()));
-    }
-
-    public void deleteContainerStatus(String projectId, String env, String containerName) {
-        containerStatuses.remove(GroupedKey.create(projectId, env, containerName));
-    }
-
-    public CamelStatus getCamelStatus(String projectId, String env, String name) {
-        GroupedKey key = GroupedKey.create(projectId, env, name);
-        return camelStatuses.get(key);
-    }
-
-    public List<CamelStatus> getCamelStatusesByEnv(String env, CamelStatus.Name name) {
-        QueryFactory queryFactory = Search.getQueryFactory(camelStatuses);
-        return queryFactory.<CamelStatus>create("FROM karavan.CamelStatus WHERE env = :env AND name = :name")
-                .setParameter("env", env)
-                .setParameter("name", name)
-                .execute().list();
-    }
-
-    public List<CamelStatus> getCamelStatusesByProjectIdEnv(String projectId, String env) {
-        QueryFactory queryFactory = Search.getQueryFactory(camelStatuses);
-        return queryFactory.<CamelStatus>create("FROM karavan.CamelStatus WHERE projectId = :projectId AND env = :env")
-                .setParameter("projectId", projectId)
-                .setParameter("env", env)
-                .execute().list();
-    }
-
-    public void saveCamelStatus(CamelStatus status) {
-        GroupedKey key = GroupedKey.create(status.getProjectId(), status.getEnv(), status.getName().name());
-        camelStatuses.put(key, status);
-    }
-
-    public void deleteCamelStatus(String projectId, String name, String env) {
-        GroupedKey key = GroupedKey.create(projectId, env, name);
-        camelStatuses.remove(key);
-    }
-
-    public void deleteCamelStatuses(String projectId, String env) {
-        Arrays.stream(CamelStatus.Name.values()).forEach(name -> {
-            GroupedKey key = GroupedKey.create(projectId, env, name.name());
-            camelStatuses.remove(key);
-        });
-    }
-
-    public void saveCommit(String commitId, int time) {
-        commits.put(commitId, String.valueOf(time));
-    }
-
-    public void saveLastCommit(String commitId) {
-        commits.put("lastCommitId", commitId);
-    }
-
-    public Tuple2<String, Integer> getLastCommit() {
-        String lastCommitId = commits.get("lastCommitId");
-        String time = commits.get(lastCommitId);
-        return Tuple2.of(lastCommitId, Integer.parseInt(time));
-    }
-
-    public boolean hasCommit(String commitId) {
-        return commits.get(commitId) != null;
-    }
-
-    public void saveDevModeStatus(DevModeStatus status) {
-        devmodeStatuses.put(GroupedKey.create(status.getProjectId(), DEFAULT_ENVIRONMENT, status.getProjectId()), status);
-    }
-
-    public void deleteDevModeStatus(String projectId) {
-        devmodeStatuses.remove(GroupedKey.create(projectId, DEFAULT_ENVIRONMENT, projectId));
-    }
-
-    public DevModeStatus getDevModeStatus(String projectId) {
-        return devmodeStatuses.get(GroupedKey.create(projectId,DEFAULT_ENVIRONMENT, projectId));
-    }
-
-    public List<DevModeStatus> getLoadedDevModeStatuses() {
-        QueryFactory queryFactory = Search.getQueryFactory(devmodeStatuses);
-        return queryFactory.<DevModeStatus>create("FROM karavan.DevModeStatus WHERE codeLoaded = true")
-                .execute().list();
-    }
-
-    public List<DevModeStatus> getDevModeStatuses() {
-       return new ArrayList<>(devmodeStatuses.values());
-    }
-
-    public void saveContainerInfo(ContainerInfo ci) {
-        containers.put(GroupedKey.create(ci.getContainerName(), ci.getEnv() != null ? ci.getEnv() : DEFAULT_ENVIRONMENT, ci.getContainerName()), ci);
-    }
-
-    public void getContainerInfo(String name, String env) {
-        containers.get(GroupedKey.create(name, env, name));
-    }
-
-    public List<ContainerInfo> getContainerInfos(String env) {
-        QueryFactory queryFactory = Search.getQueryFactory(containers);
-        return queryFactory.<ContainerInfo>create("FROM karavan.ContainerInfo WHERE env = :env")
-                .setParameter("env", env)
-                .execute().list();
-    }
-
-    public void deleteContainerInfo(String containerName) {
-        containers.remove(GroupedKey.create(containerName, DEFAULT_ENVIRONMENT, containerName));
-    }
-
-    public void clearAllStatuses() {
-        CompletableFuture.allOf(
-            deploymentStatuses.clearAsync(),
-            containerStatuses.clearAsync(),
-            pipelineStatuses.clearAsync(),
-            camelStatuses.clearAsync(),
-            devmodeStatuses.clearAsync()
-        ).join();
-    }
-
-    private String getResourceFile(String path) {
-        try {
-            InputStream inputStream = InfinispanService.class.getResourceAsStream(path);
-            return new BufferedReader(new InputStreamReader(inputStream))
-                    .lines().collect(Collectors.joining(System.getProperty("line.separator")));
-        } catch (Exception e) {
-            return null;
-        }
-    }
-}
diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/CamelStatus.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/CamelStatus.java
deleted file mode 100644
index 37109261..00000000
--- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/CamelStatus.java
+++ /dev/null
@@ -1,81 +0,0 @@
-package org.apache.camel.karavan.infinispan.model;
-
-import org.infinispan.protostream.annotations.ProtoEnumValue;
-import org.infinispan.protostream.annotations.ProtoFactory;
-import org.infinispan.protostream.annotations.ProtoField;
-
-public class CamelStatus {
-
-    public enum Name {
-
-        @ProtoEnumValue(number = 0, name = "context") context,
-        @ProtoEnumValue (number = 1, name = "inflight") inflight,
-        @ProtoEnumValue (number = 2, name = "memory") memory,
-        @ProtoEnumValue (number = 3, name = "properties") properties,
-        @ProtoEnumValue (number = 4, name = "route") route,
-        @ProtoEnumValue (number = 5, name = "trace") trace,
-        @ProtoEnumValue (number = 6, name = "jvm") jvm,
-        @ProtoEnumValue (number = 7, name = "source") source
-    }
-
-    public static final String CACHE = "camel_statuses";
-    @ProtoField(number = 1)
-    String projectId;
-    @ProtoField(number = 2)
-    String containerName;
-    @ProtoField(number = 3)
-    Name name;
-    @ProtoField(number = 4)
-    String status;
-    @ProtoField(number = 5)
-    String env;
-
-    @ProtoFactory
-    public CamelStatus(String projectId, String containerName, Name name, String status, String env) {
-        this.projectId = projectId;
-        this.containerName = containerName;
-        this.name = name;
-        this.status = status;
-        this.env = env;
-    }
-
-    public String getProjectId() {
-        return projectId;
-    }
-
-    public void setProjectId(String projectId) {
-        this.projectId = projectId;
-    }
-
-    public String getContainerName() {
-        return containerName;
-    }
-
-    public void setContainerName(String containerName) {
-        this.containerName = containerName;
-    }
-
-    public Name getName() {
-        return name;
-    }
-
-    public void setName(Name name) {
-        this.name = name;
-    }
-
-    public String getStatus() {
-        return status;
-    }
-
-    public void setStatus(String status) {
-        this.status = status;
-    }
-
-    public String getEnv() {
-        return env;
-    }
-
-    public void setEnv(String env) {
-        this.env = env;
-    }
-}
diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/CommitInfo.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/CommitInfo.java
deleted file mode 100644
index b7ee2075..00000000
--- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/CommitInfo.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package org.apache.camel.karavan.infinispan.model;
-
-import java.util.List;
-
-public class CommitInfo {
-    private String commitId;
-    private Integer time;
-    private List<GitRepo> repos;
-
-    public CommitInfo(String commitId, Integer time) {
-        this.commitId = commitId;
-        this.time = time;
-    }
-
-    public CommitInfo(String commitId, Integer time, List<GitRepo> repos) {
-        this.commitId = commitId;
-        this.time = time;
-        this.repos = repos;
-    }
-
-    public String getCommitId() {
-        return commitId;
-    }
-
-    public void setCommitId(String commitId) {
-        this.commitId = commitId;
-    }
-
-    public Integer getTime() {
-        return time;
-    }
-
-    public void setTime(Integer time) {
-        this.time = time;
-    }
-
-    public List<GitRepo> getRepos() {
-        return repos;
-    }
-
-    public void setRepos(List<GitRepo> repos) {
-        this.repos = repos;
-    }
-
-    @Override
-    public String toString() {
-        return "CommitInfo{" +
-                "commitId='" + commitId + '\'' +
-                ", time=" + time +
-                ", repos=" + repos +
-                '}';
-    }
-}
diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/ContainerInfo.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/ContainerInfo.java
deleted file mode 100644
index 985e70b3..00000000
--- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/ContainerInfo.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package org.apache.camel.karavan.infinispan.model;
-
-import org.infinispan.protostream.annotations.ProtoFactory;
-import org.infinispan.protostream.annotations.ProtoField;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class ContainerInfo {
-    public static final String CACHE = "container_infos";
-    @ProtoField(number = 1)
-    String containerName;
-    @ProtoField(number = 2)
-    String containerId;
-    @ProtoField(number = 3)
-    String image;
-    @ProtoField(number = 4, collectionImplementation = ArrayList.class)
-    List<Integer> ports;
-    @ProtoField(number = 5)
-    String env;
-
-    @ProtoFactory
-    public ContainerInfo(String containerName, String containerId, String image, List<Integer> ports, String env) {
-        this.containerName = containerName;
-        this.containerId = containerId;
-        this.image = image;
-        this.ports = ports;
-        this.env = env;
-    }
-
-    public String getEnv() {
-        return env;
-    }
-
-    public void setEnv(String env) {
-        this.env = env;
-    }
-
-    public String getContainerName() {
-        return containerName;
-    }
-
-    public void setContainerName(String containerName) {
-        this.containerName = containerName;
-    }
-
-    public String getContainerId() {
-        return containerId;
-    }
-
-    public void setContainerId(String containerId) {
-        this.containerId = containerId;
-    }
-
-    public String getImage() {
-        return image;
-    }
-
-    public void setImage(String image) {
-        this.image = image;
-    }
-
-    public List<Integer> getPorts() {
-        return ports;
-    }
-
-    public void setPorts(List<Integer> ports) {
-        this.ports = ports;
-    }
-}
diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/ContainerStatus.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/ContainerStatus.java
deleted file mode 100644
index d8a3db89..00000000
--- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/ContainerStatus.java
+++ /dev/null
@@ -1,141 +0,0 @@
-package org.apache.camel.karavan.infinispan.model;
-
-import org.infinispan.protostream.annotations.ProtoEnumValue;
-import org.infinispan.protostream.annotations.ProtoFactory;
-import org.infinispan.protostream.annotations.ProtoField;
-
-public class ContainerStatus {
-
-    public enum CType {
-        @ProtoEnumValue(number = 0, name = "devmode") devmode,
-        @ProtoEnumValue(number = 1, name = "devservice") devservice,
-        @ProtoEnumValue(number = 2, name = "pod") pod,
-        @ProtoEnumValue(number = 3, name = "container") container,
-    }
-
-    public static final String CACHE = "pod_statuses";
-    @ProtoField(number = 1)
-    String name;
-    @ProtoField(number = 2)
-    Boolean ready;
-    @ProtoField(number = 3)
-    String projectId;
-    @ProtoField(number = 4)
-    String env;
-    @ProtoField(number = 5)
-    Integer exposedPort;
-    @ProtoField(number = 6)
-    CType type;
-    @ProtoField(number = 7)
-    String memoryInfo;
-    @ProtoField(number = 8)
-    String cpuInfo;
-    @ProtoField(number = 9)
-    String created;
-
-    @ProtoFactory
-    public ContainerStatus(String name, Boolean ready, String projectId, String env, Integer exposedPort, CType type, String memoryInfo, String cpuInfo, String created) {
-        this.name = name;
-        this.ready = ready;
-        this.projectId = projectId;
-        this.env = env;
-        this.exposedPort = exposedPort;
-        this.type = type;
-        this.memoryInfo = memoryInfo;
-        this.cpuInfo = cpuInfo;
-        this.created = created;
-    }
-
-    public ContainerStatus(String name, Boolean ready, String projectId, String env, CType type, String memoryInfo, String cpuInfo, String created) {
-        this.name = name;
-        this.ready = ready;
-        this.projectId = projectId;
-        this.env = env;
-        this.memoryInfo = memoryInfo;
-        this.cpuInfo = cpuInfo;
-        this.created = created;
-        this.type = type;
-    }
-
-    public ContainerStatus(String name, Boolean ready, String projectId, String env, CType type, String created, Integer exposedPort) {
-        this.name = name;
-        this.ready = ready;
-        this.projectId = projectId;
-        this.env = env;
-        this.created = created;
-        this.exposedPort = exposedPort;
-        this.type = type;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public Boolean getReady() {
-        return ready;
-    }
-
-    public void setReady(Boolean ready) {
-        this.ready = ready;
-    }
-
-    public String getProjectId() {
-        return projectId;
-    }
-
-    public void setProjectId(String projectId) {
-        this.projectId = projectId;
-    }
-
-    public String getEnv() {
-        return env;
-    }
-
-    public void setEnv(String env) {
-        this.env = env;
-    }
-
-    public String getMemoryInfo() {
-        return memoryInfo;
-    }
-
-    public void setMemoryInfo(String memoryInfo) {
-        this.memoryInfo = memoryInfo;
-    }
-
-    public String getCpuInfo() {
-        return cpuInfo;
-    }
-
-    public void setCpuInfo(String cpuInfo) {
-        this.cpuInfo = cpuInfo;
-    }
-
-    public String getCreated() {
-        return created;
-    }
-
-    public void setCreated(String created) {
-        this.created = created;
-    }
-
-    public Integer getExposedPort() {
-        return exposedPort;
-    }
-
-    public void setExposedPort(Integer exposedPort) {
-        this.exposedPort = exposedPort;
-    }
-
-    public CType getType() {
-        return type;
-    }
-
-    public void setType(CType type) {
-        this.type = type;
-    }
-}
diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/DeploymentStatus.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/DeploymentStatus.java
deleted file mode 100644
index 95e35d67..00000000
--- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/DeploymentStatus.java
+++ /dev/null
@@ -1,111 +0,0 @@
-package org.apache.camel.karavan.infinispan.model;
-
-import org.infinispan.protostream.annotations.ProtoFactory;
-import org.infinispan.protostream.annotations.ProtoField;
-
-public class DeploymentStatus {
-    public static final String CACHE = "deployment_statuses";
-    @ProtoField(number = 1)
-    String projectId;
-    @ProtoField(number = 2)
-    String namespace;
-    @ProtoField(number = 3)
-    String env;
-    @ProtoField(number = 4)
-    String cluster;
-    @ProtoField(number = 5)
-    String image;
-    @ProtoField(number = 6)
-    Integer replicas;
-    @ProtoField(number = 7)
-    Integer readyReplicas;
-    @ProtoField(number = 8)
-    Integer unavailableReplicas;
-
-    public DeploymentStatus(String projectId, String namespace, String cluster, String env) {
-        this.projectId = projectId;
-        this.namespace = namespace;
-        this.cluster = cluster;
-        this.env = env;
-        this.image = "";
-        this.replicas = 0;
-        this.readyReplicas = 0;
-        this.unavailableReplicas = 0;
-    }
-
-    @ProtoFactory
-    public DeploymentStatus(String projectId, String namespace, String cluster, String env, String image, Integer replicas, Integer readyReplicas, Integer unavailableReplicas) {
-        this.projectId = projectId;
-        this.namespace = namespace;
-        this.env = env;
-        this.cluster = cluster;
-        this.image = image;
-        this.replicas = replicas;
-        this.readyReplicas = readyReplicas;
-        this.unavailableReplicas = unavailableReplicas;
-    }
-
-    public String getProjectId() {
-        return projectId;
-    }
-
-    public void setProjectId(String projectId) {
-        this.projectId = projectId;
-    }
-
-    public String getEnv() {
-        return env;
-    }
-
-    public void setEnv(String env) {
-        this.env = env;
-    }
-
-    public String getNamespace() {
-        return namespace;
-    }
-
-    public void setNamespace(String namespace) {
-        this.namespace = namespace;
-    }
-
-    public String getImage() {
-        return image;
-    }
-
-    public void setImage(String image) {
-        this.image = image;
-    }
-
-    public Integer getReplicas() {
-        return replicas;
-    }
-
-    public void setReplicas(Integer replicas) {
-        this.replicas = replicas;
-    }
-
-    public Integer getReadyReplicas() {
-        return readyReplicas;
-    }
-
-    public void setReadyReplicas(Integer readyReplicas) {
-        this.readyReplicas = readyReplicas;
-    }
-
-    public Integer getUnavailableReplicas() {
-        return unavailableReplicas;
-    }
-
-    public void setUnavailableReplicas(Integer unavailableReplicas) {
-        this.unavailableReplicas = unavailableReplicas;
-    }
-
-    public String getCluster() {
-        return cluster;
-    }
-
-    public void setCluster(String cluster) {
-        this.cluster = cluster;
-    }
-}
diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/DevModeStatus.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/DevModeStatus.java
deleted file mode 100644
index c45208d3..00000000
--- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/DevModeStatus.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package org.apache.camel.karavan.infinispan.model;
-
-import org.infinispan.protostream.annotations.ProtoFactory;
-import org.infinispan.protostream.annotations.ProtoField;
-
-public class DevModeStatus {
-    public static final String CACHE = "devmode_statuses";
-    @ProtoField(number = 1)
-    String projectId;
-    @ProtoField(number = 2)
-    String containerName;
-    @ProtoField(number = 3)
-    String containerId;
-    @ProtoField(number = 4)
-    Boolean codeLoaded;
-    @ProtoField(number = 5)
-    Boolean logging;
-
-    @ProtoFactory
-    public DevModeStatus(String projectId, String containerName, String containerId, Boolean codeLoaded, Boolean logging) {
-        this.projectId = projectId;
-        this.containerName = containerName;
-        this.containerId = containerId;
-        this.codeLoaded = codeLoaded;
-        this.logging = logging;
-    }
-
-    public DevModeStatus(String projectId, String containerName, String containerId, Boolean codeLoaded) {
-        this.projectId = projectId;
-        this.containerName = containerName;
-        this.containerId = containerId;
-        this.codeLoaded = codeLoaded;
-        this.logging = false;
-    }
-
-    public DevModeStatus() {
-    }
-
-    public String getProjectId() {
-        return projectId;
-    }
-
-    public void setProjectId(String projectId) {
-        this.projectId = projectId;
-    }
-
-    public String getContainerName() {
-        return containerName;
-    }
-
-    public void setContainerName(String containerName) {
-        this.containerName = containerName;
-    }
-
-    public String getContainerId() {
-        return containerId;
-    }
-
-    public void setContainerId(String containerId) {
-        this.containerId = containerId;
-    }
-
-    public Boolean getCodeLoaded() {
-        return codeLoaded;
-    }
-
-    public void setCodeLoaded(Boolean codeLoaded) {
-        this.codeLoaded = codeLoaded;
-    }
-
-    public Boolean getLogging() {
-        return logging;
-    }
-
-    public void setLogging(Boolean logging) {
-        this.logging = logging;
-    }
-}
diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/GitConfig.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/GitConfig.java
deleted file mode 100644
index 285c8017..00000000
--- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/GitConfig.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.apache.camel.karavan.infinispan.model;
-
-public class GitConfig {
-    private String uri;
-    private String username;
-    private String password;
-    private String branch;
-
-    public GitConfig(String uri, String username, String password, String branch) {
-        this.uri = uri;
-        this.username = username;
-        this.password = password;
-        this.branch = branch;
-    }
-
-    public String getUri() {
-        return uri;
-    }
-
-    public void setUri(String uri) {
-        this.uri = uri;
-    }
-
-    public String getUsername() {
-        return username;
-    }
-
-    public void setUsername(String username) {
-        this.username = username;
-    }
-
-    public String getPassword() {
-        return password;
-    }
-
-    public void setPassword(String password) {
-        this.password = password;
-    }
-
-    public String getBranch() {
-        return branch;
-    }
-
-    public void setBranch(String branch) {
-        this.branch = branch;
-    }
-
-}
diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/GitRepo.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/GitRepo.java
deleted file mode 100644
index 4736814f..00000000
--- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/GitRepo.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package org.apache.camel.karavan.infinispan.model;
-
-import java.util.List;
-
-public class GitRepo {
-    private String name;
-    private String commitId;
-    private Long lastCommitTimestamp;
-    private List<GitRepoFile> files;
-
-    public GitRepo(String name, String commitId, Long lastCommitTimestamp, List<GitRepoFile> files) {
-        this.name = name;
-        this.commitId = commitId;
-        this.lastCommitTimestamp = lastCommitTimestamp;
-        this.files = files;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getCommitId() {
-        return commitId;
-    }
-
-    public void setCommitId(String commitId) {
-        this.commitId = commitId;
-    }
-
-    public Long getLastCommitTimestamp() {
-        return lastCommitTimestamp;
-    }
-
-    public void setLastCommitTimestamp(Long lastCommitTimestamp) {
-        this.lastCommitTimestamp = lastCommitTimestamp;
-    }
-
-    public List<GitRepoFile> getFiles() {
-        return files;
-    }
-
-    public void setFiles(List<GitRepoFile> files) {
-        this.files = files;
-    }
-}
diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/GitRepoFile.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/GitRepoFile.java
deleted file mode 100644
index a1186efe..00000000
--- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/GitRepoFile.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.apache.camel.karavan.infinispan.model;
-
-public class GitRepoFile {
-    private String name;
-    private Long lastCommitTimestamp;
-    private String body;
-
-    public GitRepoFile(String name, Long lastCommitTimestamp, String body) {
-        this.name = name;
-        this.lastCommitTimestamp = lastCommitTimestamp;
-        this.body = body;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public Long getLastCommitTimestamp() {
-        return lastCommitTimestamp;
-    }
-
-    public void setLastCommitTimestamp(Long lastCommitTimestamp) {
-        this.lastCommitTimestamp = lastCommitTimestamp;
-    }
-
-    public String getBody() {
-        return body;
-    }
-
-    public void setBody(String body) {
-        this.body = body;
-    }
-}
diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/GroupedKey.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/GroupedKey.java
deleted file mode 100644
index 1f1632ca..00000000
--- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/GroupedKey.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package org.apache.camel.karavan.infinispan.model;
-
-import org.infinispan.protostream.annotations.ProtoFactory;
-import org.infinispan.protostream.annotations.ProtoField;
-//import org.infinispan.distribution.group.Group;
-
-
-public class GroupedKey {
-
-    @ProtoField(number = 1)
-    String projectId;
-    @ProtoField(number = 2)
-    String env;
-    @ProtoField(number = 3)
-    String key;
-
-    @ProtoFactory
-    public GroupedKey(String projectId, String env, String key) {
-        this.projectId = projectId;
-        this.env = env;
-        this.key = key;
-    }
-
-    public static GroupedKey create(String projectId, String env, String key) {
-        return new GroupedKey(projectId, env, key);
-    }
-
-    public String getEnv() {
-        return env;
-    }
-
-    public void setEnv(String env) {
-        this.env = env;
-    }
-
-    public void setProjectId(String projectId) {
-        this.projectId = projectId;
-    }
-
-    public String getKey() {
-        return key;
-    }
-
-    public void setKey(String key) {
-        this.key = key;
-    }
-
-//    @Group https://github.com/quarkusio/quarkus/issues/34677
-    public String getProjectId() {
-        return projectId;
-    }
-
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) return true;
-        if (o == null || getClass() != o.getClass()) return false;
-
-        GroupedKey that = (GroupedKey) o;
-
-        if (!projectId.equals(that.projectId)) return false;
-        if (!env.equals(that.env)) return false;
-        return key.equals(that.key);
-    }
-
-    @Override
-    public int hashCode() {
-        int result = projectId.hashCode();
-        result = 31 * result + env.hashCode();
-        result = 31 * result + key.hashCode();
-        return result;
-    }
-}
\ No newline at end of file
diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/KaravanSchema.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/KaravanSchema.java
deleted file mode 100644
index 1b2777ca..00000000
--- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/KaravanSchema.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.apache.camel.karavan.infinispan.model;
-
-import org.infinispan.protostream.GeneratedSchema;
-import org.infinispan.protostream.annotations.AutoProtoSchemaBuilder;
-
-@AutoProtoSchemaBuilder(
-        includeClasses = {
-                GroupedKey.class,
-                Project.class,
-                Project.Type.class,
-                ProjectFile.class,
-                PipelineStatus.class,
-                CamelStatus.class,
-                CamelStatus.Name.class,
-                DeploymentStatus.class,
-                ContainerStatus.class,
-                ContainerStatus.CType.class,
-                ServiceStatus.class,
-                DevModeStatus.class,
-                ContainerInfo.class
-        },
-        schemaFileName = "karavan.proto",
-        schemaFilePath = "proto/",
-        schemaPackageName = "karavan")
-public interface KaravanSchema extends GeneratedSchema {
-}
-
-
diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/PipelineStatus.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/PipelineStatus.java
deleted file mode 100644
index fd0831d0..00000000
--- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/PipelineStatus.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package org.apache.camel.karavan.infinispan.model;
-
-import org.infinispan.protostream.annotations.ProtoFactory;
-import org.infinispan.protostream.annotations.ProtoField;
-
-public class PipelineStatus {
-    public static final String CACHE = "pipeline_statuses";
-    @ProtoField(number = 1)
-    String projectId;
-    @ProtoField(number = 2)
-    String pipelineName;
-    @ProtoField(number = 3)
-    String result;
-    @ProtoField(number = 5)
-    String startTime;
-    @ProtoField(number = 6)
-    String completionTime;
-    @ProtoField(number = 7)
-    String env;
-
-    @ProtoFactory
-    public PipelineStatus(String projectId, String pipelineName, String result, String startTime, String completionTime, String env) {
-        this.projectId = projectId;
-        this.pipelineName = pipelineName;
-        this.result = result;
-        this.startTime = startTime;
-        this.completionTime = completionTime;
-        this.env = env;
-    }
-
-    public PipelineStatus(String projectId, String env) {
-        this.projectId = projectId;
-        this.env = env;
-    }
-
-    public String getProjectId() {
-        return projectId;
-    }
-
-    public void setProjectId(String projectId) {
-        this.projectId = projectId;
-    }
-
-    public String getPipelineName() {
-        return pipelineName;
-    }
-
-    public void setPipelineName(String pipelineName) {
-        this.pipelineName = pipelineName;
-    }
-
-    public String getResult() {
-        return result;
-    }
-
-    public void setResult(String result) {
-        this.result = result;
-    }
-
-    public String getStartTime() {
-        return startTime;
-    }
-
-    public void setStartTime(String startTime) {
-        this.startTime = startTime;
-    }
-
-    public String getCompletionTime() {
-        return completionTime;
-    }
-
-    public void setCompletionTime(String completionTime) {
-        this.completionTime = completionTime;
-    }
-
-    public String getEnv() {
-        return env;
-    }
-
-    public void setEnv(String env) {
-        this.env = env;
-    }
-}
diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/Project.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/Project.java
deleted file mode 100644
index 9c31e296..00000000
--- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/Project.java
+++ /dev/null
@@ -1,125 +0,0 @@
-package org.apache.camel.karavan.infinispan.model;
-
-import org.infinispan.protostream.annotations.ProtoEnumValue;
-import org.infinispan.protostream.annotations.ProtoFactory;
-import org.infinispan.protostream.annotations.ProtoField;
-
-import java.time.Instant;
-
-public class Project {
-    public static final String CACHE = "projects";
-
-    public enum Type {
-
-        @ProtoEnumValue(number = 0, name = "templates") templates,
-        @ProtoEnumValue (number = 1, name = "kamelets") kamelets,
-        @ProtoEnumValue (number = 2, name = "services") services,
-        @ProtoEnumValue (number = 3, name = "pipelines") pipelines,
-        @ProtoEnumValue (number = 4, name = "normal") normal,
-    }
-
-    @ProtoField(number = 1)
-    String projectId;
-    @ProtoField(number = 2)
-    String name;
-    @ProtoField(number = 3)
-    String description;
-    @ProtoField(number = 4)
-    String runtime;
-    @ProtoField(number = 5)
-    String lastCommit;
-    @ProtoField(number = 6)
-    Long lastCommitTimestamp;
-    @ProtoField(number = 7)
-    Type type;
-
-    @ProtoFactory
-    public Project(String projectId, String name, String description, String runtime, String lastCommit, Long lastCommitTimestamp, Type type) {
-        this.projectId = projectId;
-        this.name = name;
-        this.description = description;
-        this.runtime = runtime;
-        this.lastCommit = lastCommit;
-        this.lastCommitTimestamp = lastCommitTimestamp;
-        this.type = type;
-    }
-
-    public Project(String projectId, String name, String description, String runtime, String lastCommit, Long lastCommitTimestamp) {
-        this.projectId = projectId;
-        this.name = name;
-        this.description = description;
-        this.runtime = runtime;
-        this.lastCommit = lastCommit;
-        this.lastCommitTimestamp = lastCommitTimestamp;
-        this.type = Type.normal;
-    }
-
-    public Project(String projectId, String name, String description, String runtime) {
-        this.projectId = projectId;
-        this.name = name;
-        this.description = description;
-        this.runtime = runtime;
-        this.lastCommitTimestamp = Instant.now().toEpochMilli();
-        this.type = Type.normal;
-    }
-
-    public Project() {
-        this.type = Type.normal;
-    }
-
-    public String getProjectId() {
-        return projectId;
-    }
-
-    public void setProjectId(String projectId) {
-        this.projectId = projectId;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getDescription() {
-        return description;
-    }
-
-    public void setDescription(String description) {
-        this.description = description;
-    }
-
-    public String getRuntime() {
-        return runtime;
-    }
-
-    public void setRuntime(String runtime) {
-        this.runtime = runtime;
-    }
-
-    public String getLastCommit() {
-        return lastCommit;
-    }
-
-    public void setLastCommit(String lastCommit) {
-        this.lastCommit = lastCommit;
-    }
-
-    public Long getLastCommitTimestamp() {
-        return lastCommitTimestamp;
-    }
-
-    public void setLastCommitTimestamp(Long lastCommitTimestamp) {
-        this.lastCommitTimestamp = lastCommitTimestamp;
-    }
-
-    public Type getType() {
-        return type;
-    }
-
-    public void setType(Type type) {
-        this.type = type;
-    }
-}
diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/ProjectFile.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/ProjectFile.java
deleted file mode 100644
index 14cc3adf..00000000
--- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/ProjectFile.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package org.apache.camel.karavan.infinispan.model;
-
-import org.infinispan.protostream.annotations.ProtoDoc;
-import org.infinispan.protostream.annotations.ProtoFactory;
-import org.infinispan.protostream.annotations.ProtoField;
-
-public class ProjectFile {
-    public static final String CACHE = "project_files";
-    @ProtoField(number = 1)
-    String name;
-    @ProtoField(number = 2)
-    String code;
-    @ProtoField(number = 3)
-    @ProtoDoc("@Field(index=Index.YES, analyze = Analyze.YES, store = Store.NO)")
-    String projectId;
-    @ProtoField(number = 4)
-    Long lastUpdate;
-
-    @ProtoFactory
-    public ProjectFile(String name, String code, String projectId, Long lastUpdate) {
-        this.name = name;
-        this.code = code;
-        this.projectId = projectId;
-        this.lastUpdate = lastUpdate;
-    }
-
-    public ProjectFile() {
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getCode() {
-        return code;
-    }
-
-    public void setCode(String code) {
-        this.code = code;
-    }
-
-    public String getProjectId() {
-        return projectId;
-    }
-
-    public void setProjectId(String projectId) {
-        this.projectId = projectId;
-    }
-
-    public Long getLastUpdate() {
-        return lastUpdate;
-    }
-
-    public void setLastUpdate(Long lastUpdate) {
-        this.lastUpdate = lastUpdate;
-    }
-
-    @Override
-    public String toString() {
-        return "ProjectFile{" +
-                "name='" + name + '\'' +
-                ", code='" + code + '\'' +
-                ", projectId='" + projectId + '\'' +
-                ", lastUpdate=" + lastUpdate +
-                '}';
-    }
-}
diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/ServiceStatus.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/ServiceStatus.java
deleted file mode 100644
index 9ce1d073..00000000
--- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/infinispan/model/ServiceStatus.java
+++ /dev/null
@@ -1,107 +0,0 @@
-package org.apache.camel.karavan.infinispan.model;
-
-import org.infinispan.protostream.annotations.ProtoFactory;
-import org.infinispan.protostream.annotations.ProtoField;
-
-public class ServiceStatus {
-    public static final String CACHE = "service_statuses";
-    @ProtoField(number = 1)
-    String projectId;
-    @ProtoField(number = 2)
-    String namespace;
-    @ProtoField(number = 3)
-    String env;
-    @ProtoField(number = 4)
-    String cluster;
-    @ProtoField(number = 5)
-    Integer port;
-    @ProtoField(number = 6)
-    Integer targetPort;
-    @ProtoField(number = 7)
-    String clusterIP;
-    @ProtoField(number = 8)
-    String type;
-
-    @ProtoFactory
-    public ServiceStatus(String projectId, String namespace, String env, String cluster, Integer port, Integer targetPort, String clusterIP, String type) {
-        this.projectId = projectId;
-        this.namespace = namespace;
-        this.env = env;
-        this.cluster = cluster;
-        this.port = port;
-        this.targetPort = targetPort;
-        this.clusterIP = clusterIP;
-        this.type = type;
-    }
-
-    public ServiceStatus(String projectId, String namespace, String cluster, String env) {
-        this.projectId = projectId;
-        this.namespace = namespace;
-        this.env = env;
-        this.cluster = cluster;
-    }
-
-    public String getProjectId() {
-        return projectId;
-    }
-
-    public void setProjectId(String projectId) {
-        this.projectId = projectId;
-    }
-
-    public String getNamespace() {
-        return namespace;
-    }
-
-    public void setNamespace(String namespace) {
-        this.namespace = namespace;
-    }
-
-    public String getEnv() {
-        return env;
-    }
-
-    public void setEnv(String env) {
-        this.env = env;
-    }
-
-    public String getCluster() {
-        return cluster;
-    }
-
-    public void setCluster(String cluster) {
-        this.cluster = cluster;
-    }
-
-    public Integer getPort() {
-        return port;
-    }
-
-    public void setPort(Integer port) {
-        this.port = port;
-    }
-
-    public Integer getTargetPort() {
-        return targetPort;
-    }
-
-    public void setTargetPort(Integer targetPort) {
-        this.targetPort = targetPort;
-    }
-
-    public String getClusterIP() {
-        return clusterIP;
-    }
-
-    public void setClusterIP(String clusterIP) {
-        this.clusterIP = clusterIP;
-    }
-
-    public String getType() {
-        return type;
-    }
-
-    public void setType(String type) {
-        this.type = type;
-    }
-}
diff --git a/karavan-web/karavan-app/src/main/resources/cache/command-cache-config.xml b/karavan-web/karavan-app/src/main/resources/cache/command-cache-config.xml
deleted file mode 100644
index 27481642..00000000
--- a/karavan-web/karavan-app/src/main/resources/cache/command-cache-config.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<distributed-cache name="%s" mode="SYNC">
-    <encoding media-type="application/x-protostream"/>
-    <locking isolation="REPEATABLE_READ"/>
-    <groups enabled="true"/>
-    <memory max-count="100000" when-full="REMOVE"/>
-</distributed-cache>
\ No newline at end of file
diff --git a/karavan-web/karavan-app/src/main/resources/cache/data-cache-config.xml b/karavan-web/karavan-app/src/main/resources/cache/data-cache-config.xml
deleted file mode 100644
index 31f6c304..00000000
--- a/karavan-web/karavan-app/src/main/resources/cache/data-cache-config.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<distributed-cache name="%s" mode="SYNC">
-    <encoding media-type="application/x-protostream"/>
-    <locking isolation="REPEATABLE_READ"/>
-    <groups enabled="true"/>
-    <memory max-count="1000000" when-full="REMOVE"/>
-</distributed-cache>
\ No newline at end of file
diff --git a/karavan-web/karavan-app/src/test/java/org/apache/camel/karavan/infinispan/DataGridTest.java b/karavan-web/karavan-app/src/test/java/org/apache/camel/karavan/infinispan/DataGridTest.java
deleted file mode 100644
index e19bb048..00000000
--- a/karavan-web/karavan-app/src/test/java/org/apache/camel/karavan/infinispan/DataGridTest.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package org.apache.camel.karavan.infinispan;
-
-
-import io.quarkus.test.junit.QuarkusTest;
-import org.apache.camel.karavan.infinispan.model.CamelStatus;
-import org.apache.camel.karavan.infinispan.model.ContainerInfo;
-import org.apache.camel.karavan.infinispan.model.ProjectFile;
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.TestInstance;
-
-import javax.inject.Inject;
-import java.util.ArrayList;
-import java.util.List;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-@QuarkusTest
-@TestInstance(TestInstance.Lifecycle.PER_CLASS)
-public class DataGridTest {
-
-    @Inject
-    InfinispanService infinispanService;
-
-    @BeforeAll
-    public void setup() {
-        infinispanService.start();
-    }
-
-    @Test
-    public void testContainersStatuses() throws InterruptedException {
-        ContainerInfo ci = new ContainerInfo("demo", "id", "image", List.of(8080, 8081, 8082), "dev");
-        infinispanService.saveContainerInfo(ci);
-        List<ContainerInfo> list = infinispanService.getContainerInfos("dev");
-        System.out.println(list);
-        assertEquals(1, list.size());
-    }
-
-    @Test
-    public void testProjectFiles() throws InterruptedException {
-        List<ProjectFile> files = infinispanService.getProjectFiles("xxx");
-        assertEquals(0, files.size());
-    }
-
-    @Test
-    public void testCamelStatuses() throws InterruptedException {
-        CamelStatus cs = new CamelStatus("test1", "container1", CamelStatus.Name.context, "", "dev");
-        infinispanService.saveCamelStatus(cs);
-        List<CamelStatus> list = infinispanService.getCamelStatusesByEnv("dev", CamelStatus.Name.context);
-        System.out.println(list);
-        assertEquals(1, list.size());
-    }
-}
diff --git a/karavan-web/karavan-app/src/test/resources/application.properties b/karavan-web/karavan-app/src/test/resources/application.properties
deleted file mode 100644
index 0eacb003..00000000
--- a/karavan-web/karavan-app/src/test/resources/application.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-#
-#%test.quarkus.infinispan-client.hosts=infinispan:11222
-#%test.quarkus.infinispan-client.username=admin
-#%test.quarkus.infinispan-client.password=password
-#
-#%test.quarkus.infinispan-client.devservices.enabled=true
-#%test.quarkus.infinispan-client.devservices.service-name=infinispan
-#%test.quarkus.infinispan-client.devservices.image-name=quay.io/infinispan/server:14.0.6.Final
-#%test.quarkus.infinispan-client.devservices.port=11222
-#%test.quarkus.infinispan-client.health.enabled=false
-#%test.quarkus.infinispan-client.client-intelligence=BASIC
diff --git a/karavan-web/karavan-infinispan/src/main/java/org/apache/camel/karavan/infinispan/model/ContainerStatus.java b/karavan-web/karavan-infinispan/src/main/java/org/apache/camel/karavan/infinispan/model/ContainerStatus.java
index d8a3db89..f9204ec8 100644
--- a/karavan-web/karavan-infinispan/src/main/java/org/apache/camel/karavan/infinispan/model/ContainerStatus.java
+++ b/karavan-web/karavan-infinispan/src/main/java/org/apache/camel/karavan/infinispan/model/ContainerStatus.java
@@ -23,47 +23,32 @@ public class ContainerStatus {
     @ProtoField(number = 4)
     String env;
     @ProtoField(number = 5)
-    Integer exposedPort;
-    @ProtoField(number = 6)
     CType type;
-    @ProtoField(number = 7)
+    @ProtoField(number = 6)
     String memoryInfo;
-    @ProtoField(number = 8)
+    @ProtoField(number = 7)
     String cpuInfo;
-    @ProtoField(number = 9)
+    @ProtoField(number = 8)
     String created;
 
     @ProtoFactory
-    public ContainerStatus(String name, Boolean ready, String projectId, String env, Integer exposedPort, CType type, String memoryInfo, String cpuInfo, String created) {
-        this.name = name;
-        this.ready = ready;
-        this.projectId = projectId;
-        this.env = env;
-        this.exposedPort = exposedPort;
-        this.type = type;
-        this.memoryInfo = memoryInfo;
-        this.cpuInfo = cpuInfo;
-        this.created = created;
-    }
-
     public ContainerStatus(String name, Boolean ready, String projectId, String env, CType type, String memoryInfo, String cpuInfo, String created) {
         this.name = name;
         this.ready = ready;
         this.projectId = projectId;
         this.env = env;
+        this.type = type;
         this.memoryInfo = memoryInfo;
         this.cpuInfo = cpuInfo;
         this.created = created;
-        this.type = type;
     }
 
-    public ContainerStatus(String name, Boolean ready, String projectId, String env, CType type, String created, Integer exposedPort) {
+    public ContainerStatus(String name, Boolean ready, String projectId, String env, CType type, String created) {
         this.name = name;
         this.ready = ready;
         this.projectId = projectId;
         this.env = env;
         this.created = created;
-        this.exposedPort = exposedPort;
         this.type = type;
     }
 
@@ -123,14 +108,6 @@ public class ContainerStatus {
         this.created = created;
     }
 
-    public Integer getExposedPort() {
-        return exposedPort;
-    }
-
-    public void setExposedPort(Integer exposedPort) {
-        this.exposedPort = exposedPort;
-    }
-
     public CType getType() {
         return type;
     }