Commit Graph

42339 Commits

Author SHA1 Message Date
Stephane Nicoll
f874c027d8 Polish "Fix dependency management for spring-boot-testcontainers"
See gh-35119
2023-04-25 10:08:20 +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
ab610c59c6 Merge pull request #35120 from quaff
* pr/35120:
  Polish "Prevent container to be closed twice"
  Prevent container to be closed twice

Closes gh-35120
2023-04-25 10:00:03 +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
2789aebfff Merge branch '3.0.x'
Closes gh-35152
2023-04-24 16:45:18 -05:00
Scott Frederick
ca26789a82 Merge branch '2.7.x' into 3.0.x
Closes gh-35151
2023-04-24 16:44:11 -05:00
Scott Frederick
963542e7fc Adapt Paketo system tests to changes in the Tomcat buildpack
Closes gh-35148
2023-04-24 16:18:56 -05: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
Stephane Nicoll
be698cf6ed Merge pull request #34628 from ivandimitrov8080
* pr/34628:
  Harmonize references to application.yaml files in reference docs

Closes gh-34628
2023-04-24 13:45:58 +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
Stephane Nicoll
d243749168 Merge pull request #35128 from deejay1
* pr/35128:
  Fix typo in testing docs

Closes gh-35128
2023-04-24 13:27:23 +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
909c09c8ab Provide centralized configuration of SSL properties
Closes gh-34814
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
Stephane Nicoll
ff36f52f4e Merge branch '3.0.x' 2023-04-20 14:34:18 +02:00
Stephane Nicoll
553de9f2fa Merge branch '2.7.x' into 3.0.x 2023-04-20 14:34:07 +02:00
Stephane Nicoll
8435736570 Upgrade Java 20 version in CI image
Closes gh-35077
2023-04-20 14:33:56 +02:00
Stephane Nicoll
cde830c964 Upgrade Java 17 version in CI image and .sdkmanrc
Closes gh-35078
2023-04-20 14:33:18 +02:00
Stephane Nicoll
671e1a7c93 Upgrade CI to Docker 23.0.4
Closes gh-35092
2023-04-20 14:32:34 +02:00