Files
spring-cloud-vault/docs/modules/ROOT/pages
2023-09-14 10:41:53 -04:00
..
2023-09-14 10:41:53 -04:00
2023-09-14 10:41:52 -04:00
2023-09-14 10:41:50 -04:00
2023-09-14 10:41:50 -04:00
2023-09-14 10:41:52 -04:00
2023-09-14 10:41:53 -04:00
2023-09-14 10:41:53 -04:00

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


[[features]]
= Features

[[spring-cloud-vault-config-client]]
== 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]]
= Quick Start


[[building]]
= Building

[[build-requirements-for-vault]]
== 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]]
= Contributing

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