This is an automated email from the ASF dual-hosted git repository.

cdeppisch pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new 62e3d9194e2 [CAMEL-21032] Generate k8s service for health endpoint
62e3d9194e2 is described below

commit 62e3d9194e21d28e2004fbca4b363bc9562056cf
Author: Thomas Diesler <[email protected]>
AuthorDate: Tue Jul 30 14:54:16 2024 +0200

    [CAMEL-21032] Generate k8s service for health endpoint
---
 .../resources/templates/main-kubernetes-pom.tmpl   | 15 +++++
 .../templates/spring-boot-kubernetes-pom.tmpl      | 15 +++++
 .../dsl/jbang/core/commands/k/CamelKBaseTest.java  |  2 +-
 .../core/commands/k/IntegrationExportTest.java     | 27 ++++++---
 .../core/commands/kubernetes/KubernetesExport.java |  2 +-
 .../commands/kubernetes/traits/ContainerTrait.java |  5 +-
 .../commands/kubernetes/traits/ServiceTrait.java   |  8 ++-
 .../commands/kubernetes/traits/TraitHelper.java    | 17 +++---
 .../commands/kubernetes/KubernetesExportTest.java  | 67 ++++++++++++++++------
 .../src/test/resources/route-service.yaml          |  2 +-
 10 files changed, 121 insertions(+), 39 deletions(-)

diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/resources/templates/main-kubernetes-pom.tmpl
 
b/dsl/camel-jbang/camel-jbang-core/src/main/resources/templates/main-kubernetes-pom.tmpl
index 4d0e44bc1ed..261ca1ca492 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/resources/templates/main-kubernetes-pom.tmpl
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/resources/templates/main-kubernetes-pom.tmpl
@@ -188,6 +188,21 @@
     </build>
 
     <profiles>
+        <profile>
+            <id>camel.debug</id>
+            <activation>
+                <property>
+                    <name>camel.debug</name>
+                    <value>true</value>
+                </property>
+            </activation>
+            <dependencies>
+                <dependency>
+                    <groupId>org.apache.camel</groupId>
+                    <artifactId>camel-debug</artifactId>
+                </dependency>
+            </dependencies>
+        </profile>
     </profiles>
 
 </project>
diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/resources/templates/spring-boot-kubernetes-pom.tmpl
 
b/dsl/camel-jbang/camel-jbang-core/src/main/resources/templates/spring-boot-kubernetes-pom.tmpl
index 916f0de418e..56f08165667 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/resources/templates/spring-boot-kubernetes-pom.tmpl
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/resources/templates/spring-boot-kubernetes-pom.tmpl
@@ -139,6 +139,21 @@
     </build>
 
     <profiles>
+        <profile>
+            <id>camel.debug</id>
+            <activation>
+                <property>
+                    <name>camel.debug</name>
+                    <value>true</value>
+                </property>
+            </activation>
+            <dependencies>
+                <dependency>
+                    <groupId>org.apache.camel</groupId>
+                    <artifactId>camel-debug</artifactId>
+                </dependency>
+            </dependencies>
+        </profile>
     </profiles>
 
 </project>
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/CamelKBaseTest.java
 
b/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/CamelKBaseTest.java
index 06f4df9cd5b..b0cf56a53eb 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/CamelKBaseTest.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/CamelKBaseTest.java
@@ -65,7 +65,7 @@ public class CamelKBaseTest {
     }
 
     @BeforeEach
-    public void setup() {
+    public void setup() throws Exception {
         printer = new StringPrinter();
         k8sServer.reset();
     }
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/IntegrationExportTest.java
 
b/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/IntegrationExportTest.java
index bc5f9685e3e..37ad037b487 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/IntegrationExportTest.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/IntegrationExportTest.java
@@ -21,22 +21,25 @@ import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.nio.file.Files;
+import java.util.List;
+import java.util.Optional;
 
+import io.fabric8.kubernetes.api.model.HasMetadata;
 import io.fabric8.kubernetes.api.model.apps.Deployment;
+import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.dsl.jbang.core.commands.CamelJBangMain;
-import org.apache.camel.dsl.jbang.core.commands.kubernetes.KubernetesHelper;
 import org.apache.camel.dsl.jbang.core.commands.kubernetes.traits.BaseTrait;
 import org.apache.camel.dsl.jbang.core.common.RuntimeType;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-class IntegrationExportTest {
+class IntegrationExportTest extends CamelKBaseTest {
 
     private File workingDir;
 
     @BeforeEach
-    public void setup() throws IOException {
+    public void setup() throws Exception {
         workingDir = 
Files.createTempDirectory("camel-k-integration-export").toFile();
         workingDir.deleteOnExit();
     }
@@ -50,7 +53,7 @@ class IntegrationExportTest {
 
         Assertions.assertEquals(0, exit);
 
-        Deployment deployment = getDeployment(workingDir);
+        Deployment deployment = getDeployment(RuntimeType.quarkus);
         Assertions.assertEquals("routes", deployment.getMetadata().getName());
         Assertions.assertEquals(1, 
deployment.getSpec().getTemplate().getSpec().getContainers().size());
         Assertions.assertEquals("routes", 
deployment.getMetadata().getLabels().get(BaseTrait.INTEGRATION_LABEL));
@@ -75,7 +78,7 @@ class IntegrationExportTest {
 
         Assertions.assertEquals(0, exit);
 
-        Deployment deployment = getDeployment(workingDir);
+        Deployment deployment = getDeployment(RuntimeType.quarkus);
         Assertions.assertEquals("timer-to-log", 
deployment.getMetadata().getName());
         Assertions.assertEquals(1, 
deployment.getSpec().getTemplate().getSpec().getContainers().size());
         Assertions.assertEquals("timer-to-log", 
deployment.getMetadata().getLabels().get(BaseTrait.INTEGRATION_LABEL));
@@ -98,10 +101,18 @@ class IntegrationExportTest {
                 RuntimeType.quarkus, files, exportDir, "camel-test", false);
     }
 
-    private Deployment getDeployment(File workingDir) throws IOException {
+    private Deployment getDeployment(RuntimeType rt) throws IOException {
+        return getResource(rt, Deployment.class)
+                .orElseThrow(() -> new RuntimeCamelException("Cannot find 
deployment for: %s".formatted(rt.runtime())));
+    }
+
+    private <T extends HasMetadata> Optional<T> getResource(RuntimeType rt, 
Class<T> type) throws IOException {
         try (FileInputStream fis = new FileInputStream(new File(workingDir, 
"src/main/kubernetes/kubernetes.yml"))) {
-            return KubernetesHelper.yaml().loadAs(fis, Deployment.class);
+            List<HasMetadata> resources = kubernetesClient.load(fis).items();
+            return resources.stream()
+                    .filter(it -> type.isAssignableFrom(it.getClass()))
+                    .map(type::cast)
+                    .findFirst();
         }
     }
-
 }
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesExport.java
 
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesExport.java
index f91ea10be36..039b767591a 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesExport.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesExport.java
@@ -238,7 +238,7 @@ public class KubernetesExport extends Export {
         
buildProperties.add("%s.kubernetes.image-name=%s".formatted(propPrefix, 
container.getImage()));
         
buildProperties.add("%s.kubernetes.ports.%s.container-port=%d".formatted(propPrefix,
                 
Optional.ofNullable(container.getPortName()).orElse(ContainerTrait.DEFAULT_CONTAINER_PORT_NAME),
-                
Optional.ofNullable(container.getPort()).orElse(ContainerTrait.DEFAULT_CONTAINER_PORT)));
+                
Optional.ofNullable(container.getPort()).map(Long::intValue).orElse(ContainerTrait.DEFAULT_CONTAINER_PORT)));
 
         // Need to set quarkus.container properties, otherwise these settings 
get overwritten by Quarkus
         if (container.getName() != null && 
!container.getName().equals(projectName)) {
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/ContainerTrait.java
 
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/ContainerTrait.java
index d52d13d4ab0..de419ffe5aa 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/ContainerTrait.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/ContainerTrait.java
@@ -29,7 +29,7 @@ import org.apache.camel.v1.integrationspec.traits.Container;
 public class ContainerTrait extends BaseTrait {
 
     public static final int CONTAINER_TRAIT_ORDER = 1600;
-    public static final long DEFAULT_CONTAINER_PORT = 8080;
+    public static final int DEFAULT_CONTAINER_PORT = 8080;
     public static final String DEFAULT_CONTAINER_PORT_NAME = "http";
 
     public ContainerTrait() {
@@ -57,7 +57,8 @@ public class ContainerTrait extends BaseTrait {
         if (containerTrait.getPort() != null || 
context.getService().isPresent() || context.getKnativeService().isPresent()) {
             container.addToPorts(new ContainerPortBuilder()
                     
.withName(Optional.ofNullable(containerTrait.getPortName()).orElse(DEFAULT_CONTAINER_PORT_NAME))
-                    
.withContainerPort(Optional.ofNullable(containerTrait.getPort()).map(Long::intValue).orElse(8080))
+                    .withContainerPort(
+                            
Optional.ofNullable(containerTrait.getPort()).map(Long::intValue).orElse(DEFAULT_CONTAINER_PORT))
                     .withProtocol("TCP")
                     .build());
         }
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/ServiceTrait.java
 
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/ServiceTrait.java
index 555a5708e9a..ff5023492dc 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/ServiceTrait.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/ServiceTrait.java
@@ -30,6 +30,7 @@ import org.apache.camel.v1.integrationspec.traits.Service;
 public class ServiceTrait extends BaseTrait {
 
     public static final int SERVICE_TRAIT_ORDER = 1500;
+    public static final int DEFAULT_SERVICE_PORT = 80;
 
     public ServiceTrait() {
         super("service", SERVICE_TRAIT_ORDER);
@@ -46,6 +47,10 @@ public class ServiceTrait extends BaseTrait {
             return traitConfig.getService().getEnabled();
         }
 
+        if (traitConfig.getContainer().getPort() != null) {
+            return true;
+        }
+
         return TraitHelper.exposesHttpService(context);
     }
 
@@ -67,7 +72,8 @@ public class ServiceTrait extends BaseTrait {
                 .addToPorts(new ServicePortBuilder()
                         
.withName(Optional.ofNullable(containerTrait.getServicePortName())
                                 
.orElse(ContainerTrait.DEFAULT_CONTAINER_PORT_NAME))
-                        
.withPort(Optional.ofNullable(containerTrait.getServicePort()).map(Long::intValue).orElse(80))
+                        
.withPort(Optional.ofNullable(containerTrait.getServicePort()).map(Long::intValue)
+                                .orElse(DEFAULT_SERVICE_PORT))
                         .withTargetPort(
                                 new IntOrString(
                                         
Optional.ofNullable(containerTrait.getPortName())
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/TraitHelper.java
 
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/TraitHelper.java
index 0c7a6e87b1c..27a7cf805cc 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/TraitHelper.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/TraitHelper.java
@@ -55,8 +55,6 @@ public final class TraitHelper {
     /**
      * Parses given list of trait expressions to proper trait model object.
      *
-     * @param  traits
-     * @return
      */
     public static Traits parseTraits(String[] traits) {
         if (traits == null || traits.length == 0) {
@@ -70,9 +68,8 @@ public final class TraitHelper {
      * Parses given list of trait expressions to proper trait model object. 
Supports trait options in the form of
      * key=value and trait annotation configuration.
      *
-     * @param  traits      trait key-value-pairs.
-     * @param  annotations trait annotation configuration.
-     * @return
+     * @param traits      trait key-value-pairs.
+     * @param annotations trait annotation configuration.
      */
     public static Traits parseTraits(String[] traits, String[] annotations) {
         Map<String, Map<String, Object>> traitConfigMap = new HashMap<>();
@@ -150,9 +147,6 @@ public final class TraitHelper {
      * Resolve trait value with automatic type conversion. Some trait keys 
(like enabled, verbose) need to be converted
      * to boolean type.
      *
-     * @param  traitKey
-     * @param  value
-     * @return
      */
     private static Object resolveTraitValue(String traitKey, String value) {
         if (traitKey.equalsIgnoreCase("enabled") ||
@@ -311,6 +305,13 @@ public final class TraitHelper {
                 containerTrait.setImage("%s%s:%s".formatted(registryPrefix, 
imageName, version));
             }
 
+            // Plain export command always exposes a health endpoint on 8080.
+            // Skip this, when we decide that the health endpoint can be 
disabled.
+            if (containerTrait.getPort() == null) {
+                
containerTrait.setPortName(ContainerTrait.DEFAULT_CONTAINER_PORT_NAME);
+                containerTrait.setPort((long) 
ContainerTrait.DEFAULT_CONTAINER_PORT);
+            }
+
             traitsSpec.setContainer(containerTrait);
         }
     }
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesExportTest.java
 
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesExportTest.java
index a8f50586117..a918d215cfa 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesExportTest.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesExportTest.java
@@ -35,8 +35,10 @@ import java.util.stream.Stream;
 import io.fabric8.knative.eventing.v1.Trigger;
 import io.fabric8.knative.messaging.v1.Subscription;
 import io.fabric8.knative.sources.v1.SinkBinding;
+import io.fabric8.kubernetes.api.model.Container;
 import io.fabric8.kubernetes.api.model.HasMetadata;
 import io.fabric8.kubernetes.api.model.Service;
+import io.fabric8.kubernetes.api.model.ServicePort;
 import io.fabric8.kubernetes.api.model.apps.Deployment;
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.dsl.jbang.core.commands.CamelJBangMain;
@@ -111,7 +113,7 @@ class KubernetesExportTest extends KubernetesBaseTest {
         Assertions.assertEquals("quay.io/camel-test/route:1.0-SNAPSHOT",
                 
deployment.getSpec().getTemplate().getSpec().getContainers().get(0).getImage());
 
-        Assertions.assertFalse(hasService(rt));
+        Assertions.assertTrue(hasService(rt));
         Assertions.assertFalse(hasKnativeService(rt));
     }
 
@@ -136,7 +138,7 @@ class KubernetesExportTest extends KubernetesBaseTest {
         Assertions.assertEquals("camel-test/route:1.0-SNAPSHOT",
                 
deployment.getSpec().getTemplate().getSpec().getContainers().get(0).getImage());
 
-        Assertions.assertFalse(hasService(rt));
+        Assertions.assertTrue(hasService(rt));
         Assertions.assertFalse(hasKnativeService(rt));
 
         Properties applicationProperties = 
getApplicationProperties(workingDir);
@@ -145,33 +147,64 @@ class KubernetesExportTest extends KubernetesBaseTest {
         Assertions.assertEquals("baz", applicationProperties.get("bar"));
     }
 
+    @ParameterizedTest
+    @MethodSource("runtimeProvider")
+    public void shouldAddDefaultServiceSpec(RuntimeType rt) throws Exception {
+        KubernetesExport command = createCommand(new String[] { 
"classpath:route.yaml" },
+                "--trait", "service.type=NodePort",
+                "--runtime=" + rt.runtime());
+        command.doCall();
+
+        Assertions.assertTrue(hasService(rt));
+        Assertions.assertFalse(hasKnativeService(rt));
+
+        Deployment deployment = getDeployment(rt);
+        Container container = 
deployment.getSpec().getTemplate().getSpec().getContainers().get(0);
+        Assertions.assertEquals("route", deployment.getMetadata().getName());
+        Assertions.assertEquals(1, 
deployment.getSpec().getTemplate().getSpec().getContainers().size());
+        Assertions.assertEquals("route:1.0-SNAPSHOT", container.getImage());
+        Assertions.assertEquals(1, container.getPorts().size());
+        Assertions.assertEquals("http", container.getPorts().get(0).getName());
+        Assertions.assertEquals(8080, 
container.getPorts().get(0).getContainerPort());
+
+        Service service = getService(rt);
+        List<ServicePort> ports = service.getSpec().getPorts();
+        Assertions.assertEquals("route", service.getMetadata().getName());
+        Assertions.assertEquals("NodePort", service.getSpec().getType());
+        Assertions.assertEquals(1, ports.size());
+        Assertions.assertEquals("http", ports.get(0).getName());
+        Assertions.assertEquals(80, ports.get(0).getPort());
+        Assertions.assertEquals("http", 
ports.get(0).getTargetPort().getStrVal());
+    }
+
     @ParameterizedTest
     @MethodSource("runtimeProvider")
     public void shouldAddServiceSpec(RuntimeType rt) throws Exception {
         KubernetesExport command = createCommand(new String[] { 
"classpath:route-service.yaml" },
-                "--image-group=camel-test", "--runtime=" + rt.runtime());
+                "--trait", "service.type=NodePort",
+                "--runtime=" + rt.runtime());
         command.doCall();
 
         Assertions.assertTrue(hasService(rt));
         Assertions.assertFalse(hasKnativeService(rt));
 
         Deployment deployment = getDeployment(rt);
+        Container container = 
deployment.getSpec().getTemplate().getSpec().getContainers().get(0);
         Assertions.assertEquals("route-service", 
deployment.getMetadata().getName());
         Assertions.assertEquals(1, 
deployment.getSpec().getTemplate().getSpec().getContainers().size());
-        Assertions.assertEquals("camel-test/route-service:1.0-SNAPSHOT",
-                
deployment.getSpec().getTemplate().getSpec().getContainers().get(0).getImage());
-        Assertions.assertEquals(1, 
deployment.getSpec().getTemplate().getSpec().getContainers().get(0).getPorts().size());
-        Assertions.assertEquals("http",
-                
deployment.getSpec().getTemplate().getSpec().getContainers().get(0).getPorts().get(0).getName());
-        Assertions.assertEquals(8080,
-                
deployment.getSpec().getTemplate().getSpec().getContainers().get(0).getPorts().get(0).getContainerPort());
+        Assertions.assertEquals("route-service:1.0-SNAPSHOT", 
container.getImage());
+        Assertions.assertEquals(1, container.getPorts().size());
+        Assertions.assertEquals("http", container.getPorts().get(0).getName());
+        Assertions.assertEquals(8080, 
container.getPorts().get(0).getContainerPort());
 
         Service service = getService(rt);
+        List<ServicePort> ports = service.getSpec().getPorts();
         Assertions.assertEquals("route-service", 
service.getMetadata().getName());
-        Assertions.assertEquals(1, service.getSpec().getPorts().size());
-        Assertions.assertEquals("http", 
service.getSpec().getPorts().get(0).getName());
-        Assertions.assertEquals(80, 
service.getSpec().getPorts().get(0).getPort());
-        Assertions.assertEquals("http", 
service.getSpec().getPorts().get(0).getTargetPort().getStrVal());
+        Assertions.assertEquals("NodePort", service.getSpec().getType());
+        Assertions.assertEquals(1, ports.size());
+        Assertions.assertEquals("http", ports.get(0).getName());
+        Assertions.assertEquals(80, ports.get(0).getPort());
+        Assertions.assertEquals("http", 
ports.get(0).getTargetPort().getStrVal());
     }
 
     @ParameterizedTest
@@ -359,7 +392,7 @@ class KubernetesExportTest extends KubernetesBaseTest {
                 "--image-group=camel-test", "--runtime=" + rt.runtime());
         command.doCall();
 
-        Assertions.assertFalse(hasService(rt));
+        Assertions.assertTrue(hasService(rt));
         Assertions.assertFalse(hasKnativeService(rt));
 
         SinkBinding sinkBinding = getResource(rt, SinkBinding.class)
@@ -399,7 +432,7 @@ class KubernetesExportTest extends KubernetesBaseTest {
                 "--image-group=camel-test", "--runtime=" + rt.runtime());
         command.doCall();
 
-        Assertions.assertFalse(hasService(rt));
+        Assertions.assertTrue(hasService(rt));
         Assertions.assertFalse(hasKnativeService(rt));
 
         SinkBinding sinkBinding = getResource(rt, SinkBinding.class)
@@ -439,7 +472,7 @@ class KubernetesExportTest extends KubernetesBaseTest {
                 "--image-group=camel-test", "--runtime=" + rt.runtime());
         command.doCall();
 
-        Assertions.assertFalse(hasService(rt));
+        Assertions.assertTrue(hasService(rt));
         Assertions.assertFalse(hasKnativeService(rt));
 
         SinkBinding sinkBinding = getResource(rt, SinkBinding.class)
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/resources/route-service.yaml
 
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/resources/route-service.yaml
index 7dc9242ce56..912cbf1cd2a 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/resources/route-service.yaml
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/resources/route-service.yaml
@@ -19,4 +19,4 @@
     uri: 'platform-http:/roll-dice'
     steps:
       - set-body:
-          simple: 'roll: $simple{random(1,6)}'
+          simple: 'roll: $simple{random(1,7)}'

Reply via email to