Andrea Cosentino created CAMEL-26919:
----------------------------------------

             Summary: camel-hashicorp-vault: the Spring Boot early resolution 
of hashicorp: properties logs in only with a token
                 Key: CAMEL-26919
                 URL: https://issues.apache.org/jira/browse/CAMEL-26919
             Project: Camel
          Issue Type: Improvement
          Components: camel-spring-boot, camel-hashicorp-vault
            Reporter: Andrea Cosentino
            Assignee: Andrea Cosentino
             Fix For: 4.24.0


The camel-hashicorp-vault Spring Boot starter can resolve {{hashicorp:...}} 
properties before the Spring application context starts 
({{camel.component.hashicorp-vault.early-resolve-properties=true}}). Its 
{{SpringBootHashicorpVaultPropertiesParser}} requires 
{{camel.vault.hashicorp.token}} and creates a {{VaultTemplate}} with a 
{{TokenAuthentication}}. So the logins and TLS settings added by CAMEL-25675 
are ignored there: {{authentication}} (approle, kubernetes, jwt, cert, aws-iam, 
azure-msi, gcp-gce) and their options, and {{trustStore}}/{{keyStore}}. An 
application that logs in another way than with a token fails to start with 
"Hashicorp Vault token is required".

h3. Proposal
* camel-hashicorp-vault: 
{{HashicorpVaultClient.create(HashicorpVaultClientSettings)}}, which needs no 
CamelContext (the early resolution runs before there is one) and renews the 
token on a daemon thread of its own; and 
{{HashicorpVaultClientSettings.fromConfiguration(HashicorpVaultConfiguration)}},
 the settings of the vault configuration alone.
* camel-spring-boot: the parser binds {{camel.vault.hashicorp.*}} into a 
{{HashicorpVaultConfiguration}}, creates the client with its settings (the same 
validation as the properties function), and closes the client once the 
properties are resolved, which revokes the token of the login.




--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to