The concept of targets is used to identify compatibility between buildpacks and base images.
Target data includes:
For Linux-based images, operating system distribution name and version should be the values in /etc/os-release ($ID and $VERSION_ID).
For Windows-based images, operating system distribution name is blank, and version should be the value of os.version in the image config (e.g., 10.0.14393.1066).
Buildpacks may declare the targets they are compatible with in buildpack.toml.
This information will be used by pack (or other platforms) and the lifecycle to avoid running buildpacks on images they aren’t designed to work with.
Additionally, during builds this information will be read by the lifecycle from the run image and exposed to buildpacks through CNB_TARGET_ environment variables:
CNB_TARGET_OSCNB_TARGET_ARCHCNB_TARGET_ARCH_VARIANTCNB_TARGET_DISTRO_NAMECNB_TARGET_DISTRO_VERSIONBuildpacks can use this information to modify their behavior depending on the target.