scottfrederick / spring-boot-buildpack

A Cloud Native Buildpack that contributes Spring Boot dependency information and slices an application into multiple layers

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

gcr.io/paketo-buildpacks/spring-boot

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

Behavior

This buildpack will participate if all the following conditions are met

  • <APPLICATION_ROOT>/META-INF/MANIFEST.MF contains a Spring-Boot-Version entry

The buildpack will do the following:

  • Contributes Spring Boot version to org.springframework.boot.version image label
  • Contributes Spring Boot configuration metadata to org.springframework.boot.spring-configuration-metadata.json image label
  • Contributes Implementation-Title manifest entry to org.opencontainers.image.title image label
  • Contributes Implementation-version manifest entry to org.opencontainers.image.version image label
  • Contributes dependency information extracted from Maven naming conventions to the image's BOM
  • Contributes Spring Cloud Bindings as an application dependency
    • This enables bindings-aware Spring Boot auto-configuration when CNB bindings are present during launch
  • If <APPLICATION_ROOT>/META-INF/dataflow-configuration-metadata.properties exists
    • Contributes Spring Cloud Data Flow configuration metadata to org.springframework.cloud.dataflow.spring-configuration-metadata.json image label
  • If <APPLICATION_ROOT>/META-INF/MANIFEST.MF contains a Spring-Boot-Layers-Index entry
    • Contributes application slices as defined by the layer's index
  • If the application is a reactive web application
    • Configures $BPL_JVM_THREAD_COUNT to 50

Configuration

Environment Variable Description
$BPL_SPRING_CLOUD_BINDINGS_ENABLED Whether to auto-configure Spring Boot environment properties from bindings. Defaults to y.

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.

About

A Cloud Native Buildpack that contributes Spring Boot dependency information and slices an application into multiple layers

License:Apache License 2.0


Languages

Language:Go 99.4%Language:Shell 0.6%