Commit Graph

20904 Commits

Author SHA1 Message Date
Eddú Meléndez ad4f6ffeb7 Add service connection from Testcontainers Zipkin
See gh-35107
2023-05-03 13:09:49 +02:00
Phillip Webb 8427e813af Support import of idomatic testcontainer declaration classes
Add an `@ImportTestcontainers` annotation which can be used to import
idomatic testcontainer declaration classes.

Closes gh-35245
2023-05-03 00:28:36 -07:00
Phillip Webb 26566d4a30 Allow testcontainer beans to also contribute properties
Allow `Container` bean definitions to inject a `DynamicPropertyRegistry`
so that they can contribute environment properties.

Closes gh-35201
2023-05-03 00:27:13 -07:00
Phillip Webb e9578fe745 Swallow BeanCurrentlyInCreationException exceptions
Update `TestcontainersLifecycleBeanPostProcessor` to that initialization
doesn't fail if a `BeanCurrentlyInCreationException` is thrown.

Prior to this commit, if the first bean being post-processed was a
configuration class declaring a bean that the `Container` depended on
all initialization would fail.

See gh-35223
2023-05-03 00:24:30 -07:00
Phillip Webb 3997771f6c Polish 2023-05-02 23:40:30 -07:00
Phillip Webb d86e82d026 Merge branch '3.0.x' 2023-05-02 15:42:05 -07:00
Phillip Webb 2c27ec5b7b Merge branch '2.7.x' into 3.0.x 2023-05-02 15:42:00 -07:00
Phillip Webb b3226c55d2 Polish 2023-05-02 15:41:55 -07:00
Phillip Webb 8e18862582 Merge branch '3.0.x' 2023-05-02 15:41:26 -07:00
Phillip Webb 8d1fb3be4f Fix index error on test
See gh-35241
2023-05-02 15:41:07 -07:00
Phillip Webb a890323758 Merge branch '3.0.x' 2023-05-02 14:52:42 -07:00
Phillip Webb 0f242ab3f7 Merge branch '2.7.x' into 3.0.x 2023-05-02 14:52:16 -07:00
Phillip Webb 6b646f6a8e Update copyright year of changed files 2023-05-02 14:52:12 -07:00
Phillip Webb cd5f0dff21 Merge branch '3.0.x'
Closes gh-35242
2023-05-02 14:51:24 -07:00
Phillip Webb 722cbc66c6 Merge branch '2.7.x' into 3.0.x
Closes gh-35241
2023-05-02 14:51:13 -07:00
Phillip Webb 5ef0ee0ed4 Prevent early initialization of SessionRepository beans
Replace `SessionRepositoryFilterConfiguration` filter registration bean
with a `DelegatingFilterProxyRegistrationBean` so that
`SessionRepository` beans are not initialized early.

Fixes gh-35240
2023-05-02 14:47:15 -07:00
Scott Frederick 23ae91b008 Add native image manifest entry
A manifest entry `Spring-Boot-Native-Processed: true` is added to the
jar manifest by the Maven or Gradle plugin when the jar has been built
for use in a native image. With the Gradle plugin, this is done in
reaction to the GraalVM Native Image Plugin being applied to the
project. With the Maven plugin, this is done when the `native` profile
is applied to the build.
2023-05-02 15:11:49 -05:00
Scott Frederick 5ac6a3d90b Add smoke test to verify MongoDB SSL connections
See gh-35042
2023-05-02 15:11:09 -05:00
Scott Frederick 3bb271e320 Add smoke test to verify Redis SSL connection
See gh-34815
2023-05-02 13:52:50 -05:00
Andy Wilkinson 161b54b1d4 Set Logback's root log level to INFO as early as possible
Closes gh-35238
2023-05-02 18:29:52 +01:00
Andy Wilkinson aafe343ce6 Merge branch '3.0.x'
Closes gh-35237
2023-05-02 16:19:54 +01:00
Andy Wilkinson 9a39bf284b Merge branch '2.7.x' into 3.0.x
Closes gh-35235
2023-05-02 16:19:30 +01:00
Andy Wilkinson 7c2c2ebb1b Make ApplicationAvailabilityBean receive events with lazy init
Fixes gh-35161
2023-05-02 16:19:08 +01:00
Moritz Halbritter 9d50d92b9c Merge branch '3.0.x' 2023-05-02 16:36:49 +02:00
Moritz Halbritter 1f4a337ad2 Merge branch '2.7.x' into 3.0.x 2023-05-02 16:17:50 +02:00
Moritz Halbritter 091d6204cb Disable build image integration tests on aarch64 linux and mac
See gh-35229
2023-05-02 15:38:42 +02:00
Moritz Halbritter 7c725a7560 Polish DockerImageNames 2023-05-02 15:01:45 +02:00
Moritz Halbritter 2586150eaf Disable ARM incompatible integration tests 2023-05-02 14:59:49 +02:00
Moritz Halbritter 735c43ce9b Merge branch '2.7.x' into 3.0.x 2023-05-02 14:38:48 +02:00
Moritz Halbritter 312f0c17ed Set initial ElasticSearch heap size in integration tests 2023-05-02 14:37:13 +02:00
Moritz Halbritter 944d77491b Set initial heap size for ElasticSearch integration tests 2023-05-02 14:25:35 +02:00
Moritz Halbritter 9a545727b9 Disable SQL server and Oracle database compose tests on ARM
See gh-35229
2023-05-02 14:16:56 +02:00
Moritz Halbritter 1ce88f25b4 Merge branch '3.0.x' 2023-05-02 14:08:37 +02:00
Moritz Halbritter 037cb8c5b0 Merge branch '2.7.x' into 3.0.x 2023-05-02 13:57:37 +02:00
Moritz Halbritter c1cef099d2 Limit maximum heap of ElasticSearch in tests 2023-05-02 13:40:59 +02:00
Moritz Halbritter d7a9f87b64 Disable Neo4j tests on aarch64 linux and mac
See gh-35228
2023-05-02 13:40:59 +02:00
Moritz Halbritter 9f109fe785 Disable Couchbase integration tests on aarch64 linux and mac
See gh-35228
2023-05-02 13:40:59 +02:00
Andy Wilkinson 419d8c22b2 Merge branch '3.0.x'
Closes gh-35231
2023-05-02 11:58:58 +01:00
Andy Wilkinson 8f291abc2b Merge branch '2.7.x' into 3.0.x
Closes gh-35230
2023-05-02 11:58:33 +01:00
Juhan Aasaru 3b70286747 Correct list of annotations equivalent to @SpringBootApplication
See gh-35180
2023-05-02 11:57:18 +01:00
Andy Wilkinson d24167371e Merge branch '3.0.x'
Closes gh-35226
2023-05-02 09:17:28 +01:00
Andy Wilkinson 8f3f74ffd5 Merge branch '2.7.x' into 3.0.x
Closes gh-35225
2023-05-02 09:03:17 +01:00
Andy Wilkinson 695e58f418 Align buildSrc's Framework version with the main build's version
Closes gh-35224
2023-05-02 08:59:58 +01:00
Andy Wilkinson b1d0433d74 Handle Kafka servers as strings and rely on Kafka's parsing
Closes gh-34770
2023-05-02 08:38:40 +01:00
Phillip Webb dc4efaf276 Initialize containers first and destroy them last
Update `TestcontainersLifecycleBeanPostProcessor` so that on
initialization of the first bean all `Container` instances are started.

With this update all `Container` beans will be started first in the
`preInstantiateSingletons` phase and destroyed last.

Closes gh-35223
2023-05-01 23:59:22 -07:00
Phillip Webb 14bc354f7f Apply initializer automatically for context tests
Update `ServiceConnectionContextCustomizer` so that is applies the
`TestcontainersLifecycleApplicationContextInitializer` to all
application contexts.

Closes gh-35222
2023-05-01 23:59:22 -07:00
Phillip Webb 632c5d7ea5 Implement ServiceConnectionContextCustomizer equals and hashcode for key
Update `ServiceConnectionContextCustomizer` with `equals` and `hashcode`
methods so that it works correctly when part of a context cache key.

Closes gh-35216
2023-05-01 23:59:22 -07:00
Phillip Webb 25e3291d86 Broaden exceptions that include ServiceConnection name hint
See gh-35168
2023-05-01 22:13:50 -07:00
Phillip Webb 2c0edfd0b5 Merge branch '3.0.x'
Closes gh-35221
2023-05-01 15:35:23 -07:00
Phillip Webb 67abe3f88e Merge branch '2.7.x' into 3.0.x
Closes gh-35220
2023-05-01 15:34:59 -07:00
Phillip Webb 4e6148f47b Search for main methods from the bottom of the stack
Update `MainMethod` to search from the bottom of the stack rather than
the start. Prior to this commit, an incorrect `main` method would be
found if more than one `main` was in the stack.

Fixes gh-35214
2023-05-01 13:43:40 -07:00
Andy Wilkinson 8fe20c5d63 Derive LiquibaseConnectionDetails from JdbcConnectionDetails
Closes gh-35141
2023-05-01 13:32:44 +01:00
Andy Wilkinson d293df6617 Derive FlywayConnectionDetails from JdbcConnectionDetails
Rather than implementing factories for FlywayConnectionDetails for
each supported SQL database, we instead use a factory to takes
JdbcConnectionDetails as a source and produces
FlywayConnectionDetails.

Closes gh-35138
2023-05-01 13:29:42 +01:00
Phillip Webb b4cd2572d5 Prevent early initialization of Container beans
Update testcontainers auto-configuration so that `Container` bean
instances are no longer needed when registering `ConnectionDetails`
beans. Registration now occurs based on the bean type and the `name`
attribute of `@ServiceConnection`.

Fixes gh-35168
2023-05-01 00:21:47 -07:00
Phillip Webb c21cf31853 Switch order of ContainerConnectionDetailsFactory generics
Switch `ContainerConnectionDetailsFactory` so that `Container`
is before `ConnectionDetails`.
2023-05-01 00:00:43 -07:00
Phillip Webb fc5339f81c Polish 2023-04-30 23:27:06 -07:00
Phillip Webb c13041201d Don't call close methods for reusable testcontainers
Refine `TestcontainersLifecycleApplicationContextInitializer` so that
the `close()` method is not called for reusable containers.

Closes gh-35210
2023-04-30 06:07:05 -07:00
Phillip Webb e7357ba805 Increase timeout in OracleR2dbcContainerConnectionDetailsFactoryTests 2023-04-29 21:10:19 -07:00
Phillip Webb d1084ee6db Refactor ContainerConnectionDetailsFactory classes
Update `ContainerConnectionDetailsFactory` so that they consistently
extend `ContainerConnectionDetails`. The container is also no longer
accessible from the `ContainerConnectionSource` and is never used
during the construction of `ConnectionDetails` instances.

See gh-35168
2023-04-29 21:10:14 -07:00
Phillip Webb 403481ff96 Add 'required' parameter to ConnectionDetailsFactories
Update `ConnectionDetailsFactories` so that callers can now declare if
a result is required or not and improve exception hierarchy.

See gh-35168
2023-04-29 21:10:07 -07:00
Phillip Webb 2b261e6ebd Apply TestTypeExcludeFilter in regular applications
Add `ExcludeFilterApplicationContextInitializer` to register the
`TestTypeExcludeFilter` for regular applications.

Prior to this commit, the filter was only registered using the
`ExcludeFilterContextCustomizerFactory` which meant that test components
were filtered in tests but not when using `SpringApplication.from` with
a test classpath.

Fixes gh-35206
2023-04-29 21:10:02 -07:00
Scott Frederick d913472919 Add Kotlin samples and polish SSL bundle documentation
Closes gh-35105
2023-04-28 14:31:01 -05:00
Andy Wilkinson ce7bf0d0af Merge branch '3.0.x'
Closes gh-35197
2023-04-28 18:06:37 +01:00
Andy Wilkinson 4581c25e20 Merge branch '2.7.x' into 3.0.x
Closes gh-35196
2023-04-28 18:06:12 +01:00
Andy Wilkinson de2df9311c Test Gradle plugin against Gradle 8.1.1
Closes gh-35195
2023-04-28 18:05:06 +01:00
Andy Wilkinson 09527995d1 Polish 2023-04-28 17:56:12 +01:00
Andy Wilkinson a75f55aaa5 Try to stabilize SQL Server tests on CI 2023-04-28 14:07:50 +01:00
Moritz Halbritter 4131e7338d Fix LogMessage format 2023-04-28 13:46:57 +02:00
Moritz Halbritter 75207db6be Polish docker compose code 2023-04-28 13:46:57 +02:00
Moritz Halbritter 8abebd75fb Use shutdownHandlers parameter in constructor 2023-04-28 13:46:56 +02:00
Moritz Halbritter 176cc20c36 Polish FlywayConfiguration 2023-04-28 13:15:39 +02:00
Moritz Halbritter 27ab98b49d Polish ConnectionDetailsFactories 2023-04-28 13:15:39 +02:00
Andy Wilkinson cec159110d Do not block indefinitely when querying SQL database 2023-04-28 09:52:27 +01:00
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 8bbe894665 Add Docker Compose service connection support for Oracle using JDBC
Closes gh-35145
2023-04-27 11:07:53 +01:00
Andy Wilkinson 5e73047164 Align SQL Server-related class names with existing precedents
Closes gh-35181
2023-04-27 10:33:25 +01:00
Andy Wilkinson 1e785e81f8 Add Docker Compose support for Oracle Database using R2DBC
Closes gh-35143
2023-04-27 10:33:25 +01:00
Andy Wilkinson 8fd36d04e1 Improve MsSqlServerR2dbcDockerComposeConnectionDetailsFactory tests
See gh-35144
2023-04-27 09:31:25 +01:00
Andy Wilkinson 963da20493 Reinstate dependency management for io.r2dbc:r2dbc-mssql
Closes gh-35159
2023-04-27 09:31:25 +01:00
Andy Wilkinson b5178afa21 Add Docker Compose support for MS SQL Server using JDBC
Closes gh-35146
2023-04-27 09:31:24 +01: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 b03f1e47d0 Merge branch '3.0.x'
Closes gh-35171
2023-04-26 12:10:34 +01:00
Andy Wilkinson d6e3db9c36 Merge branch '2.7.x' into 3.0.x
Closes gh-35170
2023-04-26 11:59:19 +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
Scott Frederick e9a85b91a8 Polish 2023-04-25 16:20:38 -05:00
Andy Wilkinson 472afafd4b Stop WebFilterChainPostProcessor from causing eager init
Fixes gh-35163
2023-04-25 22:08:58 +01:00
Scott Frederick 43b42eca49 Add Docker Compose service connection support for Cassandra
Closes gh-35136
2023-04-25 16:06:34 -05:00
Scott Frederick 2bec82ab2f Delete disabled docker compose tests 2023-04-25 14:51:04 -05:00
Stephane Nicoll d55cd3b46f Merge branch '3.0.x'
Closes gh-35160
2023-04-25 11:26:31 +02:00
Stephane Nicoll b286e5a0bb Prevent ServletComponentScan to run again with AOT
Closes gh-34563
2023-04-25 11:20:14 +02:00
Yanming Zhou b615aef810 Fix dependency management for spring-boot-testcontainers
This commit adds org.testcontainers:testcontainers as an api dependency
of spring-boot-testcontainers so that GenericContainer can be used
without an additional dependency

See gh-35119
2023-04-25 10:04:52 +02:00
Stephane Nicoll facf48e423 Polish "Prevent container to be closed twice"
See gh-35120
2023-04-25 09:59:52 +02:00
Yanming Zhou 5df6913f18 Prevent container to be closed twice
See gh-35120
2023-04-25 09:59:52 +02:00
Andy Wilkinson fd6214e7e3 Remove accidentally committed test classes 2023-04-25 08:31:26 +01:00
Phillip Webb e0b03661d4 Merge branch '3.0.x' 2023-04-24 17:16:52 -07:00
Phillip Webb 8a43710173 Merge branch '2.7.x' into 3.0.x 2023-04-24 17:16:43 -07:00
Phillip Webb a707c5e83e Polish "Fix support for default values in banner placeholders"
Reorder methods and add a test to ensure that getPropertyResolvers
can be mutated.

See gh-34764
2023-04-24 17:15:56 -07:00
Andy Wilkinson dee5217cf0 Add Docker Compose support for MS SQL Server using R2DBC
Closes gh-35144
2023-04-24 16:47:58 -07:00
Phillip Webb 0f032c290a Allow for predicate based checking of image names
Update `DockerComposeConnectionDetailsFactory` to accept a `Predicate`
based check to determine if the source should be accepted.

The existing name based checks have also been improved to allow names
outside of official docker images. The `ImageReference` and `ImageName`
classes have been mainly copied from
`org.springframework.boot.buildpack.platform.docker.type`.

Closes gh-35154
2023-04-24 16:40:07 -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
Stephane Nicoll 363dc9368d Merge branch '3.0.x'
Closes gh-35130
2023-04-24 13:46:17 +02:00
Stephane Nicoll 7f0402f869 Merge branch '2.7.x' into 3.0.x
Closes gh-35129
2023-04-24 13:46:04 +02:00
Ivan Dimitrov f4db73ead9 Harmonize references to application.yaml files in reference docs
See gh-34628
2023-04-24 13:42:05 +02:00
Lukasz Jernas d38a68ebcd Fix typo in testing docs
See gh-35128
2023-04-24 13:26:19 +02:00
Phillip Webb a0b854024b Add a 'Docker Compose Support' section to the reference docs
Update the reference documentation with details about the recently
introduced Docker Compose Support.

Closes gh-35026
2023-04-21 23:18:54 -07:00
Phillip Webb e19aa81813 Polish formatting 2023-04-21 23:18:44 -07: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
Phillip Webb 77c468c956 Add test to check SSL RestTemplate requests work against server
Add a test to `AbstractClientHttpRequestFactoriesTests` to ensure
that SSL configuration works when calling a real Tomcat server.

See gh-34810
2023-04-21 14:06:55 -07:00
Phillip Webb 72c1f667f5 Fix @Since javadoc in RestTemplateBuilder
See gh-34810
2023-04-21 14:06:46 -07:00
Scott Frederick b6befd133c Add SSL bundle support to RestTemplateBuilder auto-configuration
Update RestTemplateBuilder auto-configuration so that an SSL can be
configured via an SSL bundle.

Closes gh-34810
2023-04-21 01:13:10 -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 a03f857059 Document update SSL support
Add a new SSL section to the reference documentation to describe SSL
bundles.

See gh-34814
2023-04-21 01:13:05 -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
Scott Frederick e3677f7ff6 Add SSL bundle support to spring-boot module
Add classes to support SSL bundles which can be used to apply SSL
settings in a centralized way. An `SslBundle` can be registered with
an `SslBundleRegistry` and obtained from an `SslBundles` instance. The
`DefaultSslBundleRegistry` provides a default in-memory implementation.

Different client libraries often configure SSL in slightly different
ways. To accommodate this, the `SslBundle` provides a layered approach
of obtaining SSL information:

	- `getStores` provides access to the key store and trust stores
	  as well as any required key store password.

	- `getManagers` provides access to the `KeyManagerFactory`,
	  `TrustManagerFactory` as well as the `KeyManger` and
	  `TrustManager` arrays that they create.

	- `createSslContext` provides a convenient way to obtain a new
	  `SSLContext` instance.

In addition, the `SslBundle` also provides details about the key being
used, the protocol to use and any options that should be applied to the
SSL engine.

See gh-34814
2023-04-21 01:01:11 -07:00
Andy Wilkinson e61adc6cbf Allow even more time for Redpanda to start 2023-04-20 17:41:40 +01:00
Andy Wilkinson b64adbc34b Fix disabled conditions on AbstractDockerComposeIntegrationTests 2023-04-20 16:12:36 +01: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 bc58df3467 Prohibit upgrades to Liquibase 4.21.1
See gh-34983
2023-04-20 12:22:55 +01:00
Andy Wilkinson 26c98eded9 Upgrade to Tomcat 10.1.8
Closes gh-35095
2023-04-20 12:22:54 +01:00
Andy Wilkinson dbab743018 Upgrade to Spring Integration 6.1.0-RC1
Closes gh-34973
2023-04-20 12:22:54 +01:00
Andy Wilkinson 68b25598b9 Upgrade to Spring GraphQL 1.2.0-RC1
Closes gh-34972
2023-04-20 12:22:54 +01:00
Andy Wilkinson 5965df39b5 Upgrade to Selenium HtmlUnit 4.8.3
Closes gh-35094
2023-04-20 12:22:54 +01:00
Andy Wilkinson 503e88f2ec Upgrade to Logback 1.4.7
Closes gh-35093
2023-04-20 12:22:53 +01:00
Andy Wilkinson b80f4cc985 Upgrade to Tomcat 10.1.8
Closes gh-35089
2023-04-20 09:54:24 +01:00
Andy Wilkinson ca618e84d3 Upgrade to Spring Integration 6.0.5
Closes gh-35012
2023-04-20 09:54:23 +01:00
Andy Wilkinson 35fd0a3f69 Upgrade to Logback 1.4.7
Closes gh-35088
2023-04-20 09:54:23 +01:00
Andy Wilkinson 04780650a1 Merge branch '3.0.x'
Closes gh-35087
2023-04-20 08:04:37 +01:00
Andy Wilkinson 32444fed4b Merge branch '2.7.x' into 3.0.x
Closes gh-35086
2023-04-20 08:04:18 +01:00
Madhura Bhave 3522714c13 Use endpoint mappings in CloudFoundry integration
Closes gh-35085
2023-04-20 07:50:44 +01:00
Andy Wilkinson c55d398f95 Validate health group includes and excludes
Closes gh-34360
2023-04-19 19:51:57 +01:00
Andy Wilkinson a03fe8befc Enable customization of JWK Set URI decoder builders
Closes gh-20750
2023-04-19 17:23:53 +01:00
Andy Wilkinson 45068c777f Document default value for management.otlp.tracing.compression
See gh-34508
2023-04-19 17:21:14 +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 f2e5eab09c Polish does for reporting traces using OTLP
See gh-34508
2023-04-19 15:42:21 +01:00
Andy Wilkinson 2bccd586ea Fix DockerComposeFileTests on Windows 2023-04-19 15:36:07 +01:00
Andy Wilkinson c543d9172c Polish "Add auto-configuration for OTLP span exporter"
See gh-34508
2023-04-19 15:11:00 +01:00
Jonatan Ivanov ceaafeca0b Add auto-configuration for OTLP span exporter
With these changes an OTLP HTTP/protobuf exporter is auto-configured
if opentelemetry-exporter-otlp is on the classpath.

See gh-34508
2023-04-19 14:44:56 +01:00
Andy Wilkinson d4f857683d Polish formatting of DockerImageNames 2023-04-19 14:22:12 +01: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
Stephane Nicoll bed11671d3 Upgrade to Spring WS 4.0.3
Closes gh-34971
2023-04-19 11:00:04 +02:00
Stephane Nicoll 41db5a2d0b Upgrade to Spring WS 4.0.3
Closes gh-34953
2023-04-19 10:57:21 +02:00
Stephane Nicoll 098d338d7c Upgrade to Spring WS 3.1.6
Closes gh-34949
2023-04-19 10:56:09 +02:00
Andy Wilkinson 5ec03d2b34 Wait longer for Redpanda to start 2023-04-18 21:43:25 +01: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 651f341385 Fix compatibility of Redpanda Docker image name
See 3e010b12
2023-04-18 19:52:17 +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 c3e739c751 Add dependency management for io.asyncer:r2dbc-mysql
Closes gh-34927
2023-04-18 19:05:12 +01:00
Andy Wilkinson e72bff8dd4 Add dependency management for org.mariadb:r2dbc-mariadb
Closes gh-34625
2023-04-18 19:02:15 +01:00
Phillip Webb 3e010b1230 Fetch redpanda directly from docker hub
Attempt to avoid rate limiting issues by fetching redpanda directly
from docker hub.

See gh-34780
2023-04-18 10:51:46 -07:00
Andy Wilkinson 28b7c583a9 Ensure shutdown hook is registered when a handler is added
Closes gh-34627
2023-04-18 18:20:14 +01:00
Stephane Nicoll d43db3dfcf Upgrade to Spring Session 3.1.0-RC1
Closes gh-34970
2023-04-18 16:32:24 +02:00
Stephane Nicoll 8c781143dc Upgrade to Spring Authorization Server 1.1.0-RC1
Closes gh-35013
2023-04-18 16:32:23 +02:00
Stephane Nicoll 39d5ce5c3c Upgrade to MySQL 8.0.33
Closes gh-35063
2023-04-18 16:32:23 +02:00
Stephane Nicoll 824e8c3813 Upgrade to Lettuce 6.2.4.RELEASE
Closes gh-35062
2023-04-18 16:32:18 +02:00
Stephane Nicoll c32ba70ecb Upgrade to Jackson Bom 2.15.0-rc3
Closes gh-35061
2023-04-18 16:32:13 +02:00
Stephane Nicoll c116729c4f Upgrade to Couchbase Client 3.4.5
Closes gh-35060
2023-04-18 16:32:03 +02:00
Andy Wilkinson 0da209db08 Polish "Add support for Oracle R2DBC Service Connection"
See gh-34852
2023-04-18 13:47:46 +01:00
Eddu Melendez 6d893b2fe2 Add support for Oracle R2DBC Service Connection
See gh-34852
2023-04-18 12:53:05 +01:00
Andy Wilkinson 98d077c74c Polish "Add service connection from Testcontainers Redpanda"
See gh-34780
2023-04-18 12:49:25 +01:00
Eddu Melendez f4bcf99d30 Add service connection from Testcontainers Redpanda
Redpanda (https://redpanda.com/) is Kafka-compatible and
Testcontainers provides a module. This commit adds support for
creating KafkaConnectionDetails from a
@ServiceConnection-annotated RedpandaContainer.

See gh-34780
2023-04-18 12:49:25 +01:00
Stephane Nicoll 4b947fa915 Upgrade to SAAJ Impl 3.0.1
Closes gh-35056
2023-04-18 13:45:53 +02:00
Stephane Nicoll 16563a6a0a Upgrade to Native Build Tools Plugin 0.9.21
Closes gh-35055
2023-04-18 13:45:53 +02:00
Stephane Nicoll b30d9d9961 Upgrade to MySQL 8.0.33
Closes gh-35057
2023-04-18 13:22:28 +02:00
Stephane Nicoll 9314362c34 Upgrade to MySQL 8.0.33
Closes gh-35054
2023-04-18 13:20:52 +02:00
Stephane Nicoll 9277465a76 Upgrade to Lettuce 6.2.4.RELEASE
Closes gh-35053
2023-04-18 13:20:47 +02:00
Stephane Nicoll 47e3b4655a Upgrade to jOOQ 3.17.12
Closes gh-35052
2023-04-18 13:20:42 +02:00
Stephane Nicoll 2a90c60001 Upgrade to Jetty 11.0.15
Closes gh-35051
2023-04-18 13:20:36 +02:00
Stephane Nicoll aa542858c9 Upgrade to Couchbase Client 3.4.5
Closes gh-35050
2023-04-18 13:20:30 +02:00
Stephane Nicoll f07ac4b53d Upgrade to Spring Kafka 3.0.6
Closes gh-34968
2023-04-18 13:10:17 +02:00
Stephane Nicoll 47e2c3f597 Upgrade to Spring Kafka 3.0.6
Closes gh-34951
2023-04-18 13:07:31 +02: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
Andy Wilkinson 1ad428129d Polish "Add customizer for SdkTracerProviderBuilder"
See gh-34945
2023-04-18 10:02:17 +01:00
Yanming Zhou f40e9738b6 Add customizer for SdkTracerProviderBuilder
See gh-34945
2023-04-18 10:01:53 +01:00
Andy Wilkinson ce1c3e52d7 Merge branch '3.0.x'
Closes gh-35040
2023-04-17 19:47:38 +01:00
Andy Wilkinson d30f0575f0 Polish "Improve documentation of tracing deps and config props"
See gh-34991
2023-04-17 19:47:16 +01:00
Robert K dfe60cb2d3 Improve documentation of tracing deps and config props
See gh-34991
2023-04-17 19:47:16 +01:00
Stephane Nicoll 8de1ebe52b Upgrade to Spring Security 6.1.0-RC1
Closes gh-34969
2023-04-17 20:41:08 +02:00
Stephane Nicoll 1785119cae Upgrade to Spring AMQP 3.0.4
Closes gh-34967
2023-04-17 20:41:07 +02:00
Stephane Nicoll 1e7b8250b8 Upgrade to Spring Security 6.0.3
Closes gh-34952
2023-04-17 20:40:06 +02:00
Stephane Nicoll 67eff9a56f Upgrade to Spring LDAP 3.0.2
Closes gh-34904
2023-04-17 20:40:05 +02:00
Stephane Nicoll 7de5264025 Upgrade to Spring AMQP 3.0.4
Closes gh-34950
2023-04-17 20:40:05 +02:00
Stephane Nicoll 71ff5f4a41 Upgrade to Spring Security 5.7.8
Closes gh-34948
2023-04-17 20:39:38 +02:00
Stephane Nicoll 29484e5129 Upgrade to Spring AMQP 2.4.12
Closes gh-34947
2023-04-17 20:39:37 +02:00
Andy Wilkinson a37a7228b8 Merge pull request #34833 from chinmoy12c
* gh-34833:
  Polish "Add content buffering support to MockServerRestTemplateCustomizer"
  Add content buffering support to MockServerRestTemplateCustomizer

Closes gh-34833
2023-04-17 18:05:29 +01:00
Andy Wilkinson 3f93a4ece6 Polish "Add content buffering support to MockServerRestTemplateCustomizer"
See gh-34833
2023-04-17 18:03:44 +01:00
Chinmoy Chakraborty b065e04be7 Add content buffering support to MockServerRestTemplateCustomizer
See gh-34833
2023-04-17 18:02:53 +01:00
Andy Wilkinson 2b4f565b76 Merge branch '3.0.x'
Closes gh-35038
2023-04-17 17:52:11 +01:00
Andy Wilkinson df93b39f60 Merge branch '2.7.x' into 3.0.x
Closes gh-35037
2023-04-17 17:51:53 +01:00
Andy Wilkinson d6bbbb8bac Merge branch '3.0.x'
Closes gh-35036
2023-04-17 17:49:55 +01:00
Andy Wilkinson 284e4d6f6d Merge branch '2.7.x' into 3.0.x
Closes gh-35035
2023-04-17 17:46:33 +01:00
Andy Wilkinson 88ec47ff2b Test Gradle plugin against Gradle 8.1
Closes gh-35034
2023-04-17 17:38:28 +01:00
Andy Wilkinson 751fc9fe54 Fix includeProjectDependencies with Kotlin DSL 2023-04-17 17:35:15 +01:00
Andy Wilkinson 7b3e3deb58 Remove unused generic from ContainerConnectionSource
See gh-35017
2023-04-17 17:11:08 +01:00
Eddú Meléndez aea5b77d1e Add missing containers configuration reference to code snippet
See gh-35031
2023-04-17 14:36:40 +02:00
Stephane Nicoll 7cf28680c9 Polish 2023-04-17 14:28:35 +02:00
Stephane Nicoll 95f07484a8 Add missing check on Docker availability 2023-04-17 14:28:11 +02:00
Stephane Nicoll 8946c761ee Polish 2023-04-17 13:23:51 +02:00
Andy Wilkinson 78242cb794 Skip tests when Docker is unavailable
See gh-34747
2023-04-17 10:33:35 +01:00
Andy Wilkinson 3a01759a3b Protect tests against unstable toString ordering
See gh-34747
2023-04-17 10:27:56 +01:00
Phillip Webb 3657f73b9a Provide more verbose docker compose logging
Update `up` and `start` operations so that real-time logging is
provided. Prior to this commit, lengthy pull operations were not
logged which gave the impression that the application had
crashed.

Closes gh-34994
2023-04-17 01:00:37 -07:00
Phillip Webb 7728488541 Allow LogLevel to be used easily with commons logging
Add a `LogLevel.log` method that can be used to log a message at
the given level using commons logging.

Closes gh-35024
2023-04-17 01:00:34 -07:00
Phillip Webb efff253d35 Fallback to finding docker image name from compose ps
Earlier versions of docker do not include the image name in the inspect
output. We now fallback to using the `compose ps` response.

Closes gh-34993
2023-04-17 01:00:20 -07:00
Mortitz Halbritter 24d1620a93 Add 'excludeDockerCompose' Maven property
Update `AbstractPackagerMojo` so that the docker-compose module
can be filtered from the packaged jar.

Co-authored-by: Phillip Webb <pwebb@vmware.com>
Co-authored-by: "Andy Wilkinson <wilkinsona@vmware.com>
2023-04-17 01:00:16 -07:00
Mortitz Halbritter 842e17eced Add Docker Compose support
Add `spring-boot-docker-compose` module with service connection
support.

Closes gh-34747

Co-authored-by: Phillip Webb <pwebb@vmware.com>
Co-authored-by: "Andy Wilkinson <wilkinsona@vmware.com>
2023-04-17 01:00:08 -07:00
Phillip Webb 4ae24e404e Add @DisabledIfProcessUnavailable test support annotation
Add `@DisabledIfProcessUnavailable` annotation that can disable
a test if a process isn't available to execute.

Closes gh-35023
2023-04-17 01:00:04 -07:00
Phillip Webb 5ac48f5f15 Add testcontainers service connection auto-configuration
Add auto-configuration for `Container` beans that are also
annotated with `@ServiceConnection`. This commit allow
testcontainers to be used at development time and a new section
has been added to the documentation to describe the feature.

Closes gh-35022
2023-04-17 00:49:43 -07:00
Phillip Webb 3b92173a66 Add Testcontainer bean lifecycle support
Add `TestcontainersLifecycleApplicationContextInitializer` and
`TestcontainersLifecycleBeanPostProcessor` to take care of starting and
stopping `Container` beans.

Closes gh-35021
2023-04-17 00:48:20 -07:00
Phillip Webb e2262284f1 Add SpringApplication.from(...) support
Add a `SpringApplication.from(...)` method which can be used
to augment an existing application with addition `@Configuration`.

Closes gh-35019
2023-04-17 00:47:59 -07:00
Phillip Webb 91e6e4e391 Update documentation to note the spring-boot-testcontainers module
See gh-34757
2023-04-17 00:47:03 -07:00
Phillip Webb 1a0b9bdcd0 Move Testcontainers documentation from howto to features
Closes gh-35018
2023-04-17 00:46:11 -07: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 11dac5b5b7 Create dedicated spring-boot-testcontainers module
Create a dedicated testcontainers module containing the service
connectors code.

Closes gh-34757
2023-04-17 00:42:31 -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
Stephane Nicoll 148c632299 Start building against Spring Authorization Server 1.1.0-RC1 snapshots
See gh-35013
2023-04-15 16:05:45 +02:00
Stephane Nicoll 41402b3984 Start building against Spring Integration 6.0.5 snapshots
See gh-35012
2023-04-15 15:57:29 +02:00
Stephane Nicoll 86edeb9444 Upgrade to Spring Data Bom 2022.0.5
Closes gh-34903
2023-04-15 15:56:36 +02:00
Stephane Nicoll ae0767d345 Upgrade to Spring Data Bom 2021.2.11
Closes gh-34902
2023-04-15 15:54:41 +02:00
Andy Wilkinson b8b1a3b0ec Upgrade to Spring Data Bom 2023.0.0-RC1
Closes gh-34893
2023-04-15 09:39:23 +01:00
Andy Wilkinson 44ff18bcec Upgrade to SAAJ Impl 3.0.1
Closes gh-35007
2023-04-15 09:39:23 +01:00
Andy Wilkinson b1f240a035 Upgrade to OpenTelemetry 1.25.0
Closes gh-35005
2023-04-15 09:39:22 +01:00
Andy Wilkinson 15533367b4 Upgrade to Maven Surefire Plugin 3.0.0
Closes gh-35004
2023-04-15 09:39:22 +01:00
Andy Wilkinson 8e65351cd6 Upgrade to Maven Failsafe Plugin 3.0.0
Closes gh-35003
2023-04-15 09:39:22 +01:00
Andy Wilkinson 97ec992fe1 Upgrade to Jaybird 5.0.1.java11
Closes gh-35002
2023-04-15 09:39:22 +01:00
Andy Wilkinson f48e9e70f9 Upgrade to Jaxen 2.0.0
Closes gh-35001
2023-04-15 09:39:21 +01:00
Andy Wilkinson 1e146ed3df Upgrade to Hibernate 6.2.1.Final
Closes gh-35000
2023-04-15 09:39:21 +01:00
Andy Wilkinson ee7e78b69b Upgrade to Brave 5.15.1
Closes gh-34999
2023-04-15 09:39:21 +01:00
Phillip Webb 053c968fb4 Polish 2023-04-14 17:44:15 -07:00