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

davsclaus pushed a commit to branch camel-3.20.x
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/camel-3.20.x by this push:
     new d0826866e88 CAMEL-19701: camel-main - Filter out k8s injected service 
ENV variables that can cause camel-main to fail startup. (#10971)
d0826866e88 is described below

commit d0826866e88a6223d465f175983883fb6a5cae73
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Thu Aug 3 10:26:04 2023 +0200

    CAMEL-19701: camel-main - Filter out k8s injected service ENV variables 
that can cause camel-main to fail startup. (#10971)
---
 .../src/main/java/org/apache/camel/main/MainHelper.java    | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git 
a/core/camel-main/src/main/java/org/apache/camel/main/MainHelper.java 
b/core/camel-main/src/main/java/org/apache/camel/main/MainHelper.java
index 35d1cf94a1b..8d7e04bdf59 100644
--- a/core/camel-main/src/main/java/org/apache/camel/main/MainHelper.java
+++ b/core/camel-main/src/main/java/org/apache/camel/main/MainHelper.java
@@ -120,9 +120,17 @@ public final class MainHelper {
             final String pk2 = pk.replace('-', '_');
             System.getenv().forEach((k, v) -> {
                 k = k.toUpperCase(Locale.US);
-                if (k.startsWith(pk) || k.startsWith(pk2)) {
-                    String key = k.toLowerCase(Locale.US).replace('_', '.');
-                    answer.put(key, v);
+                // kubernetes ENV injected services should be skipped
+                // 
(https://learn.microsoft.com/en-us/visualstudio/bridge/kubernetes-environment-variables#environment-variables-table)
+                boolean k8s = k.endsWith("_SERVICE_HOST") || 
k.endsWith("_SERVICE_PORT") || k.endsWith("_PORT")
+                        || k.contains("_PORT_");
+                if (k8s) {
+                    LOG.trace("Skipping Kubernetes Service OS environment 
variable: {}", k);
+                } else {
+                    if (k.startsWith(pk) || k.startsWith(pk2)) {
+                        String key = k.toLowerCase(Locale.US).replace('_', 
'.');
+                        answer.put(key, v);
+                    }
                 }
             });
         }

Reply via email to