4035 Commits

Author SHA1 Message Date
Andy Wilkinson
d7da77bda8 Remove support for service connections to InfluxDB
Closes gh-35189
2023-04-28 09:49:39 +01:00
Scott Frederick
428434c873 Polish SslOptions usage
Change getter methods to return arrays, as this is how most client
library usages need the options.

See gh-34814
2023-04-27 16:37:46 -05:00
Scott Frederick
226c3005d4 Add SSL bundle support to Redis auto-configuration
Update Redis auto-configuration with Lettuce and Jedis drivers to
allow SSL configuration with an SSL bundle.

Closes gh-34815
2023-04-27 15:24:55 -05:00
Andy Wilkinson
9a0b5e0178 Merge branch '3.0.x'
Closes gh-35173
2023-04-26 12:48:50 +01:00
Andy Wilkinson
7ee1622995 Merge branch '2.7.x' into 3.0.x
Closes gh-35172
2023-04-26 12:48:16 +01:00
Andy Wilkinson
6b9bc012a5 Check that BPP and BFPP bean methods won't cause eager initialization
Closes gh-35164
2023-04-26 11:47:03 +01:00
Phillip Webb
b5c9e7c06a Polish SslOptions usage
Add helper method and tighten usage so that exceptions are thrown when
options cannot be applied.

See gh-34814
2023-04-25 22:39:47 -07:00
Phillip Webb
423c60acfa Add SSL bundle support to Elasticsearch auto-configuration
Update Elasticsearch RestClient auto-configuration so that an SSL
can be configured via an SSL bundle.

Closes gh-35155
2023-04-25 17:20:05 -07:00
Phillip Webb
19221f00f3 Deprecate spring.cassandra.ssl configuration property
Deprecate the `spring.cassandra.ssl` configuration property in favor
of `spring.cassandra.ssl.enabled`.

See gh-25602
2023-04-24 16:39:55 -07:00
Scott Frederick
ff35cc80d7 Allow Couchbase SSL to be enabled without custom trust material
Closes gh-35147
2023-04-24 14:51:58 -05:00
Scott Frederick
1d44b45b5d Deprecate Couchbase SSL keyStore properties
The properties `spring.couchbase.env.ssl.key-store`
and `spring.couchbase.env.ssl.key-store-password`
are deprecated in favor of configuring an SSL bundle with
`spring.couchbase.env.ssl.bundle`. The older properties
have somewhat confusing names, since they are used to
configure a trust store in Couchbase, and they don't
provide all the options that an SSL bundle provides.

Closes gh-35135
2023-04-24 14:45:40 -05:00
Andy Wilkinson
9cd04c55fb Merge branch '3.0.x'
Closes gh-35132
2023-04-24 16:01:51 +01:00
Andy Wilkinson
598e090e8f Merge branch '2.7.x' into 3.0.x
Closes gh-35131
2023-04-24 15:07:43 +01:00
Andy Wilkinson
90952a2dd9 Do not turn a null Flyway-specific password into an empty string
It prevents using PGPASS for authentication with Postgres.

Fixes gh-35110
2023-04-24 14:44:04 +01:00
Andy Wilkinson
7ffacf43f3 Use main DataSource when there are no migration-specific conn details
Fixes gh-35109
2023-04-24 13:18:56 +01:00
Phillip Webb
6ea2547de4 Add SSL bundle support to WebClient auto-configuration
Introduce `WebClientSsl` interface and auto-configuration to allow a
WebClient builder to have custom SSL configuration applied.

The previous `ClientHttpConnectorConfiguration` has been been changed
to now create `ClientHttpConnectorFactory` instances which can be used
directly or by `AutoConfiguredWebClientSsl`.

Closes gh-18556
2023-04-21 20:39:18 -07:00
Phillip Webb
c59c8cc674 Change SslOptions to use null for defaults rather than empty sets
Update `SslOptions` so that `null` is used for default values rather
than empty sets. Most libraries use `null` to indicate defaults so
aligning our class makes things easier.

See gh-34814
2023-04-21 16:18:44 -07:00
Scott Frederick
fd5fd1491a Add SSL bundle support to MongoDB auto-configuration
Update MongoDB auto-configuration so that an SSL can be configured
via an SSL bundle.

Closes gh-35042
2023-04-21 01:13:09 -07:00
Scott Frederick
1618aa2dac Add SSL bundle support to Couchbase auto-configuration
Update Couchbase auto-configuration so that an SSL can be configured
via an SSL bundle.

Closes gh-34811
2023-04-21 01:13:09 -07:00
Scott Frederick
682457377a Add SSL bundle support to Cassandra auto-configuration
Update Cassandra auto-configuration so that an SSL can be configured
via an SSL bundle.

Closes gh-25602
2023-04-21 01:13:09 -07:00
Scott Frederick
66db13b962 Refactor web server support to use SslBundles
Update Tomcat, Jetty, Undertow and Netty servers so that an SslBundle
is used to apply SSL configuration. Existing `Ssl` properties are
internally adapted to an `SslBundle` using the `WebServerSslBundle`
class. Additionally, if `Ssl.getBundle()` returns a non-null value the
the `SslBundles` bean will be used to find a registered bundle by name.

See gh-34814
2023-04-21 01:02:47 -07:00
Scott Frederick
8e1f24f98f Add SSL bundle auto-configuration support
Add auto-configuration for SSL bundles including new configuration
properties that can be used to define a bundle.

SSL bundle properties are provided under the `spring.ssl.bundle` key.
Currently `jks` and `pem` variants are support. Both are configured
as a `Map` where the bundle name is the key.

A typical example would be:

    spring:
      ssl:
        bundle:
          pem:
            mybundle
              key:
                password: secret
              keystore:
                certificate: classpath:mycert.pem
                private-key: classpath:mykey.pem

A `SslBundleRegistrar` interface is also provided to allow programmatic
contributions to the auto-configured `SslBundleRegistry`.

See gh-34814
2023-04-21 01:01:54 -07:00
Andy Wilkinson
cbc03783d0 Allow startup to contiune when ConnectionDetailsFactory load fails
Prior to this commit, a failure to load a ConnectionDetailsFactory
caused startup to fail. This causes problems when some of a
factory's required classes were not available, for examle when using
spring-boot-docker-compose without Actuator.

Fixes gh-35100
2023-04-20 15:00:46 +01:00
Andy Wilkinson
a03fe8befc Enable customization of JWK Set URI decoder builders
Closes gh-20750
2023-04-19 17:23:53 +01:00
Stephane Nicoll
366f7a85c9 Merge branch '3.0.x'
Closes gh-35069
2023-04-19 18:01:43 +02:00
Stephane Nicoll
6933796f2a Merge branch '2.7.x' into 3.0.x
Closes gh-35068
2023-04-19 18:01:16 +02:00
Stephane Nicoll
1b832d82f8 Polish "Back off if a custom ApplicationAvailability bean is present"
See gh-34347
2023-04-19 17:25:10 +02:00
Taeik Lim
5e95ba8448 Back off if a custom ApplicationAvailability bean is present
See gh-34347
2023-04-19 17:24:59 +02:00
Andy Wilkinson
f5e654748c Polish "Add customizer for conversion service used by Spring Batch"
See gh-34769
2023-04-19 14:15:08 +01:00
Claudio Nave
cafa6f5d9c Add customizer for conversion service used by Spring Batch
See gh-34769
2023-04-19 13:25:31 +01:00
Stephane Nicoll
a323bd90a8 Polish "Reintroduce support for ActiveMQ"
See gh-35048
2023-04-19 13:08:14 +02:00
Martin BENDA
3e9908a797 Reintroduce support for ActiveMQ
See gh-35048
2023-04-19 11:00:40 +02:00
Andy Wilkinson
7b3e687f05 Deprecate OAuth2ClientPropertiesRegistrationAdapter
This commit deprecates OAuth2ClientPropertiesRegistrationAdapter as
it wasn't really an adapter because it provides a static utility
method rather than adapting one contract to another. A replacement,
OAuth2ClientPropertiesMapper, is introduced that maps the OAuth2
client properties to the required types.

Closes gh-34714
2023-04-18 20:43:34 +01:00
Andy Wilkinson
4eb7558707 Polish "Add properties to support device grant"
See gh-34957
2023-04-18 19:34:13 +01:00
Steve Riesenberg
25b582c822 Add properties to support device grant
This commit adds the following properties under
spring.security.oauth2.authorizationserver.client.[registration-id]:

* endpoint.device-authorization-uri
* endpoint.device-verification-uri
* token.device-code-time-to-live

See gh-34957
2023-04-18 19:15:12 +01:00
Andy Wilkinson
e2ee1ed50d Fix password handling in Flyway auto-configuration
Previously, FlywayProperties returned an empty string when its
password had not been set. This prevented the desired fallback to
JdbcConnectionDetails.

Fixes gh-35046
2023-04-18 11:52:50 +01:00
Phillip Webb
81a972af8d Refactor testcontainers service connections
Update restcontainers service connections support so that
technology specific `@ServiceConnector` annotations are not longer
required.

A single `@ServiceConnector` annotation can now be used to create
all `ConnectionDetail` beans.

Closes gh-35017
2023-04-17 00:45:39 -07:00
Phillip Webb
2951cc7594 Polish 2023-04-17 00:42:28 -07:00
Phillip Webb
1849b82334 Don't apply configuration-properties from auto-configuration plugin
Update the auto-configuration gradle plugin so that the
configuration-properties plugin is not longer automatically applied.
This  allows us to have auto-configuration modules that don't ship
configuration properties.

Closes gh-35028
2023-04-17 00:41:25 -07:00
Phillip Webb
053c968fb4 Polish 2023-04-14 17:44:15 -07:00
Phillip Webb
00dc942e94 Migrate to Spring Security lambda config
Closes gh-35011
2023-04-14 17:39:48 -07:00
Andy Wilkinson
397f16ce2d Upgrade to Flyway 9.16.3
Closes gh-34990
2023-04-14 17:59:46 +01:00
Stephane Nicoll
c4c4eb93ae Start building against Spring Security 6.1.0-RC1 snapshots
See gh-34969
2023-04-14 14:52:57 +02:00
Andy Wilkinson
d4980ea993 Always define connection details beans
Closes gh-34776
2023-04-13 18:02:35 +01:00
Andy Wilkinson
466b81f13d Merge branch '3.0.x' 2023-04-13 14:41:40 +01:00
Andy Wilkinson
0e51cd583a Merge branch '2.7.x' into 3.0.x 2023-04-13 14:27:00 +01:00
Andy Wilkinson
e70226b48e Adapt to breaking changes in Spring Security internals
See gh-34948
2023-04-13 14:11:20 +01:00
Phillip Webb
e9a198a68f Merge branch '3.0.x' 2023-04-12 22:16:35 -07:00
Stephane Nicoll
9a4a522004 Polish "Start building against Spring Security 6.0.3 snapshots"
See gh-34952
2023-04-12 12:29:58 +02:00
Stephane Nicoll
3f022867f4 Polish "Start building against Spring Security 5.7.8 snapshots"
See gh-34948
2023-04-12 12:26:43 +02:00