Files
2021-04-21 00:13:12 +00:00
..
2021-04-21 00:13:12 +00:00
2019-03-11 19:09:56 -04:00
2019-07-29 14:47:46 +02:00
2020-04-02 15:09:01 +02:00
2020-04-02 15:09:01 +02:00
2020-04-02 15:09:01 +02:00

:docs: https://cloud.spring.io/spring-cloud-vault/spring-cloud-vault.html

include::intro.adoc[]

== Features

=== Spring Cloud Vault Config Client

Specifically for Spring applications:

* Retrieve secrets from Vault and initialize Spring Environment with remote property sources.
* Obtain {docs}#vault.config.backends.kv[Key-Value secrets] secured with SSL.
* Generate credentials for
{docs}#vault.config.backends.mysql[MySQL],
{docs}#vault.config.backends.postgresql[PostgreSQL],
{docs}#vault.config.backends.cassandra[Apache Cassandra],
{docs}#vault.config.backends.mongodb[MongoDB],
{docs}#vault.config.backends.consul[Consul],
{docs}#vault.config.backends.aws[AWS], and {docs}#vault.config.backends.rabbitmq[RabbitMQ].
* {docs}#vault.config.authentication.token[Token],
{docs}#vault.config.authentication.appid[AppId],
{docs}#vault.config.authentication.approle[AppRole],
{docs}#vault.config.authentication.clientcert[Client Certificate],
{docs}#vault.config.authentication.cubbyhole[Cubbyhole],
{docs}#vault.config.authentication.awsec2[AWS-EC2] authentication,
{docs}#vault.config.authentication.awsiam[AWS-IAM] authentication, and
{docs}#vault.config.authentication.kubernetes[Kubernetes] authentication.

* Bootstrap application context: a parent context for the main application that can be trained to do anything.

== Quick Start

include::quickstart.adoc[]

== Building

=== Build requirements for Vault

Spring Cloud Vault Config requires SSL certificates and a running Vault instance listening on `localhost:8200`.
Certificates and the Vault setup are scripted, the scripts are located in `src/test/bash`.

The following scripts need to be run prior to building the project for the tests to pass.

[source,bash]
----
$ ./src/test/bash/install_vault.sh
$ ./src/test/bash/create_certificates.sh
$ ./src/test/bash/local_run_vault.sh
----

Leave Vault uninitialized, the tests will initialize and unseal Vault.
They will also create a root token `00000000-0000-0000-0000-000000000000`.

Changes to the documentation should be made to the adocs found under `docs/src/main/asciidoc/`

`README.adoc` can be re-generated via the following

[source,bash]
----
$ ./docs/src/main/ruby/generate_readme.sh > README.adoc
----

This script requires ruby and the asciidoctor gem installed (`gem install asciidoctor`)

include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/docs/src/main/asciidoc/building.adoc[]

== Contributing

include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/docs/src/main/asciidoc/contributing.adoc[]