Commit Graph

139 Commits

Author SHA1 Message Date
Phillip Webb
a8602a1814 Allow docker compose service readiness checks to be bypassed
Add `spring.docker.compose.readiness.wait` property that can be used to
determine how Spring Boot should wait for docker compose services to
become ready.

Fixes gh-35545
2023-05-17 16:27:00 -07:00
Phillip Webb
6b0b6ccf49 Move docker compose readiness code and make it package-private
The `ReadinessCheck` interface has been removed making the dedicated
package less necessary. By relocating the code we can make more of it
pacakge-private.

See gh-35544
2023-05-17 16:26:59 -07:00
Phillip Webb
060581d078 Remove pluggable docker compose ReadinessCheck
Remove pluggable `ReadinessCheck` interface and only use the
`TcpConnectServiceReadinessCheck` implementation for now. We
may re-introduce pluggable checks in a future version.

See gh-35544
2023-05-17 16:26:59 -07:00
Andy Wilkinson
3d41e41b94 Polish
Make logger a static field.
2023-05-17 16:26:59 -07:00
Johnny Lim
54f85b1181 Fix since version for ImageReference
See gh-35459
2023-05-17 16:02:32 -05:00
Phillip Webb
ae90add7c7 Polish 2023-05-16 14:04:48 -07:00
Scott Frederick
8377306668 Improve error when Docker Compose file not found
Fixes gh-35383
2023-05-10 13:26:59 -05:00
Moritz Halbritter
441ed30ee4 Polish "Replace Mockito argument captors with assertArg"
Co-authored-by: Andy Wilkinson <wilkinsona@vmware.com>

See gh-35015
2023-05-05 15:41:31 +02:00
Andy Wilkinson
4f9616c2f9 Change DockerComposeProperties shut down default to stop
Closes gh-35239
2023-05-04 21:09:16 +01:00
Andy Wilkinson
6a39b497ad Make Oracle Docker Compose integration tests more robust
Closes gh-35285
2023-05-04 19:40:29 +01:00
Phillip Webb
a890323758 Merge branch '3.0.x' 2023-05-02 14:52:42 -07: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
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
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
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
Andy Wilkinson
cec159110d Do not block indefinitely when querying SQL database 2023-04-28 09:52:27 +01: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
b5178afa21 Add Docker Compose support for MS SQL Server using JDBC
Closes gh-35146
2023-04-27 09:31:24 +01:00
Scott Frederick
e9a85b91a8 Polish 2023-04-25 16:20:38 -05: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
Andy Wilkinson
fd6214e7e3 Remove accidentally committed test classes 2023-04-25 08:31:26 +01: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
Andy Wilkinson
b64adbc34b Fix disabled conditions on AbstractDockerComposeIntegrationTests 2023-04-20 16:12:36 +01:00
Andy Wilkinson
2bccd586ea Fix DockerComposeFileTests on Windows 2023-04-19 15:36:07 +01: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
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
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