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

acosentino pushed a commit to branch CAMEL-21640
in repository https://gitbox.apache.org/repos/asf/camel.git

commit b5422f08ff8474c8f5ec16c17a237f8c6cf60853
Author: Andrea Cosentino <[email protected]>
AuthorDate: Tue Jan 21 14:17:15 2025 +0100

    CAMEL-21640 - Camel-Hashicorp-Vault: Support Hashicorp Cloud deployment in 
properties function - Docs
    
    Signed-off-by: Andrea Cosentino <[email protected]>
---
 .../src/main/docs/hashicorp-vault-component.adoc   | 34 +++++++++++++++++++---
 .../vault/HashicorpVaultPropertiesFunction.java    |  3 ++
 2 files changed, 33 insertions(+), 4 deletions(-)

diff --git 
a/components/camel-hashicorp-vault/src/main/docs/hashicorp-vault-component.adoc 
b/components/camel-hashicorp-vault/src/main/docs/hashicorp-vault-component.adoc
index 88e5f674cfd..5393d6e06ad 100644
--- 
a/components/camel-hashicorp-vault/src/main/docs/hashicorp-vault-component.adoc
+++ 
b/components/camel-hashicorp-vault/src/main/docs/hashicorp-vault-component.adoc
@@ -55,10 +55,10 @@ To use this function, you'll need to provide credentials 
for Hashicorp vault as
 
 [source,bash]
 ----
-export $CAMEL_VAULT_HASHICORP_TOKEN=token
-export $CAMEL_VAULT_HASHICORP_HOST=host
-export $CAMEL_VAULT_HASHICORP_PORT=port
-export $CAMEL_VAULT_HASHICORP_SCHEME=http/https
+export CAMEL_VAULT_HASHICORP_TOKEN=token
+export CAMEL_VAULT_HASHICORP_HOST=host
+export CAMEL_VAULT_HASHICORP_PORT=port
+export CAMEL_VAULT_HASHICORP_SCHEME=http/https
 ----
 
 You can also configure the credentials in the `application.properties` file 
such as:
@@ -71,6 +71,32 @@ camel.vault.hashicorp.port = port
 camel.vault.hashicorp.scheme = scheme
 ----
 
+In case the running Hashicorp Vault instance you're pointing is running on 
Hashicorp Cloud, the configuration will require two additional parameters:
+
+[source,bash]
+----
+export CAMEL_VAULT_HASHICORP_TOKEN=token
+export CAMEL_VAULT_HASHICORP_HOST=host
+export CAMEL_VAULT_HASHICORP_PORT=port
+export CAMEL_VAULT_HASHICORP_SCHEME=http/https
+export CAMEL_HASHICORP_VAULT_CLOUD=true
+export CAMEL_HASHICORP_VAULT_NAMESPACE=namespace
+----
+
+You can also set the same in the `application.properties` file such as:
+
+[source,properties]
+----
+camel.vault.hashicorp.token = token
+camel.vault.hashicorp.host = host
+camel.vault.hashicorp.port = port
+camel.vault.hashicorp.scheme = scheme
+camel.vault.hashicorp.cloud = true
+camel.vault.hashicorp.namespace = namespace
+----
+
+This will make the Properties function works even in the Hashicorp Cloud 
deployment option.
+
 NOTE: if you're running the application on a Kubernetes based cloud platform, 
you can initialize the environment variables from a Secret or Configmap to 
enhance security. You can also enhance security by 
xref:manual::using-propertyplaceholder.adoc#_resolving_property_placeholders_on_cloud[setting
 a Secret property placeholder] which will be initialized at application 
runtime only.
 
 NOTE: `camel.vault.hashicorp` configuration only applies to the Hashicorp 
Vault properties function (E.g when resolving properties).
diff --git 
a/components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/HashicorpVaultPropertiesFunction.java
 
b/components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/HashicorpVaultPropertiesFunction.java
index 93bafc3685e..5f4230f66ab 100644
--- 
a/components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/HashicorpVaultPropertiesFunction.java
+++ 
b/components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/HashicorpVaultPropertiesFunction.java
@@ -103,6 +103,9 @@ public class HashicorpVaultPropertiesFunction extends 
ServiceSupport implements
         String host = System.getenv(CAMEL_HASHICORP_VAULT_HOST_ENV);
         String port = System.getenv(CAMEL_HASHICORP_VAULT_PORT_ENV);
         String scheme = System.getenv(CAMEL_HASHICORP_VAULT_SCHEME_ENV);
+        if (System.getenv(CAMEL_HASHICORP_VAULT_CLOUD_ENV) != null) {
+            cloud = 
Boolean.parseBoolean(System.getenv(CAMEL_HASHICORP_VAULT_CLOUD_ENV));
+        }
         namespace = System.getenv(CAMEL_HASHICORP_VAULT_NAMESPACE_ENV);
         if (ObjectHelper.isEmpty(token) && ObjectHelper.isEmpty(host)
                 && ObjectHelper.isEmpty(port) && ObjectHelper.isEmpty(scheme) 
&& ObjectHelper.isEmpty(namespace)) {

Reply via email to