This is an automated email from the ASF dual-hosted git repository.
davsclaus 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 7ca98b79061 [CAMEL-21227] camel k8s run ignores output format (#15576)
7ca98b79061 is described below
commit 7ca98b79061bafb98d7f83afd328f59fe70dd969
Author: Thomas Diesler <[email protected]>
AuthorDate: Wed Sep 18 06:37:04 2024 +0200
[CAMEL-21227] camel k8s run ignores output format (#15576)
---
.../core/commands/kubernetes/KubernetesHelper.java | 23 +++++++++++-----------
.../core/commands/kubernetes/KubernetesRun.java | 3 ++-
.../commands/kubernetes/KubernetesBaseTest.java | 8 +++++++-
.../commands/kubernetes/KubernetesRunTest.java | 3 ++-
4 files changed, 23 insertions(+), 14 deletions(-)
diff --git
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesHelper.java
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesHelper.java
index 3228754ed5c..5512848f133 100644
---
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesHelper.java
+++
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesHelper.java
@@ -19,7 +19,6 @@ package org.apache.camel.dsl.jbang.core.commands.kubernetes;
import java.io.File;
import java.io.FileNotFoundException;
-import java.util.Arrays;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
@@ -169,21 +168,23 @@ public final class KubernetesHelper {
}
public static File resolveKubernetesManifest(File workingDir, String
extension) throws FileNotFoundException {
+
+ // Try explicit Kubernetes manifest first
+ String clusterType = ClusterType.KUBERNETES.name();
+ File manifest = getKubernetesManifest(clusterType, workingDir,
extension);
+ if (manifest.exists()) {
+ return manifest;
+ }
+
// Try arbitrary Kubernetes manifest first
- File manifest = getKubernetesManifest(ClusterType.KUBERNETES.name(),
workingDir);
+ manifest = getKubernetesManifest(clusterType, workingDir);
if (manifest.exists()) {
return manifest;
}
- // try to resolve from all the other cluster type specific manifests
- return Arrays.stream(ClusterType.values())
- .filter(ct -> ct != ClusterType.KUBERNETES)
- .map(ct -> getKubernetesManifest(ct.name(), workingDir,
extension))
- .filter(File::exists)
- .findFirst()
- .orElseThrow(() -> new FileNotFoundException(
- "Unable to resolve Kubernetes manifest file type `%s`
in folder: %s"
- .formatted(extension,
workingDir.toPath().toString())));
+ throw new FileNotFoundException(
+ "Unable to resolve Kubernetes manifest file type `%s` in
folder: %s"
+ .formatted(extension, workingDir.toPath().toString()));
}
public static File getKubernetesManifest(String clusterType, String
workingDir) {
diff --git
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRun.java
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRun.java
index f61c65d7bc3..6c8c1edbc1f 100644
---
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRun.java
+++
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRun.java
@@ -279,7 +279,8 @@ public class KubernetesRun extends KubernetesBaseCommand {
File manifest;
switch (output) {
- case "yaml" -> manifest =
KubernetesHelper.resolveKubernetesManifest(workingDir + "/target/kubernetes");
+ case "yaml" ->
+ manifest =
KubernetesHelper.resolveKubernetesManifest(workingDir + "/target/kubernetes");
case "json" ->
manifest =
KubernetesHelper.resolveKubernetesManifest(workingDir + "/target/kubernetes",
"json");
default -> {
diff --git
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesBaseTest.java
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesBaseTest.java
index 985450ca5f2..4341b564c6e 100644
---
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesBaseTest.java
+++
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesBaseTest.java
@@ -70,7 +70,13 @@ public class KubernetesBaseTest {
}
protected InputStream getKubernetesManifestAsStream(String printerOutput) {
- return new ByteArrayInputStream(StringHelper.after(printerOutput,
"---").getBytes(StandardCharsets.UTF_8));
+ return getKubernetesManifestAsStream(printerOutput, "yaml");
}
+ protected InputStream getKubernetesManifestAsStream(String printerOutput,
String output) {
+ if (output.equals("yaml")) {
+ return new ByteArrayInputStream(StringHelper.after(printerOutput,
"---").getBytes(StandardCharsets.UTF_8));
+ }
+ throw new RuntimeException("Unsupported output format: " + output);
+ }
}
diff --git
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRunTest.java
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRunTest.java
index afcee4a94a5..739bb7fa836 100644
---
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRunTest.java
+++
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRunTest.java
@@ -81,7 +81,8 @@ class KubernetesRunTest extends KubernetesBaseTest {
Assertions.assertEquals(0, exit);
- List<HasMetadata> resources =
kubernetesClient.load(getKubernetesManifestAsStream(printer.getOutput())).items();
+ var manifest = getKubernetesManifestAsStream(printer.getOutput(),
command.output);
+ List<HasMetadata> resources = kubernetesClient.load(manifest).items();
Assertions.assertEquals(2, resources.size());
Deployment deployment = resources.stream()