Get ahead
VMware offers training and certification to turbo-charge your progress.
Learn moreOn behalf of the community, I am pleased to announce the first milestone releases of Spring Vault and Spring Cloud Vault 1.0.0.M1
.
The artifacts are available in the Milestone repo.
Spring Vault is a client for HashiCorp Vault that provides familiar Spring abstractions. It comes with @VaultPropertySource
that exposes encrypted properties from Vault the Environment
and VaultTemplate
to access secrets stored and encrypted inside Vault.
@Configuration
@VaultPropertySource("secret/my-application")
public class AppConfig extends AbstractVaultConfiguration {
/**
* Specify an endpoint for connecting to Vault.
*/
@Override
public VaultEndpoint vaultEndpoint() {
return VaultEndpoint.create("localhost", 8200);
}
/**
* Configure a client authentication.
*/
@Override
public ClientAuthentication clientAuthentication() {
return new TokenAuthentication("…");
}
}
Spring Cloud Vault uses Spring Vault to provide a configuration integration for Spring Boot-based applications. Spring Cloud Vault provides configuration data to applications that is encrypted inside Vault. Applications using Spring Cloud Vault can request generated credentials from Vault for various database and service integrations, like MySQL, MongoDB, Consul, AWS, and many more. On application shutdown, these credentials are revoked and no longer valid.
Adding the spring-cloud-vault-starter-config
dependency and supplying Vault connection details to the bootstrap
configuration is sufficient to get started with Spring Cloud Vault.
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-vault-starter-config</artifactId>
<version>1.0.0.M1</version>
</dependency>
</dependencies>
spring.cloud.vault:
host: localhost
authentication: (TOKEN|APPROLE|AWS_EC2|CERT|…)
token: …
Without the community, we couldn’t be the successful project we are today. I’d like to thank everyone that created issues & provided feedback.
If you have feedback on this release, I encourage you to reach out via StackOverflow, GitHub Issues, or via the comments section. You can also ping me @mp911 or the @SpringCloudOSS team on Twitter.
Check out any of these links for more details: