Skip to content

lifecycle v0.9.0

Compare
Choose a tag to compare
@buildpack-bot buildpack-bot released this 09 Aug 02:19
f65216e

lifecycle v0.9.0

Welcome to v0.9.0, a minor release of the Cloud Native Buildpack Lifecycle.

APIs

Platform API

Supported: 0.3, 0.4

To configure the platform API, set CNB_PLATFORM_API=<api> in the lifecycle environment.

Buildpack API

Supported: 0.2, 0.3, 0.4

Each buildpack may configure the buildpack API by setting the api key in buildpack.toml

Prerequisites

The lifecycle runs as a normal user in a series of unprivileged Linux containers. To export images and cache image layers, it requires access to a Docker daemon or Docker registry.

Install

Extract the .tgz file and copy the lifecycle binaries into a build stack base image. The build image can then be orchestrated by a platform implementation such as the pack CLI or tekton.

Features

  • The lifecycle now provides support for multiple platform and buildpack APIs (#344, #347 #365, RFC-0041, RFC-0049).
  • CNB_BUILDPACK_DIR provides the buildpack directory in the buildpack environment (#325, #320, RFC-0036).
  • Buildpacks may contribute process-type-specific profile scripts and environment variables (#322, #327, RFC-0042).
  • Lifecycle returns more informative error codes to the platform (#306, #346, #350, buildpacks/spec#115).
  • Buildpacks may add labels to the app image (#321, #353, RFC-0034).
  • exporter, rebaser, and creator write a report file containing the identifier of the new app image (#333, #352, #364, RFC-0040, buildpacks/spec#123).
  • When using Platform API 0.4, users may supply additional arguments to buildpack-provided process types (#356, #370, RFC-0045).
  • When using buildpack API 0.4, shell commands can be built from arguments, allowing for easy consumption of additional user-provided arguments (#354, #358, RFC-0045).
  • Introductory support for windows containers (#238, #237, #326).

Bug Fixes

  • Lifecycle properly sets GID of app image files during export (#362).
  • Rebase preserves image OS and architecture (#371).

Deprecations

  • When using buildpack API 0.3 or greater, requires.version and requires.or.version have been deprecated in the Build Plan (#330, #369, RFC-0043).

Removals

  • When using platform API 0.4, version has been removed from build plan entries in the Bill-of-Materials. If a buildpack returns an entry with version it will be relocated to metadata.version in the BOM (#357, #367, buildpacks/spec#117).
  • When using platform API 0.4, CNB_PROCESS_TYPE will not be respected at launch. Instead, set the ENTRYPOINT to a process type (RFC-0049).

Known Issues

  • On windows:
    • When using platform API 0.4 windows run images must have PATH set in Env in the image config.
    • Environment variables set by profile scripts will not be available to the command, although they will be available to any children of the command. (#359).
    • Launched processes may not receive signals in some scenarios (#360).
    • Configuring exact security IDs on the stack is not supported (#343).