Commit Graph

446 Commits

Author SHA1 Message Date
Phillip Webb b29bc2dc2e Merge branch '3.2.x' into 3.3.x
Closes gh-42081
2024-09-01 18:51:33 -07:00
Johnny Lim a8452b54b5 Polish
See gh-42069
2024-09-01 18:50:38 -07:00
Phillip Webb c30a5572f3 Polish 2024-08-19 16:44:43 -07:00
Scott Frederick 9e3e067a4c Add support for CNB platform API version 0.14
Closes gh-41549
2024-08-01 17:10:41 -05:00
Scott Frederick dfab18c965 Add imagePlatform option for image building
An `imagePlatform` option for the Maven and Gradle image-building
goal/task can be used to specify the os/architecture of any
builder, run, and buildpack images that are pulled during image
building.

Closes gh-40944
2024-07-30 14:19:40 -05:00
Phillip Webb 88480664d7 Polish 2024-07-22 19:59:27 +01:00
Scott Frederick 7b8364d248 Fix LifecycleTests on Windows
See gh-gh-41352
2024-07-11 17:07:23 -05:00
Scott Frederick 224b06982e Add support for untrusted CNB builders
A `trustBuilder` configuration option has been added to the Maven and
Gradle CNB integration image building goal and task. A known set of
builders published by Paketo, Heroku, and Google are trusted by default,
all other builders are untrusted by default.

Closes gh-41352
2024-07-11 13:51:54 -05:00
Scott Frederick 26b59ae912 Use Paketo tiny builder by default for JVM and native apps
Closes gh-40859
2024-06-28 11:45:54 -05:00
Andy Wilkinson 5b7365b63b Merge branch '3.3.x'
Closes gh-41258
2024-06-27 10:25:32 +01:00
Andy Wilkinson b0d4f1d356 Merge branch '3.2.x' into 3.3.x
Closes gh-41257
2024-06-27 10:16:36 +01:00
Scott Frederick 9da2d1e089 Revert "Use Paketo tiny builder by default for JVM and native apps"
This reverts commit 6d2ebc0713.
2024-06-26 15:25:37 -05:00
Scott Frederick 8623c92a29 Change spring-boot-buildpack-platform api deps to implementation
Closes gh-40935
2024-06-26 14:12:43 -05:00
Scott Frederick 267956cf5c Replace JNI domain sockets implementation with one that uses JDK support
Closes gh-41050
2024-06-26 14:09:19 -05:00
Andy Wilkinson 654016af7f Move Docker-related test support into a separate module
See gh-41228
2024-06-26 19:47:35 +01:00
Andy Wilkinson d5ef5e9c9d Update spring-boot-buildpack-platform to use docker-test plugin
See gh-41228
2024-06-26 19:46:08 +01:00
Scott Frederick 6d2ebc0713 Use Paketo tiny builder by default for JVM and native apps
Closes gh-40859
2024-06-26 13:42:23 -05:00
Phillip Webb f5eb6e95ce Merge branch '3.3.x'
Closes gh-41235
2024-06-25 12:43:15 -07:00
Phillip Webb eb9f16e7e6 Merge branch '3.2.x' into 3.3.x
Closes gh-41234
2024-06-25 12:42:53 -07:00
Phillip Webb 85f6641a7e Allow 'npipe://' prefix in Docker host address
Update `LocalHttpClientTransport` to support explicit `npipe://` prefix
in the host name. This is the format used in the Docker config from
v4.31.1 onward.

Fixes gh-41199
2024-06-25 12:40:11 -07:00
Andy Wilkinson 28a887ad0f Raise minimum supported version of Gradle
Closes gh-41180
2024-06-21 14:52:22 +01:00
Phillip Webb 9dda006a18 Merge branch '3.2.x' 2024-06-19 22:55:00 -07:00
Phillip Webb 2a4582b084 Update copyright year of changed files 2024-06-19 22:54:40 -07:00
Phillip Webb 905d6b96d0 Merge branch '3.2.x'
Closes gh-41166
2024-06-19 22:30:58 -07:00
Andy Wilkinson 491f34d25c Improve container test code
Replace `DockerImageNames` with a enum and relocate it from the
`testcontainers` to `container` package. The enum now also
becomes a common location that we can use to apply container
configuration such as timeouts.

Closes gh-41164

Co-authored-by: Phillip Webb <phil.webb@broadcom.com>
2024-06-19 20:10:03 -07:00
Scott Frederick 84956ad56b Merge branch '3.2.x'
Closes gh-41091
2024-06-12 15:16:26 -05:00
Scott Frederick e228ed39b3 Support CNB builders that do not specify a stack
Fixes gh-41046
2024-06-12 15:16:21 -05:00
Phillip Webb 147240aa0c Merge branch '3.2.x'
Closes gh-41080
2024-06-11 13:32:30 -07:00
Ahmed Ashour 207327d97c Use method references when possible in test code
See gh-40974
2024-06-11 12:58:00 -07:00
Scott Frederick 87094edab0 Merge branch '3.2.x'
Closes gh-41049
2024-06-10 17:32:46 -05:00
Scott Frederick 2bb74b261c Disable stale checking for local Docker daemon connections
Fixes gh-40697
2024-06-10 17:27:02 -05:00
Andy Wilkinson cf447e3aa6 Merge branch '3.2.x'
Closes gh-40931
2024-05-28 16:52:32 +01:00
Andy Wilkinson 5ee0580339 Upgrade to the latest Framework 6.0.x release
Closes gh-40929
2024-05-28 16:52:00 +01:00
Scott Frederick 190b120628 Merge branch '3.2.x' 2024-05-16 21:20:10 -05:00
Scott Frederick bdc6508b62 Catch any exception when deleting image building workspace
See gh-40760
2024-05-16 21:19:51 -05:00
Scott Frederick 5f4d7f41bc Merge branch '3.2.x'
Closes gh-40799
2024-05-16 17:38:07 -05:00
Scott Frederick cd441130bd Warn when image building workspace directories cannot be deleted
When the `buildWorkspace` location in the
`spring-boot:build-image` Maven goal or `bootBuildImage` Gradle
task is configured to use a local bind source, the location
is passed to the CNB lifecycle without further processing by
Spring Boot. The lifecycle is in control of creating any files
in the specified location. Spring Boot tries to remove the
directories at the specified location after an image is
successfully created, but should not fail the image build
if the lifecycle has created files or directories with
permissions that keep them from being deleted successfully.

Fixes gh-40760
2024-05-16 17:37:44 -05:00
Moritz Halbritter d98987f11e Merge branch '3.2.x'
Closes gh-40701
2024-05-13 11:31:55 +02:00
Moritz Halbritter 364af04377 Merge branch '3.1.x' into 3.2.x
Closes gh-40700
2024-05-13 11:30:42 +02:00
Yanming Zhou 0e450d602d Use CollectionUtils.isEmpty() and StringUtils.hasLength()
See gh-40645
2024-05-13 11:26:56 +02:00
Moritz Halbritter 760bc9237d Merge branch '3.2.x' 2024-04-26 09:20:47 +02:00
Moritz Halbritter f13e487724 Close streams in test before deleting file 2024-04-26 09:20:36 +02:00
Phillip Webb abdff95ad0 Merge branch '3.2.x'
Closes gh-40526
2024-04-25 12:54:13 -07:00
Phillip Webb 9e40970280 Support gzip compressed image layers
Update buildpack support to allow gzip compressed image layers to be
used when returned by the Docker engine. This update is restores
buildpack support when using Docker Desktop with the "Use containerd
for pulling and storing images" option enabled.

This commit introduces a new `ExportedImageTar` class to deal with the
intricacies of determining the mimetype of a layer. The class deals with
the parsing of `index.json' and related manifest blobs in order to
obtain layer information. The legacy `manifest.json` format is also
supported should `index.json` be missing.

Tests have been added to ensure that export archives from Docker Engine,
Docker Desktop (with and without containerd), and Podman can be used.

Fixes gh-40100

Co-authored-by: Moritz Halbritter <moritz.halbritter@broadcom.com>
Co-authored-by: Scott Frederick <scott.frederick@broadcom.com>
2024-04-25 11:51:59 -07:00
Moritz Halbritter 3ab21ce146 Merge branch '3.2.x'
Closes gh-40118
2024-03-27 09:42:59 +01:00
Moritz Halbritter 957facf1cc Merge branch '3.1.x' into 3.2.x
Closes gh-40117
2024-03-27 09:35:44 +01:00
Moritz Halbritter ff66036e90 Remove redundant Regex escapes
Closes gh-40116
2024-03-27 09:34:28 +01:00
Andy Wilkinson 70769d9377 Merge branch '3.2.x'
Closes gh-39794
2024-02-28 17:20:00 +00:00
Andy Wilkinson 306d52db77 Merge branch '3.1.x' into 3.2.x
Closes gh-39793
2024-02-28 17:19:46 +00:00
Andy Wilkinson 16b6400bdf Improve BuildpackReference's handling of URL-like strings on Windows
Closes gh-39792
2024-02-28 17:15:02 +00:00
Phillip Webb f8a1dae835 Merge branch '3.2.x' 2024-02-21 15:27:57 -08:00
Phillip Webb 12de6aa46a Merge branch '3.1.x' into 3.2.x 2024-02-21 15:27:27 -08:00
Scott Frederick bb384f268e Merge branch '3.2.x'
Closes gh-39639
2024-02-20 10:34:54 -06:00
Scott Frederick 71e5e1252a Merge branch '3.1.x' into 3.2.x
Closes gh-39638
2024-02-20 10:34:32 -06:00
Scott Frederick c93acdafbd Polish "Prevent long parse times for images with illegal char in tag"
See gh-39617
2024-02-20 10:27:28 -06:00
Jakob Wanger c892544741 Prevent long parse times for images with illegal char in tag
Update the regular expression used to parse Docker images references to
prevent catastrophic backtracking when images names are long and the
tag contains an illegal character.

See gh-39617
2024-02-20 10:27:27 -06:00
Moritz Halbritter 7f55cae90f Merge branch '3.2.x' 2024-02-12 10:19:46 +01:00
Moritz Halbritter 4387b79831 Merge branch '3.1.x' into 3.2.x 2024-02-12 10:18:46 +01:00
Moritz Halbritter 8ffcfc9b77 Harmonize style of igored exceptions across the codebase 2024-02-12 10:14:20 +01:00
Andy Wilkinson 5ae533a00d Minimize scope of version management for commons-compress
See gh-39368
2024-02-06 15:08:15 +00:00
Andy Wilkinson 9a5b3b3a2b Merge branch '3.2.x'
See gh-39369
2024-02-06 12:38:37 +00:00
Andy Wilkinson 84e390af70 Merge branch '3.1.x' into 3.2.x
See gh-39368
2024-02-06 12:37:18 +00:00
Andy Wilkinson 5f680ccac0 Revert "Stop managing version of commons-compress where it isn't needed"
This reverts commit 2b85cb0356.

See gh-39367
2024-02-06 12:36:26 +00:00
Andy Wilkinson f9363569ab Merge branch '3.2.x'
Closes gh-39369
2024-02-01 11:19:01 +00:00
Andy Wilkinson 0afe0635b9 Merge branch '3.1.x' into 3.2.x
Closes gh-39368
2024-02-01 11:17:41 +00:00
Andy Wilkinson 2b85cb0356 Stop managing version of commons-compress where it isn't needed
Closes gh-39367
2024-02-01 10:20:20 +00:00
Andy Wilkinson 899da7891a Merge branch '3.1.x' into 3.2.x
See gh-39340
2024-01-31 17:44:07 +00:00
Andy Wilkinson dd082c6c21 Revert "Upgrade to Commons Compress 1.25.0"
This reverts commit 1c2a622f7f.

See gh-39148
2024-01-31 17:35:57 +00:00
Scott Frederick 588d544392 Merge branch '3.2.x'
Closes gh-39348
2024-01-30 16:28:50 -06:00
Scott Frederick 5b76416b06 Merge branch '3.1.x' into 3.2.x
Closes gh-39347
2024-01-30 16:28:39 -06:00
Scott Frederick a620d348ad Fix exporting of Docker image layers
The logic to extract layers from a downloaded Docker image assumed that
the layer entries in the image tar archive always had the file extension
`.tar`. This was the case with Docker and other compatible daemons until
Docker 25.0. With this commit, the extension is no longer assumed, but
any entries listed in `manifest.json` will be recognized.

Fixes gh-39323
2024-01-30 16:25:03 -06:00
Andy Wilkinson 10e750ab3b Merge branch '3.2.x'
Closes gh-39341
2024-01-30 13:53:13 +00:00
Andy Wilkinson 8c18d75b12 Merge branch '3.1.x' into 3.2.x
Closes gh-39340
2024-01-30 13:50:13 +00:00
Andy Wilkinson 1c2a622f7f Upgrade to Commons Compress 1.25.0
Closes gh-39148
2024-01-30 13:49:37 +00:00
Phillip Webb 8f1a330dd5 Update copyright header of cleaned up code
See gh-39259
2024-01-23 10:18:50 -08:00
Tobias Lippert d3c97adf79 Remove redundant array creation
See gh-39259
2024-01-23 10:18:49 -08:00
Andy Wilkinson 7087897507 Merge branch '3.1.x' into 3.2.x
Closes gh-39091
2024-01-11 10:33:57 +00:00
Andy Wilkinson 45c32854a5 Fix Checkstyle upgrade
Closes gh-38746
2024-01-10 15:37:38 +00:00
Scott Frederick d433deb737 Merge branch '3.0.x' into 3.1.x
Closes gh-38485
2023-11-21 17:30:54 -06:00
Scott Frederick dabcebf8a3 Merge branch '2.7.x' into 3.0.x
Closes gh-38484
2023-11-21 17:30:07 -06:00
Scott Frederick d1cce0f8ef Upgrade default CNB builders to Paketo Jammy
Closes gh-38477
2023-11-21 17:22:32 -06:00
Moritz Halbritter 20edbb402f Merge branch '3.1.x' 2023-10-31 10:23:13 +01:00
Moritz Halbritter 607ed86edb Merge branch '3.0.x' into 3.1.x 2023-10-31 10:23:01 +01:00
Moritz Halbritter f3c10ae97b Polish JsonStream 2023-10-31 09:49:01 +01:00
Scott Frederick f947bad3f7 Merge branch '3.1.x'
Closes gh-37666
2023-10-03 13:18:32 -05:00
Ivo Smid f2a4336ea1 Increase the socket timeout for remote connections to Docker daemon
The default socket timeout with HttpClient 5 is not long enough
in some cases where Docker images are built that require the
GraalVM native image compiler to run in a buildpack. This commit
increases the timeout to 30 minutes.

Fixes gh-37665

Co-authored-by: Scott Frederick <sfrederick@vmware.com>"
2023-10-03 11:52:48 -05:00
Phillip Webb 052757c2d8 Polish 2023-09-27 20:58:09 -07:00
Scott Frederick 9811cc030f Fix LifecycleTests for security options on Windows
Fixes gh-37598
2023-09-27 10:09:44 -05:00
Phillip Webb 2075f6c685 Merge branch '3.1.x' 2023-09-20 17:16:13 -07:00
Phillip Webb 78eb8f90d1 Merge branch '3.0.x' into 3.1.x 2023-09-20 17:12:27 -07:00
Phillip Webb 9b5062e5bb Merge branch '2.7.x' into 3.0.x 2023-09-20 17:06:55 -07:00
Phillip Webb e10ac76761 Polish 2023-09-20 16:05:30 -07:00
Scott Frederick 7de770f6a1 Add support for security options in CNB builder container config
Closes gh-37479
2023-09-20 13:43:36 -05:00
Scott Frederick 4433fcd1f2 Add support for build workspace option when building images
Closes gh-37478
2023-09-20 13:43:35 -05:00
Moritz Halbritter ec87e65c8f Merge branch '3.1.x'
Closes gh-37461
2023-09-19 16:02:17 +02:00
Moritz Halbritter ea57988e2f Merge branch '3.0.x' into 3.1.x
Closes gh-37460
2023-09-19 16:02:07 +02:00
Moritz Halbritter 2b4afe974a Merge branch '2.7.x' into 3.0.x
Closes gh-37459
2023-09-19 16:01:55 +02:00
Moritz Halbritter 6805a3393b Close file handle on exceptions during connect
Closes gh-32423
2023-09-19 15:17:14 +02:00
Moritz Halbritter f93a497cc6 Merge branch '3.1.x'
Closes gh-37423
2023-09-15 15:18:46 +02:00
Moritz Halbritter ed4b6aaa7b Merge branch '3.0.x' into 3.1.x
Closes gh-37422
2023-09-15 15:18:08 +02:00