Over a million developers have joined DZone.

Spring Vault and Spring Cloud Vault 1.0.0.M1 Are Now Available

Check out the first milestone releases of Spring Vault and Spring Cloud Vault 1.0.0.M1. See what the new features are and look at some of them in action.

· Java Zone

What every Java engineer should know about microservices: Reactive Microservices Architecture.  Brought to you in partnership with Lightbend.

On 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: …

Contributions

Without the community, we couldn’t be the successful project we are today. I’d like to thank everyone that created issues & provided feedback.

Feedback Please

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:

Microservices for Java, explained. Revitalize your legacy systems (and your career) with Reactive Microservices Architecture, a free O'Reilly book. Brought to you in partnership with Lightbend.

Topics:
spring ,java ,milestone

Published at DZone with permission of Mark Paluch. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}