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

Croway pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-spring-boot.git

commit 4ccec5ea1b9d9c35b1c7fe305e7925209fd2bb82
Author: Andrea Cosentino <[email protected]>
AuthorDate: Thu Aug 27 06:49:19 2026 +0200

    CAMEL-24508: Address review feedback
    
    Spring Cloud Config is not a vault, so its parser no longer says "from the
    vault" in the messages the uniform edit had introduced.
    
    Declare camel.vault.ignore-resolution-failures in the additional Spring Boot
    configuration metadata so the new flag surfaces in config metadata and IDE
    completion like the other camel.vault.* options, and regenerate 
spring-boot.json.
    
    Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
    Signed-off-by: Andrea Cosentino <[email protected]>
---
 .../config/springboot/SpringBootCloudConfigPropertiesParser.java  | 8 ++++----
 core/camel-spring-boot/src/main/docs/spring-boot.json             | 6 ++++++
 .../META-INF/additional-spring-configuration-metadata.json        | 6 ++++++
 3 files changed, 16 insertions(+), 4 deletions(-)

diff --git 
a/components-starter/camel-spring-cloud-config-starter/src/main/java/org/apache/camel/component/spring/cloud/config/springboot/SpringBootCloudConfigPropertiesParser.java
 
b/components-starter/camel-spring-cloud-config-starter/src/main/java/org/apache/camel/component/spring/cloud/config/springboot/SpringBootCloudConfigPropertiesParser.java
index 5886ef85201..d2c951b9023 100644
--- 
a/components-starter/camel-spring-cloud-config-starter/src/main/java/org/apache/camel/component/spring/cloud/config/springboot/SpringBootCloudConfigPropertiesParser.java
+++ 
b/components-starter/camel-spring-cloud-config-starter/src/main/java/org/apache/camel/component/spring/cloud/config/springboot/SpringBootCloudConfigPropertiesParser.java
@@ -38,7 +38,7 @@ public class SpringBootCloudConfigPropertiesParser implements 
ApplicationListene
         Properties properties = new Properties();
         ConfigurableEnvironment environment = event.getEnvironment();
         // an unresolved placeholder would otherwise stay in the property 
value and become the effective
-        // secret, so resolution failures abort startup unless the operator 
opts back into the old behaviour
+        // configuration value, so resolution failures abort startup unless 
the operator opts back in
         final boolean ignoreResolutionFailures
                 = 
Boolean.parseBoolean(environment.getProperty("camel.vault.ignore-resolution-failures"));
 
@@ -65,12 +65,12 @@ public class SpringBootCloudConfigPropertiesParser 
implements ApplicationListene
                                 properties.put(key, element);
                             } catch (Exception e) {
                                 if (ignoreResolutionFailures) {
-                                    LOG.warn("Failed to resolve property {} 
from the vault; the placeholder is left "
+                                    LOG.warn("Failed to resolve property {} 
from Spring Cloud Config; the placeholder is left "
                                              + "unresolved because 
camel.vault.ignore-resolution-failures is enabled", key, e);
                                 } else {
                                     throw new RuntimeCamelException(
-                                            "Failed to resolve property " + 
key + " from the vault. Startup is aborted so "
-                                                            + "that the 
unresolved placeholder cannot become the effective "
+                                            "Failed to resolve property " + 
key + " from Spring Cloud Config. Startup is aborted "
+                                                            + "so that the 
unresolved placeholder cannot become the effective "
                                                             + "value; set 
camel.vault.ignore-resolution-failures=true to "
                                                             + "continue 
anyway.",
                                             e);
diff --git a/core/camel-spring-boot/src/main/docs/spring-boot.json 
b/core/camel-spring-boot/src/main/docs/spring-boot.json
index 10e7a7e9df0..5c360d573e6 100644
--- a/core/camel-spring-boot/src/main/docs/spring-boot.json
+++ b/core/camel-spring-boot/src/main/docs/spring-boot.json
@@ -2079,6 +2079,12 @@
       "description": "The IBM Secrets Manager Token",
       "sourceType": 
"org.apache.camel.spring.boot.vault.IBMVaultConfigurationProperties"
     },
+    {
+      "name": "camel.vault.ignore-resolution-failures",
+      "type": "java.lang.Boolean",
+      "description": "Whether a vault or secrets placeholder that cannot be 
resolved during early property resolution should be tolerated. When false (the 
default) an unresolvable placeholder aborts startup, so the literal placeholder 
text can never become the effective value. When true the failure is logged at 
WARN and the placeholder is left in place.",
+      "defaultValue": false
+    },
     {
       "name": "camel.vault.kubernetes.refresh-enabled",
       "type": "java.lang.Boolean",
diff --git 
a/core/camel-spring-boot/src/main/resources/META-INF/additional-spring-configuration-metadata.json
 
b/core/camel-spring-boot/src/main/resources/META-INF/additional-spring-configuration-metadata.json
index ab8399f4045..2488ae24608 100644
--- 
a/core/camel-spring-boot/src/main/resources/META-INF/additional-spring-configuration-metadata.json
+++ 
b/core/camel-spring-boot/src/main/resources/META-INF/additional-spring-configuration-metadata.json
@@ -1,5 +1,11 @@
 {
   "properties": [
+    {
+      "name": "camel.vault.ignore-resolution-failures",
+      "type": "java.lang.Boolean",
+      "description": "Whether a vault or secrets placeholder that cannot be 
resolved during early property resolution should be tolerated. When false (the 
default) an unresolvable placeholder aborts startup, so the literal placeholder 
text can never become the effective value. When true the failure is logged at 
WARN and the placeholder is left in place.",
+      "defaultValue": false
+    },
     {
       "name": "management.info.camel.enabled",
       "type": "java.lang.Boolean",

Reply via email to