Add support for Couchbase through vault-plugin-database-couchbase

Original pull request: gh-408.
This commit is contained in:
fhitchen@gmail.com
2020-06-03 14:29:02 -05:00
committed by Mark Paluch
parent 6cc626c884
commit 9161d58cef
8 changed files with 571 additions and 3 deletions

View File

@@ -1,3 +1,3 @@
Spring Cloud Vault Config provides client-side support for externalized configuration in a distributed system.
With https://www.vaultproject.io[HashiCorp's Vault] you have a central place to manage external secret properties for applications across all environments.
Vault can manage static and dynamic secrets such as username/password for remote applications/resources and provide credentials for external services such as MySQL, PostgreSQL, Apache Cassandra, MongoDB, Consul, AWS and more.
Vault can manage static and dynamic secrets such as username/password for remote applications/resources and provide credentials for external services such as MySQL, PostgreSQL, Apache Cassandra, Couchbase, MongoDB, Consul, AWS and more.

View File

@@ -232,6 +232,7 @@ Spring Cloud Vault integrates with these backends:
* <<vault.config.backends.database>>
* <<vault.config.backends.cassandra>>
* <<vault.config.backends.couchbase>>
* <<vault.config.backends.elasticsearch>>
* <<vault.config.backends.mongodb>>
* <<vault.config.backends.mysql>>
@@ -336,6 +337,40 @@ spring.cloud.vault:
See also: https://www.vaultproject.io/docs/secrets/cassandra/index.html[Vault Documentation: Setting up Apache Cassandra with Vault]
[[vault.config.backends.couchbase]]
=== Couchbase Database
Spring Cloud Vault can obtain credentials for Couchbase.
The integration can be enabled by setting
`spring.cloud.vault.couchbase.enabled=true` (default `false`) and providing the role name with `spring.cloud.vault.couchbase.role=…`.
Username and password are available from `spring.data.couchbase.username`
and `spring.data.couchbase.password` properties so using Spring Boot will pick up the generated credentials without further configuration.
You can configure the property names by setting
`spring.cloud.vault.couchbase.username-property` and
`spring.cloud.vault.couchbase.password-property`.
====
[source,yaml]
----
spring.cloud.vault:
couchbase:
enabled: true
role: readonly
backend: database
username-property: spring.data.couchbase.username
password-property: spring.data.couchbase.password
----
====
* `enabled` setting this value to `true` enables the Couchbase backend config usage
* `role` sets the role name of the Couchbase role definition
* `backend` sets the path of the Couchbase mount to use
* `username-property` sets the property name in which the Couchbase username is stored
* `password-property` sets the property name in which the Couchbase password is stored
See also: https://www.vaultproject.io/docs/secrets/couchbase/index.html[Vault Documentation: Setting up Couchbase with Vault]
[[vault.config.backends.elasticsearch]]
=== Elasticsearch