paketo-buildpacks / spring-boot

A Cloud Native Buildpack that contributes Spring Boot dependency information and slices an application into multiple layers
Apache License 2.0
164 stars 21 forks source link
cnb hacktoberfest jvm-applications spring-boot

gcr.io/paketo-buildpacks/spring-boot

The Paketo Buildpack for Spring Boot is a Cloud Native Buildpack that contributes Spring Boot dependency information and slices an application into multiple layers.

Behavior

This buildpack will always detect.

This buildpack will participate at build time if all the following conditions are met:

The buildpack will do the following:

Configuration

Environment Variable Description
$BP_SPRING_CLOUD_BINDINGS_DISABLED Whether to contribute Spring Cloud Bindings support to the image at build time. Defaults to false.
$BPL_SPRING_CLOUD_BINDINGS_DISABLED Whether to auto-configure Spring Boot environment properties from bindings at runtime. This requires Spring Cloud Bindings to have been installed at build time or it will do nothing. Defaults to false.
$BPL_SPRING_CLOUD_BINDINGS_ENABLED Deprecated in favour of $BPL_SPRING_CLOUD_BINDINGS_DISABLED. Whether to auto-configure Spring Boot environment properties from bindings at runtime. This requires Spring Cloud Bindings to have been installed at build time or it will do nothing. Defaults to true.
$BP_SPRING_CLOUD_BINDINGS_VERSION Explicit version of Spring Cloud Bindings library to install.
$BP_SPRING_AOT_ENABLED Whether to contribute $BPL_SPRING_AOT_ENABLED at runtime. Beware that the Spring Boot app needs to have been AOT instrumented (presence of META-INF/native-image) too. Defaults to false.
$BPL_SPRING_AOT_ENABLED Whether to contribute -Dspring.aot.enabled=true to JAVA_TOOL_OPTIONS at runtime. Defaults to yes if the above conditions were met; false otherwise
$BP_JVM_CDS_ENABLED Whether to perform the CDS training run (that will generate the caching file application.jsa). Defaults to false.
$CDS_TRAINING_JAVA_TOOL_OPTIONS Allow the user to override the default JAVA_TOOL_OPTIONS, only for the CDS training run. Useful to configure your app not to reach external services during training run for example.
$BPL_JVM_CDS_ENABLED Whether to load the CDS caching file (-XX:SharedArchiveFile=application.jsa) that was generated during the CDS training run. Defaults to the value of BP_JVM_CDS_ENABLED

Bindings

The buildpack optionally accepts the following bindings:

Type: dependency-mapping

Key Value Description
<dependency-digest> <uri> If needed, the buildpack will fetch the dependency with digest <dependency-digest> from <uri>

License

This buildpack is released under version 2.0 of the Apache License.