Introduce VaultSecretBackendDescriptorFactory as abstraction for descriptor factories that can produce multiple SecretBackendDescriptors. Consider VaultSecretBackendDescriptorFactory in Boostrap and Config Data API mechanisms. Add tests.
Original pull request: gh-587
See gh-459
Fix property names to spring.couchbase instead of spring.data.couchbase. Fix VaultConfigCouchbaseTests to make it work with Couchbase instead of using Cassandra.
Add CouchbaseSecretIntegrationTests to verify interaction through VaultConfigTemplate. Remove property overrides for username/password so that Vault PropertySources are used. Use unique role name to avoid clashes with other tests.
Enable VaultConfigCouchbaseDatabaseTests for ConfigData API by importing vault://. Update reference documentation.
Resolves gh-408.
Discover SecretBackendMetadataFactory and VaultSecretBackendDescriptor using spring.factories. Add instance suppliers for all imperative support classes.
Resolves gh-483.
Spring Cloud Vault can now obtain credentials for Elasticsearch's HTTP API by enabling vault.config.backends.elasticsearch.enabled=true and providing a role name.
Closes gh-392.
Spring Cloud Vault uses now a single mechanism for key-value backend configuration. Properties at spring.cloud.vault.generic.* are no longer supported.
All associated functionality is now solely available by configuring the corresponding spring.cloud.vault.kv.* properties. The support classes GenericSecretBackendMetadata and VaultGenericBackendProperties were removed in favor of KeyValueSecretBackendMetadata respective VaultKeyValueBackendProperties. spring.cloud.vault.kv.enabled is now enabled by default to preserve spring.cloud.vault.generic.enabled behavior.
Closes gh-395
Disable static role support for deprecated mysql and postgres databases. Reorder properties. Add author tags. Update license headers.
Add unit test for static credential path.
Original pull request: gh-348.
Closes gh-347.
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).
Closes gh-297.
Fix bean overrides caused by the reactive health indicator.
Disable TlsCert authentication tests because of Reactor's HttpClient interference with SSL configurations.
See gh-235.
Suppress warnings for own deprecated code usage in tests as we provide types that are deprecated yet we want to cover these with tests.
Move off external deprecated API.
Closes gh-208.
Convert spaces to tabs. Deprecate VaultPostgreSqlProperties and VaultMySqlProperties. Convert database integration test to use MySQL. Slightly reword reference documentation.
Upgrade lombok to 1.16.18 to use onMethod_ attributes.
Original pull request: gh-170.
Related ticket: gh-169.
We now support Vault's database backend directly. MySQL and PostgreSQL configuration properties are deprecated now in favor of spring.cloud.vault.database. Cassandra and MongoDB backends remain active and default to their deprecated backends to support multi-database configuration of multiple, various database types.
spring.cloud.vault:
database:
enabled: true
role: readonly
Original pull request: gh-170.
Related ticket: gh-169.
We now allow overriding SecretBackendMetadataFactory by application-provided configuration to customize behavior of integrated secret backends.
Closes gh-118.
We now use unique bean names for SecretBackendMetadataFactory beans for bean definition. Previously, we used the same bean name (secretBackendMetadataFactory) across all bean definitions which causes definition overrides. The overrides erased previously defined beans so only a single instance of SecretBackendMetadataFactory was defined and using multiple Spring Cloud Vault modules at the same time was not possible.
Closes gh-94.
Use springvault instead of spring for integration tests with databases to avoid naming conflicts. MySQL requires short (<16 chars) user names and PostgreSQL does not permit names with hypens.
Fixes gh-65.
Rename SecureBackend to SecretBackend. Refactor SecureBackendAccessor to SecretBackendMetadata. Move Property Transformation into PropertyTransformer. Enhance JavaDoc. Remove Properties beans and use EnableProperties annotation.
Spring Cloud Vault now handles lifecycle of obtained secrets by property sources. Secrets associated with a renewable lease are renewed before they expire until terminal expiration. Application shutdown revokes leases so generated credentials can be disabled by Vault.
Fixes gh-40.