v0.4.0
Release v0.4.0
Breaking Changes
- All Build custom resources (
Build
,BuildRun
,BuildStrategy
,ClusterBuildStrategy
) moved from thebuild.dev
group toshipwright.io
. - The build controller now installs in the "shipwright-build" namespace, with the deployment name "shipwright-build-controller".
- In
Build
, the git source fieldshttpProxy
,httpsProxy
,noProxy
andflavor
were removed.
Users currently running v0.3.0 should use the following procedure to upgrade to v0.4.0:
- Install v0.4.0 using the release YAML manifest.
- Download existing
Build
,BuildStrategy
, andClusterBuildStrategy
objects from your cluster in YAML format. - For each object, change the
apiVersion
frombuild.dev/v1alpha1
toshipwright.io/v1alpha1
. Remove any identifiers and creation timestamps from the object's metadata. - Run
kubectl apply -f
against each manifest to re-create the relevant object.
Once the desired Shipwright build objects have been migrated to the new api group, you can remove v0.3.0 from your cluster:
- Delete the
build-operator
namespace. - (optional) Delete all
BuildRun
,Build
,BuildStrategy
, andClusterBuildStrategy
objects in thebuild.dev
api group on the cluster. - (optional) Delete the custom resource definitions for
BuildRun
,Build
,BuildStrategy
, andClusterBuildStrategy
in thebuild.dev
api group.
Deprecations
The following API fields are marked deprecated, and will be removed in a subsequent release:
BuildRun
:status.succeeded
andstatus.reason
have been deprecated. Clients should inspect the status condition typeSucceeded
instead. Refer to the documentation for further information.
Features
#649 by SaschaSchwarze0: Expose configuration for the Burst and QPS settings of the kube-api client
#642 by zhangtbj: Add informers and listers for the advanced usages and simplify the generated clientset folder from pkg/client/build to pkg/client directly
#641 by qu1queee: Introduce new Failed Reasons for BuildRun Status.Conditions
and enhance the scenarios when BuildRuns are marked as Failed.
#623 by SaschaSchwarze0: Exposing MaxConcurrentReconciles configuration of controllers to allow increasing them from the default (1) to be able to handle a larger amount of objects in the system
#617 by SaschaSchwarze0: Update Kaniko to v1.5.1 including better retry support for the image push to the container registry
#603 by SaschaSchwarze0: - Adding a sample build strategy for ko
Fixes
#710 by HeavyWombat: Fix nil-pointer dereference with panic in case Build spec Strategy field was not set.
#690 by ImJasonH: Tag nightly release images to avoid registry garbage collection
#639 by adambkaplan: Github actions: ensure nightly and release jobs are not run on contributor forks.
#622 by SaschaSchwarze0: Fixing the predicate functions for delete operations so that unnecessary reconciliations are omitted and a completed BuildRun does not get updated if the TaskRun gets deleted.
#592 by HeavyWombat: Fixed an issue where the build-controller fails to Reconcile with a panic due to a nil pointer dereference. The issue can arise in case there is a failed TaskRun with a pod that has still running (unfinished) containers.
#672 by xiujuan95: sourceURL validation is disabled by default.
API Changes
#683 by ImJasonH: Remove unused fields from GitSource
#674 by ImJasonH: BuildRun .status.succeeded and .status.reason are marked as deprecated in favor of .status.conditions.
#609 by ImJasonH: BREAKING: Rename API group from build.dev to shipwright.io
Docs
#669 by qu1queee: Ensure the README is easier to digest and that it highlights the main value for Shipwright users.
#610 by ImJasonH: BREAKING: Change installation namespace, SA, ClusterRole{Binding}, and Deployment names
#648 by mattui: Correct link the link of controller.yaml in configuration.md
Misc
#715 by SaschaSchwarze0: The Kaniko build strategy is updated to use v1.5.2 of Kaniko
#687 by ImJasonH: Update Go type and field names; no user-visible changes expected.Existing code to interact with the API is expected to work. When updating to new versions of the generated Go client, code will need to change to reference new field names.
#686 by ImJasonH: Status reason "SpecRuntimeSecretRefNotFound" changed to "SpecBuilderSecretRefNotFound" to accurately reflect its use.
#663 by xiujuan95: Tekton version is bumped to v0.21.0
#654 by SaschaSchwarze0: Adding the KILL capability to the Kaniko executor to allow it to kill daemon processes started by non-root
#646 by qu1queee: Remove last dependency to the operator-sdk
#635 by qu1queee: Make use of shipwright assets instead of random repositories.
#634 by qu1queee: Ensure default branch of repositories falls to HEAD when revision is not specified in the Build
#631 by zhangtbj: Renamed "build operator" to "build controller" in code and documentation.
#629 by mattcui: Add make target for generating crds through controller-gen
#595 by qu1queee: Restructure BuildRun reconcile code into separate classes.
#593 by qu1queee: Move controller/reconcile logic into reconciler pkg