Commit Graph

20701 Commits (e9578fe74512ba5e6d1990bce083c74ba73a61ee)

Author SHA1 Message Date
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
2 years ago
Phillip Webb c21cf31853 Switch order of ContainerConnectionDetailsFactory generics
Switch `ContainerConnectionDetailsFactory` so that `Container`
is before `ConnectionDetails`.
2 years ago
Phillip Webb fc5339f81c Polish 2 years ago
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
2 years ago
Phillip Webb e7357ba805 Increase timeout in OracleR2dbcContainerConnectionDetailsFactoryTests 2 years ago
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
2 years ago
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
2 years ago
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
2 years ago
Scott Frederick d913472919 Add Kotlin samples and polish SSL bundle documentation
Closes gh-35105
2 years ago
Andy Wilkinson ce7bf0d0af Merge branch '3.0.x'
Closes gh-35197
2 years ago
Andy Wilkinson 4581c25e20 Merge branch '2.7.x' into 3.0.x
Closes gh-35196
2 years ago
Andy Wilkinson de2df9311c Test Gradle plugin against Gradle 8.1.1
Closes gh-35195
2 years ago
Andy Wilkinson 09527995d1 Polish 2 years ago
Andy Wilkinson a75f55aaa5 Try to stabilize SQL Server tests on CI 2 years ago
Moritz Halbritter 4131e7338d Fix LogMessage format 2 years ago
Moritz Halbritter 75207db6be Polish docker compose code 2 years ago
Moritz Halbritter 8abebd75fb Use shutdownHandlers parameter in constructor 2 years ago
Moritz Halbritter 176cc20c36 Polish FlywayConfiguration 2 years ago
Moritz Halbritter 27ab98b49d Polish ConnectionDetailsFactories 2 years ago
Andy Wilkinson cec159110d Do not block indefinitely when querying SQL database 2 years ago
Andy Wilkinson d7da77bda8 Remove support for service connections to InfluxDB
Closes gh-35189
2 years ago
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
2 years ago
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
2 years ago
Andy Wilkinson 8bbe894665 Add Docker Compose service connection support for Oracle using JDBC
Closes gh-35145
2 years ago
Andy Wilkinson 5e73047164 Align SQL Server-related class names with existing precedents
Closes gh-35181
2 years ago
Andy Wilkinson 1e785e81f8 Add Docker Compose support for Oracle Database using R2DBC
Closes gh-35143
2 years ago
Andy Wilkinson 8fd36d04e1 Improve MsSqlServerR2dbcDockerComposeConnectionDetailsFactory tests
See gh-35144
2 years ago
Andy Wilkinson 963da20493 Reinstate dependency management for io.r2dbc:r2dbc-mssql
Closes gh-35159
2 years ago
Andy Wilkinson b5178afa21 Add Docker Compose support for MS SQL Server using JDBC
Closes gh-35146
2 years ago
Andy Wilkinson 9a0b5e0178 Merge branch '3.0.x'
Closes gh-35173
2 years ago
Andy Wilkinson 7ee1622995 Merge branch '2.7.x' into 3.0.x
Closes gh-35172
2 years ago
Andy Wilkinson b03f1e47d0 Merge branch '3.0.x'
Closes gh-35171
2 years ago
Andy Wilkinson d6e3db9c36 Merge branch '2.7.x' into 3.0.x
Closes gh-35170
2 years ago
Andy Wilkinson 6b9bc012a5 Check that BPP and BFPP bean methods won't cause eager initialization
Closes gh-35164
2 years ago
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
2 years ago
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
2 years ago
Scott Frederick e9a85b91a8 Polish 2 years ago
Andy Wilkinson 472afafd4b Stop WebFilterChainPostProcessor from causing eager init
Fixes gh-35163
2 years ago
Scott Frederick 43b42eca49 Add Docker Compose service connection support for Cassandra
Closes gh-35136
2 years ago
Scott Frederick 2bec82ab2f Delete disabled docker compose tests 2 years ago
Stephane Nicoll d55cd3b46f Merge branch '3.0.x'
Closes gh-35160
2 years ago
Stephane Nicoll b286e5a0bb Prevent ServletComponentScan to run again with AOT
Closes gh-34563
2 years ago
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
2 years ago
Stephane Nicoll facf48e423 Polish "Prevent container to be closed twice"
See gh-35120
2 years ago
Yanming Zhou 5df6913f18 Prevent container to be closed twice
See gh-35120
2 years ago
Andy Wilkinson fd6214e7e3 Remove accidentally committed test classes 2 years ago
Phillip Webb e0b03661d4 Merge branch '3.0.x' 2 years ago
Phillip Webb 8a43710173 Merge branch '2.7.x' into 3.0.x 2 years ago
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
2 years ago
Andy Wilkinson dee5217cf0 Add Docker Compose support for MS SQL Server using R2DBC
Closes gh-35144
2 years ago
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
2 years ago
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
2 years ago
Scott Frederick ff35cc80d7 Allow Couchbase SSL to be enabled without custom trust material
Closes gh-35147
2 years ago
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
2 years ago
Andy Wilkinson 9cd04c55fb Merge branch '3.0.x'
Closes gh-35132
2 years ago
Andy Wilkinson 598e090e8f Merge branch '2.7.x' into 3.0.x
Closes gh-35131
2 years ago
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
2 years ago
Andy Wilkinson 7ffacf43f3 Use main DataSource when there are no migration-specific conn details
Fixes gh-35109
2 years ago
Stephane Nicoll 363dc9368d Merge branch '3.0.x'
Closes gh-35130
2 years ago
Stephane Nicoll 7f0402f869 Merge branch '2.7.x' into 3.0.x
Closes gh-35129
2 years ago
Ivan Dimitrov f4db73ead9 Harmonize references to application.yaml files in reference docs
See gh-34628
2 years ago
Lukasz Jernas d38a68ebcd Fix typo in testing docs
See gh-35128
2 years ago
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
2 years ago
Phillip Webb e19aa81813 Polish formatting 2 years ago
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
2 years ago
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
2 years ago
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
2 years ago
Phillip Webb 72c1f667f5 Fix @Since javadoc in RestTemplateBuilder
See gh-34810
2 years ago
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
2 years ago
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
2 years ago
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
2 years ago
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
2 years ago
Scott Frederick a03f857059 Document update SSL support
Add a new SSL section to the reference documentation to describe SSL
bundles.

See gh-34814
2 years ago
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
2 years ago
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
2 years ago
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
2 years ago
Andy Wilkinson e61adc6cbf Allow even more time for Redpanda to start 2 years ago
Andy Wilkinson b64adbc34b Fix disabled conditions on AbstractDockerComposeIntegrationTests 2 years ago
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
2 years ago
Andy Wilkinson bc58df3467 Prohibit upgrades to Liquibase 4.21.1
See gh-34983
2 years ago
Andy Wilkinson 26c98eded9 Upgrade to Tomcat 10.1.8
Closes gh-35095
2 years ago
Andy Wilkinson dbab743018 Upgrade to Spring Integration 6.1.0-RC1
Closes gh-34973
2 years ago
Andy Wilkinson 68b25598b9 Upgrade to Spring GraphQL 1.2.0-RC1
Closes gh-34972
2 years ago
Andy Wilkinson 5965df39b5 Upgrade to Selenium HtmlUnit 4.8.3
Closes gh-35094
2 years ago
Andy Wilkinson 503e88f2ec Upgrade to Logback 1.4.7
Closes gh-35093
2 years ago
Andy Wilkinson b80f4cc985 Upgrade to Tomcat 10.1.8
Closes gh-35089
2 years ago
Andy Wilkinson ca618e84d3 Upgrade to Spring Integration 6.0.5
Closes gh-35012
2 years ago
Andy Wilkinson 35fd0a3f69 Upgrade to Logback 1.4.7
Closes gh-35088
2 years ago
Andy Wilkinson 04780650a1 Merge branch '3.0.x'
Closes gh-35087
2 years ago
Andy Wilkinson 32444fed4b Merge branch '2.7.x' into 3.0.x
Closes gh-35086
2 years ago
Madhura Bhave 3522714c13 Use endpoint mappings in CloudFoundry integration
Closes gh-35085
2 years ago
Andy Wilkinson c55d398f95 Validate health group includes and excludes
Closes gh-34360
2 years ago
Andy Wilkinson a03fe8befc Enable customization of JWK Set URI decoder builders
Closes gh-20750
2 years ago
Andy Wilkinson 45068c777f Document default value for management.otlp.tracing.compression
See gh-34508
2 years ago
Stephane Nicoll 366f7a85c9 Merge branch '3.0.x'
Closes gh-35069
2 years ago
Stephane Nicoll 6933796f2a Merge branch '2.7.x' into 3.0.x
Closes gh-35068
2 years ago
Stephane Nicoll 1b832d82f8 Polish "Back off if a custom ApplicationAvailability bean is present"
See gh-34347
2 years ago
Taeik Lim 5e95ba8448 Back off if a custom ApplicationAvailability bean is present
See gh-34347
2 years ago
Andy Wilkinson f2e5eab09c Polish does for reporting traces using OTLP
See gh-34508
2 years ago
Andy Wilkinson 2bccd586ea Fix DockerComposeFileTests on Windows 2 years ago