The build plugins use the cloudfoundry/cnb:0.0.43-bionic Builder by default, which bundles the OpenJDK Buildpack. The OpenJDK Buildpack exposes a number of options as env variables, see https://github.com/cloudfoundry/openjdk-cnb/blob/master/README.md.

A couple examples demonstrating the use of the default builder with the OpenJDK Buildpack would be interesting to help users getting started.

Comment From: scottfrederick

The default builder includes several buildpacks that might influence how a Boot app gets configured in the resulting container. We should look at these other Java-related buildpacks as well to see if any of them have env variables that we might want to document (for example https://github.com/cloudfoundry/debug-cnb/blob/master/README.md or https://github.com/cloudfoundry/build-system-cnb/blob/master/README.md).

Comment From: snicoll

I am starting to wonder if this is a good idea considering that some options have changed quite a lot recently and keeping them in sync on our side is challenging (that can be a problem for users on its own as well). Flagging for team attention to discuss this again.

Comment From: nebhale

I agree that Boot should probably kick out to Paketo Java Buildpack documentation that contains an up-to-date collection of possible configuration options. We'll be working on that over the next couple of weeks.

Also, it should be noted that when staging happens, all available configuration options are printed as part of the logs.

Comment From: scottfrederick

Paketo buildpacks documentation has been updated, so the Spring Boot docs can now link to the relevant section in paketo.io: https://paketo.io/docs/buildpacks/configuration/#environment-variables.

We should include a disclaimer that the information provided by this link only applies when the Paketo builder and buildpacks are used, and other CNB implementations might work differently.