[
https://issues.apache.org/jira/browse/CAMEL-20872?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen updated CAMEL-20872:
--------------------------------
Fix Version/s: 4.x
> Create PropertyFunction that loads properties form a database
> -------------------------------------------------------------
>
> Key: CAMEL-20872
> URL: https://issues.apache.org/jira/browse/CAMEL-20872
> Project: Camel
> Issue Type: New Feature
> Components: camel-jdbc, camel-sql
> Reporter: Federico Mariani
> Priority: Major
> Fix For: 4.x
>
>
> It is common to use a database like a vault, where users store key/value
> secrets. It would be nice to have a PropertyFunction that can be used to
> retrieve that information, in particular, the user experience should be
> similar to the hashicorp-vault one. Given a table with the following structure
>
> {code:java}
> CREATE TABLE mySecrets (myKey VARCHAR(255), myValue VARCHAR(255));
> {code}
> the PropertyFunction can be configured via system properties like
> {code:java}
> camel.vault.sql.url=jdbc:<database>://<host>:<port>/<databaseName>
> camel.vault.sql.username=myUser
> camel.vault.sql.password=myPassword
> camel.vault.sql.driverClassName=com.mysql.jdbc.Driver{code}
> and the properties can be retrieved via
> {code:java}
> {{sql:<databaseName:?><returnColumn><table><keyColumn><key>}}
> {code}
> for example
> {code:java}
> {{sql:myValue/mySecrets/myKey/myUsername}}
> {code}
> Given that _<returnColumn><table><keyColumn>_ should be constant, we may add
> those to system properties ala
> {code:java}
> camel.vault.sql.valueColumn=<returnColumn>
> camel.vault.sql.table=<table>
> camel.vault.sql.keyColumn=<keyColumn>{code}
> and the expression can be
> {code:java}
> {{sql:myUsername}}
> {code}
> This is just a first an hypothetical implementation, I am open to discussions.
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)