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.
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.
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.
Rename SecureBackend to SecretBackend. Refactor SecureBackendAccessor to SecretBackendMetadata. Move Property Transformation into PropertyTransformer. Enhance JavaDoc. Remove Properties beans and use EnableProperties annotation.
Split functionality from VaultClient and refactor it into VaultConfigOperations/VaultConfigTemplate. The template now holds the authentication state and the property source just uses the template.
Fixes gh-23