What is a component buildpack?

A component buildpack is a buildpack containing /bin/detect and /bin/build executables and that implements the Buildpack Interface.

Key Points

During the build phase, typical component buildpacks might perform one, or more, of the following actions:

  • Read the Buildpack Plan in <plan> to determine what dependencies to provide
  • Supply the application with dependencies for launch in <layers>/<layer>
  • Reuse application dependencies from a previous image by appending [types] and launch = true to <layers>/<layer>.toml
  • Contribute dependencies added in <layers>/<layer> to subsequent buildpacks
  • Reuse cached build dependencies from a previous build by appending [types], build = true and cache = true to <layers>/<layer>.toml
  • Compile the application source code into object code
  • Remove application source code that is not necessary for launch
  • Supply start command in <layers>/launch.toml
  • Write a partial Software Bill of Materials to <layers>/<layer>.sbom.<ext> describing any dependencies provided in the layer
  • Write a partial Software Bill of Materials to <layers>/launch.sbom.<ext> describing any provided application dependencies not associated with a layer
  • Write a partial Software Bill of Materials to <layers>/build.sbom.<ext> describing any provided build dependencies not associated with a layer