Support MongoDB credential generation.
Fixes gh-28.
This commit is contained in:
@@ -7,8 +7,9 @@ include::intro.adoc[]
|
||||
|
||||
Specifically for Spring applications:
|
||||
|
||||
* Bind to the Config Server and initialize Spring `Environment` with remote property sources
|
||||
* Retrieve secrets from Vault and initialize Spring `Environment` with remote property sources
|
||||
* Obtain secrets secured with SSL
|
||||
* Generate credentials for MySQL, PostgreSQL, Apache Cassandra, MongoDB, Consul, AWS, and RabbitMQ.
|
||||
* https://www.vaultproject.io/docs/auth/token.html[Token], https://www.vaultproject.io/docs/auth/app-id.html[AppId] authentication,
|
||||
and https://www.vaultproject.io/docs/auth/aws-ec2.html[AWS-EC2] authentication
|
||||
* Bootstrap application context: a parent context for the main application that can be trained to do anything
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
|
||||
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, Consul, AWS and more.
|
||||
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.
|
||||
@@ -490,6 +490,7 @@ mechanism to more easily roll keys.
|
||||
Spring Cloud Vault integrates with these backends:
|
||||
|
||||
* <<vault-client-database-cassandra>>
|
||||
* <<vault-client-database-mongodb>>
|
||||
* <<vault-client-database-mysql>>
|
||||
* <<vault-client-database-postgresql>>
|
||||
|
||||
@@ -547,6 +548,40 @@ spring.cloud.vault:
|
||||
|
||||
See also: https://www.vaultproject.io/docs/secrets/cassandra/index.html[Vault Documentation: Setting up Apache Cassandra with Vault]
|
||||
|
||||
[[vault-client-database-mongodb]]
|
||||
=== MongoDB
|
||||
|
||||
Spring Cloud Vault can obtain credentials for MongoDB.
|
||||
The integration can be enabled by setting
|
||||
`spring.cloud.vault.mongodb.enabled=true` (default `false`) and
|
||||
providing the role name with `spring.cloud.vault.mongodb.role=…`.
|
||||
|
||||
Username and password are stored in `spring.data.mongodb.username`
|
||||
and `spring.data.mongodb.password` so using Spring Boot will
|
||||
pick up the generated credentials without further configuration.
|
||||
You can configure the property names by setting
|
||||
`spring.cloud.vault.mongodb.username-property` and
|
||||
`spring.cloud.vault.mongodb.password-property`.
|
||||
|
||||
[source,yaml]
|
||||
----
|
||||
spring.cloud.vault:
|
||||
mongodb:
|
||||
enabled: true
|
||||
role: readonly
|
||||
backend: mongodb
|
||||
username-property: spring.data.mongodb.username
|
||||
password-property: spring.data.mongodb.password
|
||||
----
|
||||
|
||||
* `enabled` setting this value to `true` enables the MongodB backend config usage
|
||||
* `role` sets the role name of the MongoDB role definition
|
||||
* `backend` sets the path of the MongoDB mount to use
|
||||
* `username-property` sets the property name in which the MongoDB username is stored
|
||||
* `password-property` sets the property name in which the MongoDB password is stored
|
||||
|
||||
See also: https://www.vaultproject.io/docs/secrets/mongodb/index.html[Vault Documentation: Setting up MongoDB with Vault]
|
||||
|
||||
[[vault-client-database-mysql]]
|
||||
=== MySQL
|
||||
|
||||
|
||||
Reference in New Issue
Block a user