Releases: buildpacks-community/kpack
kpack v0.1.0
Install
kubectl apply -f release-0.1.0.yaml
**Major Breaking Changes**
- All custom resource api groups have been changed to
kpack.io
build.pivotal.io
->kpack.io
experimental.kpack.pivotal.io
->kpack.io
- The previous resources named Builder and ClusterBuilder have been removed and are no longer supported. See approved RFC for details.
- The previous resources name CustomBuilder and CustomClusterBuilder have been renamed to Builder and ClusterBuilder respectively. See approved RFC for details.
- The Stack resource has been renamed to ClusterStack
- The Store resource has been renamed to ClusterStore
- Requires kubernetes >= v1.16
What's New?
Info
This release includes lifecycle v0.9.0.
Changelog
- Update go-git library to github.com/go-git #421
- Ignore kpack Annotations on dockerconfig secrets #422
- Fix an opaque rebase error with invalid credentials #427
- Add LatestBuildReason to Image Status #435
- Error during prepare when blob url can not be unpacked #440
- Provide Buildpack Homepage on builder and store status #448
- Update Stack & Store to ClusterStack & ClusterStore #437
- Move resources to kpack.io api group #451
- Remove (Cluster)Builder resources #451
- Rename CustomBuilder to Builder #451
- Use Lifecycle 0.9.0 #470
- Update docs #472
sha256 f536aed5f02cfba7fe07ea270c3dd32b8243db5f01d9615430e6c8240b126f48 release-0.1.0.yaml
kpack v0.0.9
Install
kubectl apply -f release-0.0.9.yaml
What's New?
- CustomBuilders utilize lifecycle v0.8.0 which fixes an issue with Harbor 2.
- Image and Builds support Service Bindings.
- Improved "Prepare" logging with docker credential setup.
- Images will default with a 2Gi cacheSize if a default storage class is defined.
- All Images in this release were built with kpack itself.
Info
This release includes lifecycle v0.8.0 in CustomBuilders. CNB platform version 0.2 & 0.3 are supported for non CustomBuilders.
Breaking changes
Requires kubernetes >= v1.15
Changelog
- Utilize lifecycle v0.8.0 #403
- Logs binary does not contain an "eye catcher" and will match pack's output #405
- Updated knative/pkg to release-0.15 #382
- Improved image.status metadata enables tooling to watch and tail the result of an image update #377 #394 #398
- Fix issue that prevented kpack webhook from applying to "experimental" resources #404
- Images will default a cache size if a default storage class is defined #397
- Improve build prepare logging #365
- Improved error messages during build setup #375
- Service bindings are configureable on images and builds #371
- Buildpack homepage is included in builder metadata and store status #366
- Custom Builders no longer contain lifecycle "compat layer" #343
- Lifecycle binaries are invoked in /cnb/lifecycle/ #343
21bbc0a6eaa011dbd9cbdad0182634a2c42701b5 release-0.0.9.yaml
kpack v0.0.8
This release fixes a critical issue in v0.0.7
. Please do not use v0.0.7
.
Install
kubectl apply -f release-0.0.8.yaml
Changelog
11fea43b6af2ff94c5a874bc7de3819828fbe6f89e255b7fe8f29e373729bec0 release-0.0.8.yaml
kpack v0.0.7
⚠️ Warning ⚠️
v0.0.7
has a critical issue where images will fail to build after the first failed build. Please usev0.0.8
instead.
Install
kubectl apply -f release-0.0.7.yaml
What's New?
- Support for Platform API v0.3 & lifecycle v0.7.2
- Support for dockerconfigjson and dockercfg secrets
- New builds for an image can be manually triggered
- Support .tgz and .tar from blobstores as source
- Buildpack and mixin validation for Custom Builders
- CustomBuilders will select the buildpack in a store with the highest semver version
- Faster store reconciliation by reading images concurrently
- Generate project-metadata.toml to provide app metadata to builds
Info
This release adds support for upcoming breaking changes in lifecycle v0.7.x. If you are running an older version of kpack, please upgrade to continue utilizing public builder images.
Breaking changes
- Dropped support for Platform API v0.1
Changelog
- Add support for Platform API v0.3 #311
- Add support for lifecycle v0.7.2 #324
- Add support for .tar and .tgz from blobstore #326
- Add buildpack and mixin validation for Custom Builders #312 #308
- Select buildpack by highest buildpack semver #309
- Read buildpackages from store concurrently to speed up store reconciliation #300
- Add ability to generate project-metadata.toml #287
- Add support for .dockerconfig & .dockercfg secrets #301
- Add ability to trigger new builds for an image #291
- Minor improvements/bug fixes/validations #280 #282 #292 #305 #307 #315 #325 #328 #329
16af927ac85bdec2af7b99b961717805646577e8a8b71e5faf1dce6ac174faa2 release-0.0.7.yaml
v0.0.6
Install
kubectl apply -f release-0.0.6.yaml
What's New?
- A new set of experimental resources allow kpack users to create and mange builders directly in kpack. These
CustomBuilders
can be used directly in an image configuration. For more information check out the Documentation. - Support for lifecycle v0.6.0.
- Support for git auth via ssh with a private key on secrets configured with kpack.
- A generated OpenApi spec for interacting with kpack is provided at api/openapi-spec/swagger.json.
Info
This release adds support for upcoming breaking changes in lifecycle v0.6.0. If you are running an older version of kpack, please upgrade to continue utilizing public builder images.
Breaking changes
There are no breaking changes in this release.
Changelog
- Add code of conduct #276
- Add support for lifecycle v0.6.0 #269 #267 #278 #279
- Propagate annotations to builds and build pods. #274
- Add support Azure credential provider #261
- Generate Openapi Spec for kpack types #260
- Add experimental
CustomBuilder
&CustomClusterBuilder
resources #220 #230 #256 - Update knative/pkg to 'release-0.10' #221
- Fix an issue that created invalid builds on stack updates #214
- Provide support for git ssh auth #211
- Validate tags on images #198
- Include finalizers in controller's rbac configuration #194
v0.0.5
Install
kubectl apply -f release-0.0.5.yaml
What's New?
- When run images (OS level dependencies) are updated in the registry, images previously built with the run images will be rebuilt. This does not require a full rebuild because of the of ABI compatibility guarantee provided by the run image in Cloud Native Buildpacks.
- Kubernetes credential providers (AWS, GCP, Azure) can be used to authenticate builder images.
- Build logs display current build step and include
Build Successful
on completion.
Info
Builder Images used with this release require the lifecycle v0.4.0 or greater.
(All builders in pack suggest-builders
currently satisfy this requirement)
Breaking changes
- A Kubernetes cluster version 1.14 or later is now required
- When updating to v0.0.5 delete and reapply existing images
Known Issues
- Builds fail on kind #201
Changelog
- Bump lifecycle to version v0.0.5 #189
- Build fails early if it does not have read access to the run image #186
- Default to default service account for images and builds #184 #180
- Add validation and defaulting for images, builds, and builders #184 #180
- Fails build when git credentials are invalid #161
- Rebuild images when run image or stack change #140 #165 #168 #172 #176 #179
- Improve log utility output #154
- Images can be built in unauthenticated registries #143
- Add support Kubernetes credential providers (AWS, GCP, Azure) #153
- Update kubernetes client go to 1.15 #151
- Migrate to go modules #151
- Each kpack resource is in the 'kpack' category #144 (Scott Andrews)
v0.0.4
Install
kubectl apply -f release-0.0.4.yaml
What's New?
-
Added support for a cluster scoped ClusterBuilder resource.
-
ClusterBuilders are available cluster wide and behave identically to the Builder type. However, they do not support imagePullSecrets. Therefore the builder image must be available to kpack without credentials.
A ClusterBuilder can be created with this configuration:
apiVersion: build.pivotal.io/v1alpha1
kind: ClusterBuilder
metadata:
name: sample-builder
spec:
image: cloudfoundry/cnb:bionic
A image can be created with the sample-builder ClusterBuilder with the following config in any namespace:
apiVersion: build.pivotal.io/v1alpha1
kind: Image
metadata:
name: sample-image
spec:
tag: gcr.io/project-name/app
serviceAccount: sample-service-account
builder:
name: sample-builder
kind: ClusterBuilder
source:
git:
url: https://github.com/buildpack/sample-java-app.git
revision: master
Info
Builder Images used with this release require the lifecycle v0.4.0.
Breaking changes
- The
builderRef
field was removed from the Image Resource. Now images are configured with a builder and aname
andkind
as displayed below:
apiVersion: build.pivotal.io/v1alpha1
kind: Image
metadata:
name: sample-image
spec:
builder:
name: sample-builder
kind: Builder # Builder/ClusterBuilder
Changelog:
- Fixed an issue creating Builders with a fully qualified image #128
- Remove dependency on buildpack/imgutil #133
- Image and Builder Status.Conditions will include information about Builder readiness #132
- Added support for
ClusterBuilders
#126 - Fixed an issue where kubernetes was ignoring build resource constraints #114
- Run images can be used from private registries #111 #129
--kubeconfig
is no longer required when tailing logs #109 (Brendan Nolan)- Build logs can be tailed from GKE/AKE clusters #102
v0.0.3
Renamed to kpack
Install
kubectl apply -f release.yaml
Prominent Improvements
- Private Builders are supported, ImagePullSecrets can be added to the builder type (#46).
apiVersion: build.pivotal.io/v1alpha1
kind: Builder
metadata:
name: sample-builder
spec:
image: cloudfoundry/cnb:bionic
imagePullSecrets: # optional, if not set builder must be public
- name: builder-secret
- Subpath on build and image source to support monorepos (#93).
- Add Ready condition to Image resource (#1).
- Image builds are scheduled with the exact builder digest (#77).
Note: This release includes breaking changes
- Migrated packages from
github.com/pivotal/build-service-system
github.com/pivotal/kpack
. build.status.SHA
was replaced withbuild.status.latestImage
.build.spec.tag
was migrated to a list ofbuild.spec.tags
.build.spec.additionalImageNames
was removed,build.spec.tags
supports multiple tags.image.spec.disableAdditionalImageNames
was migrated toimage.spec.imageTaggingStrategy
of type 'BuildNumber' or 'None'.
v0.0.2
Install
kubectl apply -f release.yaml
Note: This release includes breaking changes
image.spec.image
was renamed toimage.spec.tag
build.spec.image
was renamed tobuild.spec.tag
- Git and Docker secrets are now annotated with
build.pivotal.io/git
andbuild.pivotal.io/docker
Prominent Improvements
-
Knative Build is no longer a dependency and is not needed to install and run Build Service.
-
Source for an image and build can be fetched from a remote zip or jar by url. An image source with a remote source url can be configured like this:
apiVersion: build.pivotal.io/v1alpha1 kind: Image metadata: name: sample-image spec: tag: gcr.io/project-name/app serviceAccount: service-account builderRef: sample-builder cacheSize: "1.5Gi" # Optional, if not set then the caching feature is disabled failedBuildHistoryLimit: 5 # Optional, if not present defaults to 10 successBuildHistoryLimit: 5 # Optional, if not present defaults to 10 source: blob: url: https://storage.googleapis.com/build-service/sample-apps/spring-petclinic-2.1.0.BUILD-SNAPSHOT.jar
Note: only supports publicly accessible blobs or blob urls with access token
-
An image with a Git source will automatically poll for changes if the configured revision is a branch or a tag.
-
The builder can be set to poll for changes by using the
updatePolicy
set topolling
apiVersion: build.pivotal.io/v1alpha1 kind: Builder metadata: name: sample-builder spec: image: cloudfoundry/cnb:bionic updatePolicy: polling
Note: To disable polling the
updatePolicy
can be set toexternal
. With an external updatePolicy the builder will only be made aware of an update to a builder when the builder resource is updated externally.
Changelog:
- [Feature] Pull archived source from remote location #30
- Allow users to set memory/cpu reservation and limits #12
- Update examples/documentation to show all functionality. #42
- Remove dependency on KNative Build #26
- Change the field
image
in the image type totag
#59 - Resolve the built image for me #9
- Propagate labels from parent to child resources #8
- Git init image is not publicly accessible #66
- rename either the "Image" type or its "image" spec property #40
v0.0.1
This is the first experimental alpha release of the build service system.
Install
kubectl apply -f release.yaml