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 dca8139a Prepare to work in Openshift for #885
dca8139a is described below

commit dca8139adce58fed3f8363cc9855ccca2948834b
Author: Marat Gubaidullin <[email protected]>
AuthorDate: Sat Sep 16 19:38:48 2023 -0400

    Prepare to work in Openshift for #885
---
 karavan-web/docker/Dockerfile.devmode              | 11 ++--
 .../camel/karavan/api/ContainerResource.java       | 65 ++++++++++++----------
 2 files changed, 42 insertions(+), 34 deletions(-)

diff --git a/karavan-web/docker/Dockerfile.devmode 
b/karavan-web/docker/Dockerfile.devmode
index 5f998b56..6ef09a9c 100644
--- a/karavan-web/docker/Dockerfile.devmode
+++ b/karavan-web/docker/Dockerfile.devmode
@@ -10,12 +10,12 @@ ENV JBANG_VERSION=0.110.0
 ENV CAMEL_VERSION=4.0.0
 ENV DOT_CAMEL="/.camel"
 ENV KARAVAN="/karavan"
-ENV BUILDER_PATH="/builder"
+ENV BUILDER_PATH="$KARAVAN/builder"
 ENV JBANG_REPO="$KARAVAN/.jbang/cache/.m2"
 ENV JBANG_DIR="$KARAVAN/.jbang"
 ENV MAVEN_SETTINGS="/karavan-config-map/maven-settings.xml"
 # ENV MAVEN_CONFIG="$KARAVAN/.m2"
-ENV CODE_DIR="/code"
+ENV CODE_DIR="$KARAVAN/code"
 ENV KAMELETS_DIR="/$CODE_DIR/kamelets"
 ENV PATH="${PATH}:$KARAVAN/.jbang/bin"
 
@@ -26,14 +26,15 @@ RUN mkdir -p $DOT_CAMEL \
     && mkdir -p $BUILDER_PATH \
     && mkdir -p $JBANG_REPO
 
+RUN chgrp -R 0 $KARAVAN && chmod -R g+rwX $KARAVAN
+RUN chgrp -R 0 $DOT_CAMEL && chmod -R g+rwX $DOT_CAMEL
+RUN chgrp -R 0 $HOME && chmod -R g+rwX $HOME
+
 RUN curl -Ls https://sh.jbang.dev | bash -s - app setup \
     && jbang trust add  --quiet  https://github.com/apache/camel \
     && jbang app install camel@apache/camel \
     && jbang config set cache-evict never
 
-RUN chgrp -R 0 $KARAVAN && chmod -R g+rwX $KARAVAN
-RUN chgrp -R 0 $DOT_CAMEL && chmod -R g+rwX $DOT_CAMEL
-
 EXPOSE 8080
 WORKDIR $CODE_DIR
 CMD jbang $JBANG_OPTIONS -Dcamel.jbang.version=$CAMEL_VERSION 
camel@apache/camel run --source-dir=$CODE_DIR --console 
--local-kamelet-dir=$KAMELETS_DIR --maven-settings=$MAVEN_SETTINGS
diff --git 
a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/ContainerResource.java
 
b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/ContainerResource.java
index e035dbba..178e987c 100644
--- 
a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/ContainerResource.java
+++ 
b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/ContainerResource.java
@@ -83,39 +83,46 @@ public class ContainerResource {
     @Path("/{env}/{type}/{name}")
     public Response manageContainer(@PathParam("env") String env, 
@PathParam("type") String type, @PathParam("name") String name, JsonObject 
command) throws Exception {
         if (infinispanService.isReady()) {
-            // set container statuses
-            setContainerStatusTransit(name, type);
-            // exec docker commands
-            if (command.containsKey("command")) {
-                if (command.getString("command").equalsIgnoreCase("run")) {
-                    if (Objects.equals(type, 
ContainerStatus.ContainerType.devservice.name())) {
-                        String code = projectService.getDevServiceCode();
-                        DockerComposeService dockerComposeService = 
DockerComposeConverter.fromCode(code, name);
-                        if (dockerComposeService != null) {
-                            
dockerService.createContainerFromCompose(dockerComposeService, 
ContainerStatus.ContainerType.devmode);
-                            
dockerService.runContainer(dockerComposeService.getContainer_name());
-                        }
-                    } else if (Objects.equals(type, 
ContainerStatus.ContainerType.project.name())) {
-                        DockerComposeService dockerComposeService = 
projectService.getProjectDockerComposeService(name);
-                        if (dockerComposeService != null) {
-                            
dockerService.createContainerFromCompose(dockerComposeService, 
ContainerStatus.ContainerType.project);
-                            
dockerService.runContainer(dockerComposeService.getContainer_name());
-                        }
-                    } else if (Objects.equals(type, 
ContainerStatus.ContainerType.devmode.name())) {
+            if (ConfigService.inKubernetes()) {
+                if (command.getString("command").equalsIgnoreCase("delete")) {
+                    kubernetesService.deletePod(name);
+                    return Response.ok().build();
+                }
+            } else {
+                // set container statuses
+                setContainerStatusTransit(name, type);
+                // exec docker commands
+                if (command.containsKey("command")) {
+                    if (command.getString("command").equalsIgnoreCase("run")) {
+                        if (Objects.equals(type, 
ContainerStatus.ContainerType.devservice.name())) {
+                            String code = projectService.getDevServiceCode();
+                            DockerComposeService dockerComposeService = 
DockerComposeConverter.fromCode(code, name);
+                            if (dockerComposeService != null) {
+                                
dockerService.createContainerFromCompose(dockerComposeService, 
ContainerStatus.ContainerType.devmode);
+                                
dockerService.runContainer(dockerComposeService.getContainer_name());
+                            }
+                        } else if (Objects.equals(type, 
ContainerStatus.ContainerType.project.name())) {
+                            DockerComposeService dockerComposeService = 
projectService.getProjectDockerComposeService(name);
+                            if (dockerComposeService != null) {
+                                
dockerService.createContainerFromCompose(dockerComposeService, 
ContainerStatus.ContainerType.project);
+                                
dockerService.runContainer(dockerComposeService.getContainer_name());
+                            }
+                        } else if (Objects.equals(type, 
ContainerStatus.ContainerType.devmode.name())) {
 //                        TODO: merge with DevMode service
 //                        dockerForKaravan.createDevmodeContainer(name, "");
 //                        dockerService.runContainer(name);
+                        }
+                        return Response.ok().build();
+                    } else if 
(command.getString("command").equalsIgnoreCase("stop")) {
+                        dockerService.stopContainer(name);
+                        return Response.ok().build();
+                    } else if 
(command.getString("command").equalsIgnoreCase("pause")) {
+                        dockerService.pauseContainer(name);
+                        return Response.ok().build();
+                    } else if 
(command.getString("command").equalsIgnoreCase("delete")) {
+                        dockerService.deleteContainer(name);
+                        return Response.ok().build();
                     }
-                    return Response.ok().build();
-                } else if 
(command.getString("command").equalsIgnoreCase("stop")) {
-                    dockerService.stopContainer(name);
-                    return Response.ok().build();
-                } else if 
(command.getString("command").equalsIgnoreCase("pause")) {
-                    dockerService.pauseContainer(name);
-                    return Response.ok().build();
-                } else if 
(command.getString("command").equalsIgnoreCase("delete")) {
-                    dockerService.deleteContainer(name);
-                    return Response.ok().build();
                 }
             }
         }

Reply via email to