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 2382e1dff571d1467351b21bfc5c8bd5a8c49215
Author: Marat Gubaidullin <ma...@talismancloud.io>
AuthorDate: Thu Oct 24 09:02:17 2024 -0400

    Container Type Improvements
---
 .../karavan/kubernetes/DeploymentEventHandler.java | 18 ++++++----
 .../camel/karavan/kubernetes/PodEventHandler.java  | 12 ++++---
 .../karavan/kubernetes/ServiceEventHandler.java    |  6 ++--
 .../listener/PodContainerCommandListener.java      |  5 +--
 .../apache/camel/karavan/model/ContainerType.java  | 27 +++++++++++++++
 .../camel/karavan/model/DeploymentStatus.java      | 14 ++++++--
 .../camel/karavan/model/PodContainerStatus.java    | 40 +++++++++++++---------
 .../apache/camel/karavan/service/CodeService.java  | 22 +++++++++---
 8 files changed, 103 insertions(+), 41 deletions(-)

diff --git 
a/karavan-app/src/main/java/org/apache/camel/karavan/kubernetes/DeploymentEventHandler.java
 
b/karavan-app/src/main/java/org/apache/camel/karavan/kubernetes/DeploymentEventHandler.java
index 73109714..8773d84c 100644
--- 
a/karavan-app/src/main/java/org/apache/camel/karavan/kubernetes/DeploymentEventHandler.java
+++ 
b/karavan-app/src/main/java/org/apache/camel/karavan/kubernetes/DeploymentEventHandler.java
@@ -21,9 +21,11 @@ import io.fabric8.kubernetes.api.model.apps.Deployment;
 import io.fabric8.kubernetes.client.informers.ResourceEventHandler;
 import io.vertx.core.json.JsonObject;
 import io.vertx.mutiny.core.eventbus.EventBus;
+import org.apache.camel.karavan.model.ContainerType;
 import org.apache.camel.karavan.model.DeploymentStatus;
 import org.jboss.logging.Logger;
 
+import static org.apache.camel.karavan.KaravanConstants.LABEL_TYPE;
 import static org.apache.camel.karavan.KaravanEvents.DEPLOYMENT_DELETED;
 import static org.apache.camel.karavan.KaravanEvents.DEPLOYMENT_UPDATED;
 
@@ -68,7 +70,7 @@ public class DeploymentEventHandler implements 
ResourceEventHandler<Deployment>
                     deployment.getMetadata().getName(),
                     deployment.getMetadata().getNamespace(),
                     kubernetesStatusService.getCluster(),
-                    kubernetesStatusService.environment);
+                    kubernetesStatusService.getEnvironment());
             eventBus.publish(DEPLOYMENT_DELETED, JsonObject.mapFrom(ds));
         } catch (Exception e){
             LOGGER.error(e.getMessage());
@@ -77,20 +79,22 @@ public class DeploymentEventHandler implements 
ResourceEventHandler<Deployment>
 
     public DeploymentStatus getDeploymentStatus(Deployment deployment) {
         try {
-            String dsImage = 
deployment.getSpec().getTemplate().getSpec().getContainers().get(0).getImage();
-            String imageName = 
dsImage.startsWith("image-registry.openshift-image-registry.svc")
+            var dsImage = 
deployment.getSpec().getTemplate().getSpec().getContainers().get(0).getImage();
+            var imageName = 
dsImage.startsWith("image-registry.openshift-image-registry.svc")
                     ? 
dsImage.replace("image-registry.openshift-image-registry.svc:5000/", "")
                     : dsImage;
-
+            var typeLabel = 
deployment.getMetadata().getLabels().get(LABEL_TYPE);
+            var type = typeLabel != null ? ContainerType.valueOf(typeLabel) : 
ContainerType.unknown;
             return new DeploymentStatus(
                     deployment.getMetadata().getName(),
                     deployment.getMetadata().getNamespace(),
                     kubernetesStatusService.getCluster(),
-                    kubernetesStatusService.environment,
+                    kubernetesStatusService.getEnvironment(),
                     imageName,
                     deployment.getSpec().getReplicas(),
                     deployment.getStatus().getReadyReplicas(),
-                    deployment.getStatus().getUnavailableReplicas()
+                    deployment.getStatus().getUnavailableReplicas(),
+                    type
             );
         } catch (Exception ex) {
             LOGGER.error(ex.getMessage());
@@ -98,7 +102,7 @@ public class DeploymentEventHandler implements 
ResourceEventHandler<Deployment>
                     deployment.getMetadata().getName(),
                     deployment.getMetadata().getNamespace(),
                     kubernetesStatusService.getCluster(),
-                    kubernetesStatusService.environment);
+                    kubernetesStatusService.getEnvironment());
         }
     }
 }
\ No newline at end of file
diff --git 
a/karavan-app/src/main/java/org/apache/camel/karavan/kubernetes/PodEventHandler.java
 
b/karavan-app/src/main/java/org/apache/camel/karavan/kubernetes/PodEventHandler.java
index 5571a512..66f14503 100644
--- 
a/karavan-app/src/main/java/org/apache/camel/karavan/kubernetes/PodEventHandler.java
+++ 
b/karavan-app/src/main/java/org/apache/camel/karavan/kubernetes/PodEventHandler.java
@@ -24,6 +24,7 @@ import io.fabric8.kubernetes.api.model.ResourceRequirements;
 import io.fabric8.kubernetes.client.informers.ResourceEventHandler;
 import io.vertx.core.json.JsonObject;
 import io.vertx.mutiny.core.eventbus.EventBus;
+import org.apache.camel.karavan.model.ContainerType;
 import org.apache.camel.karavan.model.PodContainerStatus;
 import org.jboss.logging.Logger;
 
@@ -92,7 +93,7 @@ public class PodEventHandler implements 
ResourceEventHandler<Pod> {
             PodContainerStatus cs = new PodContainerStatus();
             cs.setProjectId(projectId);
             cs.setContainerName(pod.getMetadata().getName());
-            cs.setEnv(kubernetesStatusService.environment);
+            cs.setEnv(kubernetesStatusService.getEnvironment());
 
             eventBus.publish(POD_CONTAINER_DELETED, JsonObject.mapFrom(cs));
         } catch (Exception e) {
@@ -108,9 +109,9 @@ public class PodEventHandler implements 
ResourceEventHandler<Pod> {
         String runtime = deployment != null ? deployment : 
pod.getMetadata().getLabels().get(LABEL_CAMEL_RUNTIME);
         String type = pod.getMetadata().getLabels().get(LABEL_TYPE);
         String commit = 
pod.getMetadata().getAnnotations().get(ANNOTATION_COMMIT);
-        PodContainerStatus.ContainerType containerType = deployment != null
-                ? PodContainerStatus.ContainerType.project
-                : (type != null ? 
PodContainerStatus.ContainerType.valueOf(type) : 
PodContainerStatus.ContainerType.unknown);
+        ContainerType containerType = deployment != null
+                ? ContainerType.project
+                : (type != null ? ContainerType.valueOf(type) : 
ContainerType.unknown);
         try {
             boolean ready = 
pod.getStatus().getConditions().stream().anyMatch(c -> 
c.getType().equals("Ready") && c.getStatus().equals("True"));
             boolean running = Objects.equals(pod.getStatus().getPhase(), 
"Running");
@@ -130,11 +131,12 @@ public class PodEventHandler implements 
ResourceEventHandler<Pod> {
                     pod.getMetadata().getName(),
                     List.of(PodContainerStatus.Command.delete),
                     projectId,
-                    kubernetesStatusService.environment,
+                    kubernetesStatusService.getEnvironment(),
                     containerType,
                     requestMemory + " / " + limitMemory,
                     requestCpu + " / " + limitCpu,
                     creationTimestamp);
+            status.setLabels(pod.getMetadata().getLabels());
             status.setImage(pod.getSpec().getContainers().get(0).getImage());
             status.setCommit(commit);
             status.setContainerId(pod.getMetadata().getName());
diff --git 
a/karavan-app/src/main/java/org/apache/camel/karavan/kubernetes/ServiceEventHandler.java
 
b/karavan-app/src/main/java/org/apache/camel/karavan/kubernetes/ServiceEventHandler.java
index 3a67c84a..c00c2e14 100644
--- 
a/karavan-app/src/main/java/org/apache/camel/karavan/kubernetes/ServiceEventHandler.java
+++ 
b/karavan-app/src/main/java/org/apache/camel/karavan/kubernetes/ServiceEventHandler.java
@@ -68,7 +68,7 @@ public class ServiceEventHandler implements 
ResourceEventHandler<Service> {
                     service.getMetadata().getName(),
                     service.getMetadata().getNamespace(),
                     kubernetesStatusService.getCluster(),
-                    kubernetesStatusService.environment);
+                    kubernetesStatusService.getEnvironment());
             eventBus.publish(SERVICE_DELETED, JsonObject.mapFrom(ds));
         } catch (Exception e){
             LOGGER.error(e.getMessage());
@@ -80,7 +80,7 @@ public class ServiceEventHandler implements 
ResourceEventHandler<Service> {
             return new ServiceStatus(
                     service.getMetadata().getName(),
                     service.getMetadata().getNamespace(),
-                    kubernetesStatusService.environment,
+                    kubernetesStatusService.getEnvironment(),
                     kubernetesStatusService.getCluster(),
                     service.getSpec().getPorts().get(0).getPort(),
                     
service.getSpec().getPorts().get(0).getTargetPort().getIntVal(),
@@ -93,7 +93,7 @@ public class ServiceEventHandler implements 
ResourceEventHandler<Service> {
                     service.getMetadata().getName(),
                     service.getMetadata().getNamespace(),
                     kubernetesStatusService.getCluster(),
-                    kubernetesStatusService.environment);
+                    kubernetesStatusService.getEnvironment());
         }
     }
 }
\ No newline at end of file
diff --git 
a/karavan-app/src/main/java/org/apache/camel/karavan/listener/PodContainerCommandListener.java
 
b/karavan-app/src/main/java/org/apache/camel/karavan/listener/PodContainerCommandListener.java
index 1c7873b9..78502210 100644
--- 
a/karavan-app/src/main/java/org/apache/camel/karavan/listener/PodContainerCommandListener.java
+++ 
b/karavan-app/src/main/java/org/apache/camel/karavan/listener/PodContainerCommandListener.java
@@ -26,6 +26,7 @@ import org.apache.camel.karavan.KaravanCache;
 import org.apache.camel.karavan.KaravanConstants;
 import org.apache.camel.karavan.docker.DockerService;
 import org.apache.camel.karavan.kubernetes.KubernetesService;
+import org.apache.camel.karavan.model.ContainerType;
 import org.apache.camel.karavan.model.PodContainerStatus;
 import org.apache.camel.karavan.service.ConfigService;
 import org.eclipse.microprofile.config.inject.ConfigProperty;
@@ -53,7 +54,7 @@ public class PodContainerCommandListener {
 
     @ConsumeEvent(value = CMD_DELETE_CONTAINER, blocking = true)
     public void deletePodContainer(String projectId) {
-        setContainerStatusTransit(projectId, 
PodContainerStatus.ContainerType.devmode.name());
+        setContainerStatusTransit(projectId, ContainerType.devmode.name());
         if (ConfigService.inKubernetes()) {
             kubernetesService.deletePodAndService(projectId, false);
         } else {
@@ -64,7 +65,7 @@ public class PodContainerCommandListener {
     private void setContainerStatusTransit(String name, String type) {
         PodContainerStatus status = karavanCache.getPodContainerStatus(name, 
environment, name);
         if (status == null) {
-            status = PodContainerStatus.createByType(name, environment, 
PodContainerStatus.ContainerType.valueOf(type));
+            status = PodContainerStatus.createByType(name, environment, 
ContainerType.valueOf(type));
         }
         status.setInTransit(true);
         eventBus.publish(POD_CONTAINER_UPDATED, JsonObject.mapFrom(status));
diff --git 
a/karavan-app/src/main/java/org/apache/camel/karavan/model/ContainerType.java 
b/karavan-app/src/main/java/org/apache/camel/karavan/model/ContainerType.java
new file mode 100644
index 00000000..7b315b69
--- /dev/null
+++ 
b/karavan-app/src/main/java/org/apache/camel/karavan/model/ContainerType.java
@@ -0,0 +1,27 @@
+/*
+ * 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.model;
+
+public enum ContainerType {
+    internal,
+    devmode,
+    devservice,
+    project,
+    build,
+    unknown,
+}
diff --git 
a/karavan-app/src/main/java/org/apache/camel/karavan/model/DeploymentStatus.java
 
b/karavan-app/src/main/java/org/apache/camel/karavan/model/DeploymentStatus.java
index aaa41263..0bcf6a3c 100644
--- 
a/karavan-app/src/main/java/org/apache/camel/karavan/model/DeploymentStatus.java
+++ 
b/karavan-app/src/main/java/org/apache/camel/karavan/model/DeploymentStatus.java
@@ -27,6 +27,7 @@ public class DeploymentStatus {
     Integer replicas;
     Integer readyReplicas;
     Integer unavailableReplicas;
+    ContainerType type;
 
     public DeploymentStatus() {
     }
@@ -42,7 +43,7 @@ public class DeploymentStatus {
         this.unavailableReplicas = 0;
     }
 
-    public DeploymentStatus(String projectId, String namespace, String 
cluster, String env, String image, Integer replicas, Integer readyReplicas, 
Integer unavailableReplicas) {
+    public DeploymentStatus(String projectId, String namespace, String 
cluster, String env, String image, Integer replicas, Integer readyReplicas, 
Integer unavailableReplicas, ContainerType type) {
         this.projectId = projectId;
         this.namespace = namespace;
         this.env = env;
@@ -51,6 +52,7 @@ public class DeploymentStatus {
         this.replicas = replicas;
         this.readyReplicas = readyReplicas;
         this.unavailableReplicas = unavailableReplicas;
+        this.type = type;
     }
 
     public String getProjectId() {
@@ -117,7 +119,15 @@ public class DeploymentStatus {
         this.cluster = cluster;
     }
 
+    public ContainerType getType() {
+        return type;
+    }
+
+    public void setType(ContainerType type) {
+        this.type = type;
+    }
+
     public DeploymentStatus copy() {
-        return new DeploymentStatus(projectId, namespace, cluster, env, image, 
replicas, readyReplicas, unavailableReplicas);
+        return new DeploymentStatus(projectId, namespace, cluster, env, image, 
replicas, readyReplicas, unavailableReplicas, type);
     }
 }
diff --git 
a/karavan-app/src/main/java/org/apache/camel/karavan/model/PodContainerStatus.java
 
b/karavan-app/src/main/java/org/apache/camel/karavan/model/PodContainerStatus.java
index 6d5422f3..6fa8ffa4 100644
--- 
a/karavan-app/src/main/java/org/apache/camel/karavan/model/PodContainerStatus.java
+++ 
b/karavan-app/src/main/java/org/apache/camel/karavan/model/PodContainerStatus.java
@@ -18,7 +18,9 @@
 package org.apache.camel.karavan.model;
 
 import java.time.Instant;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 public class PodContainerStatus {
 
@@ -31,15 +33,6 @@ public class PodContainerStatus {
         dead
     }
 
-    public enum ContainerType {
-        internal,
-        devmode,
-        devservice,
-        project,
-        build,
-        unknown,
-    }
-
     public enum Command {
         run,
         pause,
@@ -67,8 +60,9 @@ public class PodContainerStatus {
     String podIP;
     String camelRuntime;
     String commit;
+    Map<String, String> labels;
 
-    public PodContainerStatus(String projectId, String containerName, String 
containerId, String image, List<ContainerPort> ports, String env, ContainerType 
type, String memoryInfo, String cpuInfo, String created, String finished, 
List<Command> commands, String state, String phase, Boolean codeLoaded, Boolean 
inTransit, String initDate, String podIP, String camelRuntime, String commit) {
+    public PodContainerStatus(String projectId, String containerName, String 
containerId, String image, List<ContainerPort> ports, String env, ContainerType 
type, String memoryInfo, String cpuInfo, String created, String finished, 
List<Command> commands, String state, String phase, Boolean codeLoaded, Boolean 
inTransit, String initDate, String podIP, String camelRuntime, String commit, 
Map<String, String> labels) {
         this.projectId = projectId;
         this.containerName = containerName;
         this.containerId = containerId;
@@ -89,6 +83,7 @@ public class PodContainerStatus {
         this.podIP = podIP;
         this.camelRuntime = camelRuntime;
         this.commit = commit;
+        this.labels = labels;
     }
 
     public PodContainerStatus(String projectId, String containerName, String 
containerId, String image, List<ContainerPort> ports, String env, ContainerType 
type, String memoryInfo, String cpuInfo, String created, String finished, 
List<Command> commands, String state, String phase, Boolean codeLoaded, Boolean 
inTransit, String initDate, String podIP, String camelRuntime) {
@@ -113,7 +108,7 @@ public class PodContainerStatus {
         this.camelRuntime = camelRuntime;
     }
 
-    public PodContainerStatus(String projectId, String containerName, String 
containerId, String image, List<ContainerPort> ports, String env, ContainerType 
type, String memoryInfo, String cpuInfo, String created, String finished, 
List<Command> commands, String state, String phase, Boolean codeLoaded, Boolean 
inTransit, String initDate) {
+    public PodContainerStatus(String projectId, String containerName, String 
containerId, String image, List<ContainerPort> ports, String env, ContainerType 
type, String memoryInfo, String cpuInfo, String created, String finished, 
List<Command> commands, String state, String phase, Boolean codeLoaded, Boolean 
inTransit, String initDate, Map<String, String> labels) {
         this.projectId = projectId;
         this.containerName = containerName;
         this.containerId = containerId;
@@ -131,9 +126,10 @@ public class PodContainerStatus {
         this.codeLoaded = codeLoaded;
         this.inTransit = inTransit;
         this.initDate = initDate;
+        this.labels = labels;
     }
 
-    public PodContainerStatus(String projectId, String containerName, String 
containerId, String image, List<ContainerPort> ports, String env, ContainerType 
type, String memoryInfo, String cpuInfo, String created, String finished, 
List<Command> commands, String state, Boolean codeLoaded, Boolean inTransit, 
String camelRuntime) {
+    public PodContainerStatus(String projectId, String containerName, String 
containerId, String image, List<ContainerPort> ports, String env, ContainerType 
type, String memoryInfo, String cpuInfo, String created, String finished, 
List<Command> commands, String state, Boolean codeLoaded, Boolean inTransit, 
String camelRuntime, Map<String, String> labels) {
         this.projectId = projectId;
         this.containerName = containerName;
         this.containerId = containerId;
@@ -151,6 +147,7 @@ public class PodContainerStatus {
         this.camelRuntime = camelRuntime;
         this.inTransit = inTransit;
         this.initDate = Instant.now().toString();
+        this.labels = labels;
     }
 
     public PodContainerStatus(String containerName, List<Command> commands, 
String projectId, String env, ContainerType type, String memoryInfo, String 
cpuInfo, String created) {
@@ -176,16 +173,16 @@ public class PodContainerStatus {
     }
 
     public static PodContainerStatus createDevMode(String projectId, String 
env) {
-        return new PodContainerStatus(projectId, projectId, null, null, null, 
env, ContainerType.devmode, null, null, null, null, List.of(Command.run), null, 
false, false, "");
+        return new PodContainerStatus(projectId, projectId, null, null, null, 
env, ContainerType.devmode, null, null, null, null, List.of(Command.run), null, 
false, false, "", new HashMap<>());
     }
 
     public static PodContainerStatus createByType(String name, String env, 
ContainerType type) {
-        return new PodContainerStatus(name, name, null, null, null, env, type, 
null, null, null, null, List.of(Command.run), null, false, false, "");
+        return new PodContainerStatus(name, name, null, null, null, env, type, 
null, null, null, null, List.of(Command.run), null, false, false, "", new 
HashMap<>());
     }
 
-    public static PodContainerStatus createWithId(String projectId, String 
containerName, String env, String containerId, String image, 
List<ContainerPort> ports, ContainerType type, List<Command> commands, String 
status, String created, String camelRuntime) {
+    public static PodContainerStatus createWithId(String projectId, String 
containerName, String env, String containerId, String image, 
List<ContainerPort> ports, ContainerType type, List<Command> commands, String 
status, String created, String camelRuntime, Map<String, String> labels) {
         return new PodContainerStatus(projectId, containerName, containerId, 
image, ports, env, type,
-                null, null, created, null,  commands, status, false, false, 
camelRuntime);
+                null, null, created, null,  commands, status, false, false, 
camelRuntime, labels);
     }
 
     public PodContainerStatus() {
@@ -193,7 +190,7 @@ public class PodContainerStatus {
 
     public PodContainerStatus copy() {
         return new PodContainerStatus(
-                projectId, containerName, containerId, image, ports, env, 
type, memoryInfo, cpuInfo, created, finished, commands, state, phase, 
codeLoaded, inTransit, initDate, podIP, camelRuntime, commit
+                projectId, containerName, containerId, image, ports, env, 
type, memoryInfo, cpuInfo, created, finished, commands, state, phase, 
codeLoaded, inTransit, initDate, podIP, camelRuntime, commit, labels
         );
     }
 
@@ -357,6 +354,14 @@ public class PodContainerStatus {
         this.commit = commit;
     }
 
+    public Map<String, String> getLabels() {
+        return labels;
+    }
+
+    public void setLabels(Map<String, String> labels) {
+        this.labels = labels;
+    }
+
     @Override
     public String toString() {
         return "ContainerStatus{" +
@@ -379,6 +384,7 @@ public class PodContainerStatus {
                 ", initDate='" + initDate + '\'' +
                 ", podIP='" + podIP + '\'' +
                 ", commit='" + commit + '\'' +
+                ", labels='" + labels + '\'' +
                 '}';
     }
 }
diff --git 
a/karavan-app/src/main/java/org/apache/camel/karavan/service/CodeService.java 
b/karavan-app/src/main/java/org/apache/camel/karavan/service/CodeService.java
index 5d1a5bbf..403a502b 100644
--- 
a/karavan-app/src/main/java/org/apache/camel/karavan/service/CodeService.java
+++ 
b/karavan-app/src/main/java/org/apache/camel/karavan/service/CodeService.java
@@ -55,13 +55,14 @@ public class CodeService {
     public static final String PROPERTY_PROJECT_NAME = 
"camel.karavan.projectName";
     public static final String PROPERTY_PROJECT_NAME_OLD = 
"camel.karavan.project-name";
     public static final String BEAN_TEMPLATE_SUFFIX_FILENAME = 
"-bean-template.camel.yaml";
-    public static final String DEV_SERVICES_FILENAME = 
"devservices.docker-compose.yaml";
+    public static final String DEV_SERVICES_FILENAME = "docker-compose.yaml";
     public static final String PROJECT_COMPOSE_FILENAME = 
"docker-compose.yaml";
     public static final String MARKDOWN_EXTENSION = ".md";
     public static final String PROJECT_JKUBE_EXTENSION = ".jkube.yaml";
     public static final String PROJECT_DEPLOYMENT_JKUBE_FILENAME = 
"deployment" + PROJECT_JKUBE_EXTENSION;
     private static final String TEMPLATES_PATH = "/templates";
     private static final String CONFIGURATION_PATH = "/configuration";
+    private static final String SERVICES_PATH = "/services";
     private static final String DOCKER_FOLDER = "/docker/";
     private static final String KUBERNETES_FOLDER = "/kubernetes/";
     public static final int INTERNAL_PORT = 8080;
@@ -204,10 +205,6 @@ public class CodeService {
         return null;
     }
 
-    public List<String> getBeanTemplateNames(){
-        return beansTemplates.stream().map(name -> name + 
BEAN_TEMPLATE_SUFFIX_FILENAME).toList();
-    }
-
     public Map<String, String> getTemplates() {
         Map<String, String> result = new HashMap<>();
 
@@ -238,6 +235,21 @@ public class CodeService {
         return result;
     }
 
+    public Map<String, String> getDevServicesFiles() {
+        Map<String, String> result = new HashMap<>();
+
+        var path = SERVICES_PATH + (ConfigService.inKubernetes() ? 
KUBERNETES_FOLDER : DOCKER_FOLDER);
+
+        listResources(path).forEach(filename -> {
+            String templatePath = path + filename;
+            String templateText = getResourceFile(templatePath);
+            if (templateText != null) {
+                result.put(filename, templateText);
+            }
+        });
+        return result;
+    }
+
     public List<String> getTemplatesList() {
         var path = TEMPLATES_PATH + (ConfigService.inKubernetes() ? 
KUBERNETES_FOLDER : DOCKER_FOLDER);
         return listResources(path);

Reply via email to