lifecycle v0.17.0
lifecycle v0.17.0
Welcome to v0.17.0
, a beta release of the Cloud Native Buildpacks Lifecycle.
Prerequisites
The lifecycle runs as a normal user in a series of unprivileged 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.
Lifecycle Image
An OCI image containing the lifecycle binaries is available at buildpacksio/lifecycle:0.17.0
.
Features
- When using platform API
0.12
or greater, the lifecycle validates “targets” instead of stacks (#994, #1030, #1050, #1053, #1064 by @joe-kimmel-vmw, #1056 by @jabrown85, #1005 by @natalieparellano) - (Experimental) When using platform API
0.12
or greater, the lifecycle supports run image extension with Dockerfiles, in addition to run image switching (#1011, #1014, #1022, #1055, #1134 by @natalieparellano, #1032 by @jabrown85) - (Experimental) When using platform API
0.12
or greater, the lifecycle supports export to OCI layout format on disk (#969 by @jjbustamante) - When selecting a run image, the
analyzer
andrebaser
verify read access (#1024 by @pbusko, @c0d1ngm0nk3y, @modulo11, and @kulhadia) - The
analyzer
validates that the cache image and previous image are valid (#1060 by @matthewrobertson) - When using platform API
0.12
or greater, theexporter
includes history in the application image (#1099 by @natalieparellano) - When using platform API
0.12
or greater, therebaser
will fail if the provided run image is not found in theio.buildpacks.lifecycle.metadata
label, unless--force
is passed; if--force
is passed, it overrides the existing run image and run image mirrors information (#1104, #1132 by @natalieparellano) - The lifecycle when checking read/write access to images will surface the error if there are no images to fallback to (#1133 by @natalieparellano)
- Updates go to version 1.20.7
Bugfixes
- The
restorer
accepts a-layers
flag again (#1143 by @joe-kimmel-vmw)
Chores
buildpack.DecodeLayerMetadataFile()
accepts a logger instead of returning a message (#1038 by @anushkamittal20)- Add layer metadata test as living doc (#1019 by @AidanDelaney)
- Make a single constructor for lifecycle inputs (#1009 by @natalieparellano)
- Replaces deprecated GHA ::set-output syntax (#1037 by @phil9909)
Full Changelog: v0.16.5...release/0.17.0
Contributors
We'd like to acknowledge that this release wouldn't be as good without the help of the following amazing contributors:
@AidanDelaney, @anushkamittal20, @c0d1ngm0nk3y, @hernandanielg, @jabrown85, @jjbustamante, @joe-kimmel-vmw, @kulhadia, @matthewrobertson, @modulo11, @natalieparellano, @pbusko, @phil9909