Federico Mariani created CAMEL-24531:
----------------------------------------

             Summary: Camel Spring Boot: Extract a shared early-resolution 
properties parser
                 Key: CAMEL-24531
                 URL: https://issues.apache.org/jira/browse/CAMEL-24531
             Project: Camel
          Issue Type: Improvement
            Reporter: Federico Mariani


h2 Background

The seven vault/secrets early-resolution listeners in Camel Spring Boot share 
almost identical traversal, placeholder matching, resolution-failure, and 
property-source override logic. They are currently implemented separately in 
the AWS Secrets Manager, Azure Key Vault, CyberArk Vault, Google Secret 
Manager, HashiCorp Vault, IBM Secrets Manager, and Spring Cloud Config starters.

This duplication made the fail-closed change in 
https://github.com/apache/camel-spring-boot/pull/1900 touch all seven 
implementations and makes future behavioural fixes prone to inconsistent 
application.

h2 Goal

Introduce a common abstraction in {{core/camel-spring-boot}} (for example 
{{EarlyResolutionPropertiesParser}}) and refactor the existing listeners to use 
it. The abstraction should centralize the common early-resolution lifecycle and 
preserve component-specific client creation and resolver details.

h2 Scope

* Preserve Spring property-source precedence and the existing listener ordering.
* Parameterize the component-specific placeholder prefix, resolver function, 
and diagnostic wording rather than duplicating the control flow.
* Add focused coverage for shared behaviour and retain component-specific 
coverage where needed.

h2 Context

Raised during review of https://github.com/apache/camel-spring-boot/pull/1900, 
particularly 
https://github.com/apache/camel-spring-boot/pull/1900#issuecomment-5441526018.

_Created by Codex on behalf of Federico Mariani._



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to