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 31bb4eea7ea camel-kubernetes: fix secret in local mode can cause NPE
31bb4eea7ea is described below
commit 31bb4eea7eaa1185afb7f64f674c03f7ab2fab28
Author: Claus Ibsen <[email protected]>
AuthorDate: Sat May 10 11:17:10 2025 +0200
camel-kubernetes: fix secret in local mode can cause NPE
---
.../kubernetes/secrets/vault/SecretsDevConsole.java | 15 +++++++++++----
.../camel/dsl/jbang/core/commands/process/ListVault.java | 10 +++++-----
2 files changed, 16 insertions(+), 9 deletions(-)
diff --git
a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/vault/SecretsDevConsole.java
b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/vault/SecretsDevConsole.java
index 2528a6f167b..3b7d32d9a61 100644
---
a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/vault/SecretsDevConsole.java
+++
b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/vault/SecretsDevConsole.java
@@ -22,6 +22,7 @@ import java.util.Collections;
import java.util.List;
import java.util.Map;
+import io.fabric8.kubernetes.client.KubernetesClient;
import
org.apache.camel.component.kubernetes.properties.SecretPropertiesFunction;
import org.apache.camel.spi.PeriodTaskScheduler;
import org.apache.camel.spi.PropertiesFunction;
@@ -66,8 +67,11 @@ public class SecretsDevConsole extends AbstractDevConsole {
if (propertiesFunction != null) {
sb.append("Kubernetes Secrets Cluster:");
- sb.append(String.format("\n Master Url: %s",
propertiesFunction.getClient().getMasterUrl()));
- sb.append("\n Login: OAuth Token");
+ KubernetesClient client = propertiesFunction.getClient();
+ if (client != null && client.getMasterUrl() != null) {
+ sb.append(String.format("\n Master Url: %s",
client.getMasterUrl().toString()));
+ sb.append("\n Login: OAuth Token");
+ }
KubernetesVaultConfiguration kubernetes
=
getCamelContext().getVaultConfiguration().getKubernetesVaultConfiguration();
if (kubernetes != null) {
@@ -98,8 +102,11 @@ public class SecretsDevConsole extends AbstractDevConsole {
protected JsonObject doCallJson(Map<String, Object> options) {
JsonObject root = new JsonObject();
if (propertiesFunction != null) {
- root.put("masterUrl",
propertiesFunction.getClient().getMasterUrl().toString());
- root.put("login", "OAuth Token");
+ KubernetesClient client = propertiesFunction.getClient();
+ if (client != null && client.getMasterUrl() != null) {
+ root.put("masterUrl", client.getMasterUrl().toString());
+ root.put("login", "OAuth Token");
+ }
}
KubernetesVaultConfiguration kubernetes =
getCamelContext().getVaultConfiguration().getKubernetesVaultConfiguration();
if (kubernetes != null) {
diff --git
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListVault.java
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListVault.java
index 9ebb40d83dc..462fce318b5 100644
---
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListVault.java
+++
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListVault.java
@@ -90,7 +90,7 @@ public class ListVault extends ProcessWatchCommand {
row.lastCheck =
aws.getLongOrDefault("lastCheckTimestamp", 0);
row.lastReload =
aws.getLongOrDefault("lastReloadTimestamp", 0);
JsonArray arr = (JsonArray) aws.get("secrets");
- for (int i = 0; i < arr.size(); i++) {
+ for (int i = 0; arr != null && i < arr.size();
i++) {
if (i > 0) {
// create a copy for 2+ secrets
row = row.copy();
@@ -107,7 +107,7 @@ public class ListVault extends ProcessWatchCommand {
row.lastCheck =
gcp.getLongOrDefault("lastCheckTimestamp", 0);
row.lastReload =
gcp.getLongOrDefault("lastReloadTimestamp", 0);
JsonArray arr = (JsonArray) gcp.get("secrets");
- for (int i = 0; i < arr.size(); i++) {
+ for (int i = 0; arr != null && i < arr.size();
i++) {
if (i > 0) {
// create a copy for 2+ secrets
row = row.copy();
@@ -124,7 +124,7 @@ public class ListVault extends ProcessWatchCommand {
row.lastCheck =
azure.getLongOrDefault("lastCheckTimestamp", 0);
row.lastReload =
azure.getLongOrDefault("lastReloadTimestamp", 0);
JsonArray arr = (JsonArray)
azure.get("secrets");
- for (int i = 0; i < arr.size(); i++) {
+ for (int i = 0; arr != null && i < arr.size();
i++) {
if (i > 0) {
// create a copy for 2+ secrets
row = row.copy();
@@ -142,7 +142,7 @@ public class ListVault extends ProcessWatchCommand {
row.lastCheck =
kubernetes.getLongOrDefault("startCheckTimestamp", 0);
row.lastReload =
kubernetes.getLongOrDefault("lastReloadTimestamp", 0);
JsonArray arr = (JsonArray)
kubernetes.get("secrets");
- for (int i = 0; i < arr.size(); i++) {
+ for (int i = 0; arr != null && i < arr.size();
i++) {
if (i > 0) {
// create a copy for 2+ secrets
row = row.copy();
@@ -168,7 +168,7 @@ public class ListVault extends ProcessWatchCommand {
row.lastCheck =
cmKubernetes.getLongOrDefault("startCheckTimestamp", 0);
row.lastReload =
cmKubernetes.getLongOrDefault("lastReloadTimestamp", 0);
JsonArray arr = (JsonArray)
cmKubernetes.get("configmap");
- for (int i = 0; i < arr.size(); i++) {
+ for (int i = 0; arr != null && i < arr.size();
i++) {
if (i > 0) {
// create a copy for 2+ configmap
row = row.copy();