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 0369e194 VERBOSE_OPTION 0369e194 is described below commit 0369e19476e87c972a388abc07d54129fdc5d9b4 Author: Marat Gubaidullin <ma...@talismancloud.io> AuthorDate: Thu Nov 14 15:11:44 2024 -0500 VERBOSE_OPTION --- .../main/java/org/apache/camel/karavan/KaravanConstants.java | 3 ++- .../java/org/apache/camel/karavan/api/DevModeResource.java | 8 ++++---- .../org/apache/camel/karavan/docker/DockerForKaravan.java | 12 ++++++------ .../apache/camel/karavan/kubernetes/KubernetesService.java | 8 ++++---- .../camel/karavan/kubernetes/KubernetesStatusService.java | 11 +++-------- .../org/apache/camel/karavan/service/ProjectService.java | 6 +++--- karavan-app/src/main/webui/src/api/KaravanApi.tsx | 2 +- karavan-generator/dependency-reduced-pom.xml | 2 +- 8 files changed, 24 insertions(+), 28 deletions(-) diff --git a/karavan-app/src/main/java/org/apache/camel/karavan/KaravanConstants.java b/karavan-app/src/main/java/org/apache/camel/karavan/KaravanConstants.java index f3ffb86e..3b2a40d8 100644 --- a/karavan-app/src/main/java/org/apache/camel/karavan/KaravanConstants.java +++ b/karavan-app/src/main/java/org/apache/camel/karavan/KaravanConstants.java @@ -21,7 +21,8 @@ public class KaravanConstants { public static final String DEV = "dev"; public static final String DEVMODE_IMAGE = "karavan.devmode.image"; public static final String DEVMODE_IMAGE_PULL_POLICY = "karavan.devmode.withImagePullPolicy"; - public static final String ENV_VAR_JBANG_OPTIONS = "JBANG_OPTIONS"; + public static final String ENV_VAR_VERBOSE_OPTION_NAME = "VERBOSE_OPTION"; + public static final String ENV_VAR_VERBOSE_OPTION_VALUE = "--verbose"; public static final String LABEL_PART_OF = "app.kubernetes.io/part-of"; public static final String LABEL_TYPE = "org.apache.camel.karavan/type"; diff --git a/karavan-app/src/main/java/org/apache/camel/karavan/api/DevModeResource.java b/karavan-app/src/main/java/org/apache/camel/karavan/api/DevModeResource.java index 2fac96a2..6a0ef84d 100644 --- a/karavan-app/src/main/java/org/apache/camel/karavan/api/DevModeResource.java +++ b/karavan-app/src/main/java/org/apache/camel/karavan/api/DevModeResource.java @@ -54,10 +54,10 @@ public class DevModeResource { @POST @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) - @Path("/{jBangOptions}") - public Response runProjectWithJBangOptions(Project project, @PathParam("jBangOptions") String jBangOptions) { + @Path("/{verbose}") + public Response runProjectWithJBangOptions(Project project, @PathParam("verbose") boolean verbose) { try { - String containerName = projectService.runProjectWithJBangOptions(project, jBangOptions, Map.of(), Map.of()); + String containerName = projectService.runProjectWithJBangOptions(project, verbose, Map.of(), Map.of()); if (containerName != null) { return Response.ok(containerName).build(); } else { @@ -73,7 +73,7 @@ public class DevModeResource { @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) public Response runProject(Project project) throws Exception { - return runProjectWithJBangOptions(project, ""); + return runProjectWithJBangOptions(project, false); } @GET diff --git a/karavan-app/src/main/java/org/apache/camel/karavan/docker/DockerForKaravan.java b/karavan-app/src/main/java/org/apache/camel/karavan/docker/DockerForKaravan.java index 22f6b319..69fcc826 100644 --- a/karavan-app/src/main/java/org/apache/camel/karavan/docker/DockerForKaravan.java +++ b/karavan-app/src/main/java/org/apache/camel/karavan/docker/DockerForKaravan.java @@ -48,24 +48,24 @@ public class DockerForKaravan { @Inject DockerService dockerService; - public void runProjectInDevMode(String projectId, String jBangOptions, DockerComposeService composeService, + public void runProjectInDevMode(String projectId, Boolean verbose, DockerComposeService composeService, Map<String, String> files, String projectDevmodeImage, Map<String, String> labels, Map<String, String> envVars) throws Exception { - Container c = createDevmodeContainer(projectId, jBangOptions, composeService, projectDevmodeImage, labels, envVars); + Container c = createDevmodeContainer(projectId, verbose, composeService, projectDevmodeImage, labels, envVars); dockerService.runContainer(projectId); dockerService.copyFiles(c.getId(), "/karavan/code", files, true); } - protected Container createDevmodeContainer(String projectId, String jBangOptions, DockerComposeService compose, + protected Container createDevmodeContainer(String projectId, Boolean verbose, DockerComposeService compose, String projectDevmodeImage, Map<String, String> labels, Map<String, String> envVars) throws InterruptedException { - LOGGER.infof("DevMode starting for %s with JBANG_OPTIONS=%s", projectId, jBangOptions); + LOGGER.infof("DevMode starting for %s with verbose=%s", projectId, verbose); HealthCheck healthCheck = new HealthCheck().withTest(List.of("CMD", "curl", "-f", "http://localhost:8080/q/dev/health")) .withInterval(10000000000L).withTimeout(10000000000L).withStartPeriod(10000000000L).withRetries(30); List<String> env = new ArrayList<>(compose.getEnvironmentList()); envVars.forEach((k,v) -> env.add(k + "=" + v)); - if (jBangOptions != null && !jBangOptions.trim().isEmpty()) { - env.add(ENV_VAR_JBANG_OPTIONS + "=" + jBangOptions); + if (verbose) { + env.add(ENV_VAR_VERBOSE_OPTION_NAME + "=" + ENV_VAR_VERBOSE_OPTION_VALUE); } if (createM2.orElse(false)) { diff --git a/karavan-app/src/main/java/org/apache/camel/karavan/kubernetes/KubernetesService.java b/karavan-app/src/main/java/org/apache/camel/karavan/kubernetes/KubernetesService.java index dd1e27df..18b0b78f 100644 --- a/karavan-app/src/main/java/org/apache/camel/karavan/kubernetes/KubernetesService.java +++ b/karavan-app/src/main/java/org/apache/camel/karavan/kubernetes/KubernetesService.java @@ -335,7 +335,7 @@ public class KubernetesService { return result; } - public void runDevModeContainer(Project project, String jBangOptions, Map<String, String> files, String projectDevmodeImage, String deploymentFragment, Map<String, String> labels, Map<String, String> envVars) { + public void runDevModeContainer(Project project, Boolean verbose, Map<String, String> files, String projectDevmodeImage, String deploymentFragment, Map<String, String> labels, Map<String, String> envVars) { String name = project.getProjectId(); Map<String, String> podLabels = new HashMap<>(labels); podLabels.putAll(getLabels(name, project, ContainerType.devmode)); @@ -346,7 +346,7 @@ public class KubernetesService { } Pod old = client.pods().inNamespace(getNamespace()).withName(name).get(); if (old == null) { - Pod pod = getDevModePod(name, jBangOptions, podLabels, projectDevmodeImage, deploymentFragment, envVars); + Pod pod = getDevModePod(name, verbose, podLabels, projectDevmodeImage, deploymentFragment, envVars); Pod result = client.resource(pod).serverSideApply(); copyFilesToContainer(result, files, "/karavan/code"); LOGGER.info("Created pod " + result.getMetadata().getName()); @@ -389,7 +389,7 @@ public class KubernetesService { .build(); } - private Pod getDevModePod(String name, String jbangOptions, Map<String, String> labels, String projectDevmodeImage, String deploymentFragment, Map<String, String> envVars) { + private Pod getDevModePod(String name, Boolean verbose, Map<String, String> labels, String projectDevmodeImage, String deploymentFragment, Map<String, String> envVars) { Deployment deployment = Serialization.unmarshal(deploymentFragment, Deployment.class); PodSpec podSpec = null; @@ -420,7 +420,7 @@ public class KubernetesService { List<EnvVar> environmentVariables = new ArrayList<>(); envVars.forEach((k, v) -> environmentVariables.add(new EnvVarBuilder().withName(k).withValue(v).build())); - environmentVariables.add(new EnvVarBuilder().withName(ENV_VAR_JBANG_OPTIONS).withValue(jbangOptions).build()); + environmentVariables.add(new EnvVarBuilder().withName(ENV_VAR_VERBOSE_OPTION_NAME).withValue(ENV_VAR_VERBOSE_OPTION_VALUE).build()); Container container = new ContainerBuilder() .withName(name) diff --git a/karavan-app/src/main/java/org/apache/camel/karavan/kubernetes/KubernetesStatusService.java b/karavan-app/src/main/java/org/apache/camel/karavan/kubernetes/KubernetesStatusService.java index 8ed733d5..b86acf68 100644 --- a/karavan-app/src/main/java/org/apache/camel/karavan/kubernetes/KubernetesStatusService.java +++ b/karavan-app/src/main/java/org/apache/camel/karavan/kubernetes/KubernetesStatusService.java @@ -31,7 +31,6 @@ import jakarta.enterprise.inject.Default; import jakarta.enterprise.inject.Produces; import jakarta.inject.Inject; import org.apache.camel.karavan.KaravanConstants; -import org.apache.camel.karavan.model.ContainerType; import org.apache.camel.karavan.service.ConfigService; import org.eclipse.microprofile.config.inject.ConfigProperty; import org.eclipse.microprofile.health.HealthCheck; @@ -45,8 +44,6 @@ import java.util.List; import java.util.Map; import java.util.Optional; -import static org.apache.camel.karavan.KaravanConstants.LABEL_TYPE; - @Default @Readiness @ApplicationScoped @@ -97,17 +94,15 @@ public class KubernetesStatusService implements HealthCheck { KubernetesClient client = kubernetesClient(); - String[] values = new String[]{ContainerType.project.name(), ContainerType.build.name(), ContainerType.devmode.name(), ContainerType.devservice.name(), ContainerType.internal.name(),}; - - SharedIndexInformer<Deployment> deploymentInformer = client.apps().deployments().inNamespace(getNamespace()).withLabelIn(LABEL_TYPE, values).inform(); + SharedIndexInformer<Deployment> deploymentInformer = client.apps().deployments().inNamespace(getNamespace()).inform(); deploymentInformer.addEventHandlerWithResyncPeriod(new DeploymentEventHandler(this, eventBus), 30 * 1000L); informers.add(deploymentInformer); - SharedIndexInformer<Service> serviceInformer = client.services().inNamespace(getNamespace()).withLabelIn(LABEL_TYPE, values).inform(); + SharedIndexInformer<Service> serviceInformer = client.services().inNamespace(getNamespace()).inform(); serviceInformer.addEventHandlerWithResyncPeriod(new ServiceEventHandler(this, eventBus), 30 * 1000L); informers.add(serviceInformer); - SharedIndexInformer<Pod> podRunInformer = client.pods().inNamespace(getNamespace()).withLabelIn(LABEL_TYPE, values).inform(); + SharedIndexInformer<Pod> podRunInformer = client.pods().inNamespace(getNamespace()).inform(); podRunInformer.addEventHandlerWithResyncPeriod(new PodEventHandler( this, eventBus), 30 * 1000L); informers.add(podRunInformer); diff --git a/karavan-app/src/main/java/org/apache/camel/karavan/service/ProjectService.java b/karavan-app/src/main/java/org/apache/camel/karavan/service/ProjectService.java index 25c07faa..c7944a0c 100644 --- a/karavan-app/src/main/java/org/apache/camel/karavan/service/ProjectService.java +++ b/karavan-app/src/main/java/org/apache/camel/karavan/service/ProjectService.java @@ -93,7 +93,7 @@ public class ProjectService { } } - public String runProjectWithJBangOptions(Project project, String jBangOptions, Map<String, String> labels, Map<String, String> envVars) throws Exception { + public String runProjectWithJBangOptions(Project project, Boolean verbose, Map<String, String> labels, Map<String, String> envVars) throws Exception { String containerName = project.getProjectId(); PodContainerStatus status = karavanCache.getDevModePodContainerStatus(project.getProjectId(), environment); if (status == null) { @@ -107,10 +107,10 @@ public class ProjectService { String projectDevmodeImage = codeService.getProjectDevModeImage(project.getProjectId()); if (ConfigService.inKubernetes()) { String deploymentFragment = codeService.getDeploymentFragment(project.getProjectId()); - kubernetesService.runDevModeContainer(project, jBangOptions, files, projectDevmodeImage, deploymentFragment, labels, envVars); + kubernetesService.runDevModeContainer(project, verbose, files, projectDevmodeImage, deploymentFragment, labels, envVars); } else { DockerComposeService compose = getProjectDockerComposeService(project.getProjectId()); - dockerForKaravan.runProjectInDevMode(project.getProjectId(), jBangOptions, compose, files, projectDevmodeImage, labels, envVars); + dockerForKaravan.runProjectInDevMode(project.getProjectId(), verbose, compose, files, projectDevmodeImage, labels, envVars); } return containerName; } else { diff --git a/karavan-app/src/main/webui/src/api/KaravanApi.tsx b/karavan-app/src/main/webui/src/api/KaravanApi.tsx index 59df8fdd..b4614940 100644 --- a/karavan-app/src/main/webui/src/api/KaravanApi.tsx +++ b/karavan-app/src/main/webui/src/api/KaravanApi.tsx @@ -464,7 +464,7 @@ export class KaravanApi { } static async startDevModeContainer(project: Project, verbose: boolean, after: (res: AxiosResponse<any>) => void) { - instance.post('/ui/devmode' + (verbose ? '/--verbose' : ''), project) + instance.post('/ui/devmode/' + verbose.toString(), project) .then(res => { after(res); }).catch(err => { diff --git a/karavan-generator/dependency-reduced-pom.xml b/karavan-generator/dependency-reduced-pom.xml index 7905bc98..7afbae4e 100644 --- a/karavan-generator/dependency-reduced-pom.xml +++ b/karavan-generator/dependency-reduced-pom.xml @@ -69,7 +69,7 @@ </repositories> <properties> <maven.compiler.source>17</maven.compiler.source> - <version.camel-kamelet>4.8.0</version.camel-kamelet> + <version.camel-kamelet>4.8.1</version.camel-kamelet> <compiler-plugin.version>3.8.1</compiler-plugin.version> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <version.vertx>4.5.9</version.vertx>