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 cf4d8f0  Persistence for datagrid (#384)
cf4d8f0 is described below

commit cf4d8f024528ef0666b66742e9e2fb53f7a82d6d
Author: Marat Gubaidullin <marat.gubaidul...@gmail.com>
AuthorDate: Tue Jun 21 18:58:46 2022 -0400

    Persistence for datagrid (#384)
---
 .gitignore                                                   |  1 +
 .../org/apache/camel/karavan/service/InfinispanService.java  | 12 ++++++++++--
 .../openshift/{karavan-quarkus-pvc.yaml => karavan-pvc.yaml} | 12 ++++++++++++
 karavan-builder/openshift/kustomization.yaml                 |  2 +-
 4 files changed, 24 insertions(+), 3 deletions(-)

diff --git a/.gitignore b/.gitignore
index fec373d..695002c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -52,6 +52,7 @@ yarn-error.log*
 /keys/*
 *.jar
 
+/karavan-app/karavan-data*
 /karavan-app/src/main/webapp/src/designer/*
 /karavan-app/src/main/resources/kamelets/*
 /karavan-core/lib/
diff --git 
a/karavan-app/src/main/java/org/apache/camel/karavan/service/InfinispanService.java
 
b/karavan-app/src/main/java/org/apache/camel/karavan/service/InfinispanService.java
index 0ae70c0..ad69299 100644
--- 
a/karavan-app/src/main/java/org/apache/camel/karavan/service/InfinispanService.java
+++ 
b/karavan-app/src/main/java/org/apache/camel/karavan/service/InfinispanService.java
@@ -34,6 +34,7 @@ import org.infinispan.commons.api.CacheContainerAdmin;
 import org.infinispan.commons.configuration.XMLStringConfiguration;
 import org.infinispan.configuration.cache.CacheMode;
 import org.infinispan.configuration.cache.ConfigurationBuilder;
+import org.infinispan.configuration.cache.SingleFileStoreConfigurationBuilder;
 import org.infinispan.configuration.global.GlobalConfigurationBuilder;
 import org.infinispan.manager.DefaultCacheManager;
 import org.infinispan.query.dsl.QueryFactory;
@@ -74,9 +75,16 @@ public class InfinispanService {
         if (cacheManager == null) {
             LOGGER.info("InfinispanService is starting in local mode");
             GlobalConfigurationBuilder global = 
GlobalConfigurationBuilder.defaultClusteredBuilder();
+            global.globalState().enable().persistentLocation("karavan-data");
             DefaultCacheManager cacheManager = new 
DefaultCacheManager(global.build());
             ConfigurationBuilder builder = new ConfigurationBuilder();
-            builder.clustering().cacheMode(CacheMode.LOCAL);
+            builder.clustering()
+                    .cacheMode(CacheMode.LOCAL)
+                    .persistence().passivation(false)
+                    .addStore(SingleFileStoreConfigurationBuilder.class)
+                    .shared(false)
+                    .preload(true)
+                    .fetchPersistentState(true);
             projects = 
cacheManager.administration().withFlags(CacheContainerAdmin.AdminFlag.VOLATILE).getOrCreateCache(Project.CACHE,
 builder.build());
             files = 
cacheManager.administration().withFlags(CacheContainerAdmin.AdminFlag.VOLATILE).getOrCreateCache(ProjectFile.CACHE,
 builder.build());
         } else {
@@ -85,7 +93,7 @@ public class InfinispanService {
             files = 
cacheManager.administration().getOrCreateCache(ProjectFile.CACHE, new 
XMLStringConfiguration(String.format(CACHE_CONFIG, ProjectFile.CACHE)));
         }
         if (ProfileManager.getLaunchMode().isDevOrTest()){
-            generateDevProjects();
+//            generateDevProjects();
         }
     }
 
diff --git a/karavan-builder/openshift/karavan-quarkus-pvc.yaml 
b/karavan-builder/openshift/karavan-pvc.yaml
similarity index 67%
rename from karavan-builder/openshift/karavan-quarkus-pvc.yaml
rename to karavan-builder/openshift/karavan-pvc.yaml
index 0175f93..52bd93b 100644
--- a/karavan-builder/openshift/karavan-quarkus-pvc.yaml
+++ b/karavan-builder/openshift/karavan-pvc.yaml
@@ -1,5 +1,17 @@
 apiVersion: v1
 kind: PersistentVolumeClaim
+metadata:
+  name: karavan-data
+spec:
+  resources:
+    requests:
+      storage: 10Gi
+  volumeMode: Filesystem
+  accessModes:
+    - ReadWriteOnce
+---
+apiVersion: v1
+kind: PersistentVolumeClaim
 metadata:
   name: karavan-m2-cache
 spec:
diff --git a/karavan-builder/openshift/kustomization.yaml 
b/karavan-builder/openshift/kustomization.yaml
index 0409791..18072c7 100644
--- a/karavan-builder/openshift/kustomization.yaml
+++ b/karavan-builder/openshift/kustomization.yaml
@@ -2,7 +2,7 @@ apiVersion: kustomize.config.k8s.io/v1beta1
 kind: Kustomization
 
 resources:
-- karavan-quarkus-pvc.yaml
+- karavan-pvc.yaml
 - karavan-secret.yaml
 - karavan-quarkus-task.yaml
 - karavan-quarkus-pipeline.yaml

Reply via email to