You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2024/03/20 10:25:00 UTC
(camel) branch camel-4.4.x updated: CAMEL-20576 camel-jbang-plugin-k run command kebab-case parsing invalid (#13536) (#13546)
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch camel-4.4.x
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-4.4.x by this push:
new d54865acabf CAMEL-20576 camel-jbang-plugin-k run command kebab-case parsing invalid (#13536) (#13546)
d54865acabf is described below
commit d54865acabf92167bb3549c54c0c6893bce71695
Author: Claudio Miranda <cl...@claudius.com.br>
AuthorDate: Wed Mar 20 07:24:54 2024 -0300
CAMEL-20576 camel-jbang-plugin-k run command kebab-case parsing invalid (#13536) (#13546)
https://issues.apache.org/jira/browse/CAMEL-20576
(cherry picked from commit de91375c6a8f80f9aac4f0e961425ef379ec2f95)
---
.../apache/camel/dsl/jbang/core/commands/k/TraitHelper.java | 5 ++++-
.../camel/dsl/jbang/core/commands/k/IntegrationRunTest.java | 11 +++++++++--
2 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/dsl/camel-jbang/camel-jbang-plugin-k/src/main/java/org/apache/camel/dsl/jbang/core/commands/k/TraitHelper.java b/dsl/camel-jbang/camel-jbang-plugin-k/src/main/java/org/apache/camel/dsl/jbang/core/commands/k/TraitHelper.java
index 6af102f09ca..de40760942b 100644
--- a/dsl/camel-jbang/camel-jbang-plugin-k/src/main/java/org/apache/camel/dsl/jbang/core/commands/k/TraitHelper.java
+++ b/dsl/camel-jbang/camel-jbang-plugin-k/src/main/java/org/apache/camel/dsl/jbang/core/commands/k/TraitHelper.java
@@ -25,6 +25,7 @@ import java.util.List;
import java.util.Map;
import org.apache.camel.RuntimeCamelException;
+import org.apache.camel.util.StringHelper;
import org.apache.camel.v1.integrationspec.Traits;
/**
@@ -51,7 +52,9 @@ public final class TraitHelper {
final String[] trait = traitExpression.split("\\.", 2);
final String[] traitConfig = trait[1].split("=", 2);
- final String traitKey = traitConfig[0];
+ // the CRD api is in CamelCase, then we have to
+ // convert the kebab-case to CamelCase
+ final String traitKey = StringHelper.dashToCamelCase(traitConfig[0]);
final Object traitValue = resolveTraitValue(traitKey, traitConfig[1].trim());
if (traitJson.containsKey(trait[0])) {
Map<String, Object> config = traitJson.get(trait[0]);
diff --git a/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/IntegrationRunTest.java b/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/IntegrationRunTest.java
index 249a3c7b66a..4dba66a0487 100644
--- a/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/IntegrationRunTest.java
+++ b/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/IntegrationRunTest.java
@@ -65,7 +65,7 @@ class IntegrationRunTest extends KubeBaseTest {
public void shouldAddTraits() throws Exception {
IntegrationRun command = createCommand();
command.filePaths = new String[] { "classpath:route.yaml" };
- command.traits = new String[] { "logging.level=DEBUG", "container.imagePullPolicy=Always" };
+ command.traits = new String[] { "logging.level=DEBUG", "container.image-pull-policy=Always" };
command.output = "yaml";
command.doCall();
@@ -542,7 +542,9 @@ class IntegrationRunTest extends KubeBaseTest {
IntegrationRun command = createCommand();
command.filePaths = new String[] { "classpath:route.yaml" };
command.traits
- = new String[] { "toleration.taints=camel.apache.org/master:NoExecute:300", "camel.properties=camel.foo=bar" };
+ = new String[] {
+ "toleration.taints=camel.apache.org/master:NoExecute:300", "camel.properties=camel.foo=bar",
+ "affinity.node-affinity-labels=kubernetes.io/hostname" };
command.output = "yaml";
command.doCall();
@@ -563,6 +565,11 @@ class IntegrationRunTest extends KubeBaseTest {
constant: Hello Camel !!!
- to: log:info
traits:
+ affinity:
+ nodeAffinityLabels:
+ - kubernetes.io/hostname
+ podAffinity: false
+ podAntiAffinity: false
camel:
properties:
- camel.foo=bar