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)