396 Commits

Author SHA1 Message Date
Mark Paluch
3650ec65f9 Prepare next development iteration.
See gh-804
2023-07-17 14:22:27 +02:00
Mark Paluch
4ec74cfe6f Release Spring Vault 2.3.4.
Closes gh-804
2023-07-17 14:21:34 +02:00
Mark Paluch
5936bfd833 Polishing.
Rename consistently role option. Add since and author tags.

Closes gh-780
2023-04-19 08:33:01 +02:00
Andy Lintner
4a60c1c79c Role name can now be used with cert auth.
When using TLS authentication, the Vault API allows the caller to specify
a role to use for authorization. Previously, we did not allow this to be
specified, which caused Vault to select one of the roles associated with
the certificate.

 See gh-780
2023-04-19 08:32:56 +02:00
Mark Paluch
49523ce3e7 Prepare next development iteration.
See gh-774
2023-03-20 16:43:39 +01:00
Mark Paluch
a3d948c0e1 Release Spring Vault 2.3.3.
Closes gh-774
2023-03-20 16:42:41 +01:00
Mark Paluch
480a295a2c Refine logging on revocation failures.
We now log token accessors if a token revocation has failed.

Closes gh-766
2023-03-20 13:12:13 +01:00
Mark Paluch
aeaf571d2d Consistently attach cause to exceptions.
Closes gh-713
2023-03-17 10:26:26 +01:00
Mark Paluch
c792c6d5d4 Allow reuse of library-specific configuration code in ClientHttpRequestFactoryFactory and ClientHttpConnectorFactory.
See gh-760
2023-03-07 15:46:15 +01:00
Mark Paluch
5f2857901c Do not revoke batch tokens.
We now track the token type and no longer attempt revoking batch tokens.
Also, refactor code duplicates to use LoginTokenUtil.

Closes gh-764
2023-03-07 15:40:57 +01:00
Mark Paluch
4de0ac626a Update tests to skip newer PEM versions 2023-03-07 15:34:31 +01:00
Mark Paluch
48c1ec76aa Update license headers for 2022.
Closes gh-679
2022-01-05 09:48:37 +01:00
Mark Paluch
6c08ff32bf Consider LeaseStrategy outcome whether to retry session token renewal.
LeaseStrategy.shouldDrop(…) now controls whether to retry the session token. Dropping the token terminates renewals while retaining the token leads to another renewal. Additionally, we introduced LeaseStrategy.retainOnIoError() to retain tokens on network failures (IOException).

Closes gh-646
2021-11-19 11:53:47 +01:00
Mark Paluch
306f2d8279 Polishing.
Move off deprecated Reactor Netty API.

See gh-654
2021-11-19 11:11:14 +01:00
Mark Paluch
53d48aecc0 Enable System Properties-driven proxy configuration for Reactor Netty.
Also, upgrade to newest Reactor Netty.

Closes gh-654
2021-11-19 11:11:14 +01:00
fivesmallq
fb6e630649 Fix typos in KubernetesAuthentication.
Closes gh-669
2021-11-19 09:57:30 +01:00
Nikola Kološnjaji
7d408e1c96 Fix typos in GcpIamAuthenticationOptions and GcpIamCredentialsAuthenticationOptions.
See gh-657
2021-10-01 14:28:45 +02:00
Mark Paluch
a3e9c0c3f0 Enable authentication steps for AzureMsiAuthentication for reactive usage.
Closes gh-665.
2021-09-27 15:44:32 +02:00
Mark Paluch
2fd0a884fc Consider absent secretId in AppRole authentication steps.
We now skip secretId retrieval when using AppRole authentication steps to avoid Unknown SecretId configuration errors.

Also, renamed AbsentSecretId.INSTANCE to ABSENT_SECRET_ID to cause more meaningful messages when used in toString.

Closes gh-656
2021-06-18 09:52:21 +02:00
Mark Paluch
0a935e1b9e Expose CA chain through CertificateBundle.
We now expose access to the CA chain by providing getX509IssuerCertificates(). Additionally, a KeyStore can be created containing the full CA chain.

Closes gh-648.
2021-06-11 11:07:31 +02:00
Willi Schönborn
9fef7ef9aa Bumped Azure Instance Metadata API version to 2017-12-01.
vmScaleSetName is only exposed in 2017-12-01 and later.
See https://docs.microsoft.com/en-us/azure/virtual-machines/linux/instance-metadata-service\?tabs\=windows\#response-1

Closes gh-644
2021-06-11 09:49:55 +02:00
Bun-Ny TAN
4be649ca82 Fix assertion message.
See gh-649
2021-06-11 09:49:53 +02:00
Mark Paluch
a5a8fa2745 [maven-release-plugin] prepare for next development iteration 2021-03-16 11:12:38 +01:00
Mark Paluch
2c1577c0ef [maven-release-plugin] prepare release 2.3.2 2021-03-16 11:12:38 +01:00
Mark Paluch
06714906db Guard tests against versions not supporting versioned k/v backend. 2021-03-16 10:51:11 +01:00
Mark Paluch
5640cc0e66 Polishing.
Make SslConfiguration.enabledProtocols and enabledCipherSuites non-null. Update since tags. Add author tags. Update documentation.

See gh-635
Original pull request: gh-640.
2021-03-16 10:43:39 +01:00
Ryan Gow
a85fa86535 Add ability to configure client TLS enabled protocol versions and cipher suites via Spring properties.
- Adding the ability to explicitly configure the enabled SSL protocol
versions and cipher suites used by the Vault HTTP client via the
following Spring properties:

* vault.ssl.enabled-protocols
* vault.ssl.enabled-cipher-suites

- Properties should be a comma-separated list of String constants that
correspond to those used by the enabled SSL provider.

Closes gh-635
Original pull request: gh-640.
2021-03-16 10:42:22 +01:00
Mark Paluch
f1e741c017 Allow external injection of Loggers into SecretLeaseContainer and PropertySources.
Several types are now enabled for reflective injection of the Logger to allow logger re-routing if needed. Especially for Spring Cloud Vault we reconfigure loggers so that components can log their failures during the bootstrap phase while the actual logging framework is not yet configured.

Closes gh-636.
2021-03-10 15:14:41 +01:00
Mark Paluch
e0bea23965 Polishing.
Rename GoogleCloudIamAuthenticationOptionsBuilder to GcpIamCredentialsAuthenticationOptionsBuilder.

See gh-600.
2021-03-10 11:27:04 +01:00
Mark Paluch
63f7f4a988 Polishing.
Update documentation, extract base class for GCP IAM authentication options.

Closes gh-600.
Original pull request: gh-619.
2021-02-19 14:31:22 +01:00
Andreas Gebauer
53f14ab81b Add support for GCP IAM credentials API.
We now support the IAM Credentials API in addition to the deprecated IAM API for signing JWT.

Closes gh-600.
Original pull request: gh-619.
2021-02-19 14:31:22 +01:00
Mark Paluch
5ad15086c5 [maven-release-plugin] prepare for next development iteration 2021-02-16 16:04:07 +01:00
Mark Paluch
114ccc4244 [maven-release-plugin] prepare release 2.3.1 2021-02-16 16:04:07 +01:00
Mark Paluch
c424a2dedd Polishing.
Add author tag. Fix tests.

Resolves gh-617.
Original pull request: gh-618.
2021-02-16 15:41:54 +01:00
Bruno Rodrigues
e1c9a92710 Add required scope to GCP SignJwt credentials.
Resolves gh-617.
Original pull request: gh-618.
2021-02-16 15:41:53 +01:00
Mark Paluch
3e43017f5b Update license headers for 2021.
Closes gh-624.
2021-02-16 15:18:08 +01:00
Mark Paluch
266f7eadea Wrap ThreadPoolTaskScheduler with TaskSchedulerWrapper.
We now expose a wrapped ThreadPoolTaskScheduler to not expose the bean to the context directly to avoid interference with other components requiring a properly configured ThreadPoolTaskScheduler for e.g. AtAsync usage. We remove the risk of accidentally exhausting the pool and in consequence, ensuring the pool has sufficient capacity to handle Vault background jobs.

Resolves gh-623.
2021-02-09 09:53:38 +01:00
Mark Paluch
c42c4a070d Migrate off deprecated WebClient.exchange(…)
We now use exchangeToMono(…) for a safe release of the body.

Closes gh-612
2021-01-15 09:45:32 +01:00
Mark Paluch
196352a640 Polishing
Add author and since tags.

Related ticket: gh-614
Original pull request: gh-615
2021-01-15 09:33:04 +01:00
Willi Schönborn
3e505f4b33 Added VMSS support to Azure MSI Authentication
Fixes gh-614
Original pull request: gh-615
2021-01-15 09:32:59 +01:00
Mark Paluch
81a87eb282 Prepare next development iteration
See gh-608
2020-12-22 10:09:02 +01:00
Mark Paluch
097996e6ca [maven-release-plugin] prepare release 2.3.0 2020-12-22 09:25:14 +01:00
Mark Paluch
ba409680e9 [maven-release-plugin] prepare for next development iteration 2020-12-10 11:59:40 +01:00
Mark Paluch
8b7f127a84 [maven-release-plugin] prepare release 2.3.0-RC1 2020-12-10 11:59:40 +01:00
Mark Paluch
c0a8a305ec Upgrade dependencies
* HttpClient 4.5.13
* HttpCore 4.4.14
* Jetty Reactive Httpclient 1.1.4
* Jackson Databind 2.12.0
* AWS SDK 1.11.916
* Google API Services v1-rev20201112-1.31.0
* Google Oauth 0.22.1
* BouncyCastle 1.67
* AssertJ 3.18.1
* JUnit 5.7.0
* Kotlin 1.4.21
* Kotlin Coroutines 1.4.2
* Mockito 3.6.28
* Spring Framework 5.3.2
* Spring Data 2020.0.2
* Spring Security 5.4.2
* Reactor Dysprosium 2020.0.2

Closes gh-607
2020-12-10 11:36:21 +01:00
Mark Paluch
49d78f6b76 Update to Vault 1.6
Closes gh-604
2020-12-10 10:57:09 +01:00
Mark Paluch
3ec52f4b21 Skip secret rotation for non-renewable leases with zero TTL
We now skip secret rotation for secrets that have a zero TTL, typically kv1/kv2 secrets that don't have a TTL configured to avoid excessive Vault calls.

Closes gh-601.
See also spring-cloud/spring-cloud-vault#391
2020-12-02 14:20:38 +01:00
Mark Paluch
dc09166d7a Polishing
Add whitespace to exception message
2020-12-02 13:59:03 +01:00
Mark Paluch
ff57fe73d2 Publish single rotated on secrets rotation for atomic propertysource updates
We now publish a single SecretLeaseRotatedEvent instead of publishing two events (SecretLeaseExpiredEvent and SecretLeaseCreatedEvent) to atomically update notify listeners such as LeaseAwareVaultPropertySource for atomic updates.

Closes gh-594.
2020-12-02 12:02:20 +01:00
Mark Paluch
6b2da56d50 Change default SecretLeaseContainer.leaseEndpoints from Legacy to Leases
Closes gh-589.
2020-12-01 17:51:04 +01:00