Tekton Pipeline release v0.11.0-rc1 "Ragdoll Norby"
Pre-releaseπ Beta Release Candidate 1 π
With this release Tekton Pipelines introduces a new apiVersion, v1beta1
. While the v1alpha1
version is continuing to be supported at this time we'd like to encourage anyone integrating with Pipelines to be aware of the upcoming API change and begin thinking about migrating over to the beta API. Documentation on migrating will be forthcoming, this release simply introduces the new version and allows us to publicise it.
Over the coming weeks we'll be working with the other Tekton projects to migrate their integrations to v1beta1
and fixing problems as they arise in subsequent Release Candidates.
π¨ If you are upgrading from an older version of Tekton you may need to delete your existing tekton-pipeline
deployments before apply
ing the 0.11 release candidates.
π¨ Submitting v1alpha1 Tasks more than once can now result in errors. Submitting a v1alpha1
Task once will work but submitting the same Task again will fail. To work around this problem first delete the Task and then reapply it.
This is a side-effect of the way Tekton internally upgrades Tasks from
v1alpha1
tov1beta1
. This issue will affect any Task that includesinputs.params
orinputs.resources
. On submission Kubernetes will return an error such aserror when applying patch [...] validation failed: expected exactly one, got both: inputs.params, params
.
π¨ Please also note that the minimum version of Kubernetes required to run Tekton is now 1.15.
Changes
Features
-
β¨ Introduce the
v1beta1
API VersionTekton Pipelines has introduced a new API version,
v1beta1
, with improvements to some of its APIs and Types.Add ClusterTask to v1alpha2 (#1946)
Port TaskResults and TaskRunResults to v1alpha2 (#1948)
Port Workspace in pipeline support to v1alpha2 (#1949)
Add PipelineRun types to v1alpha2 (#1955)
Add LimitRangeName to v1alpha2.PipelineRun tulip (#2009)
Task, ClusterTask and Pipeline auto-conversion from v1alpha1 to v1alpha2 (#2002)
TaskRun, and PipelineRun auto-conversion from v1alpha1 to v1alpha2 (#2025)
Expose v1beta1 to the world (#2035) -
β¨ Improved LimitRange support
Tekton Pipelines now plays more nicely with LimitRanges in a namespace when creating new Pods for TaskRuns.
Leave Max Container Request Values at Original Indices (#1937)
Check for LimitRange Minimum for TaskRun Container Requests (#1991)
Add LimitRange Examples for PipelineRun and TaskRun (#2004)
Pods created by TaskRuns will now respect any LimitRange minimums that exist in the namespace that the Pod runs in (#2020). -
β¨ Pipeline Resources can now be marked as optional
PipelineResources can now be declared as optional, allowing Tasks to be more flexible in their handling of input resources.
Enabling Pipeline Resources to be marked as Optional (#1910)
-
β¨ Data can now be shared between Tasks using Task Results and Task Params
A Pipeline can now feed Task Results into other Tasks through their Params. It is now much easier to pass small pieces of data through a Pipeline.
Update task run status with results (#1921)
Adding substitution for result path variable (#2018)
Adding pipeline results (#2042)
Make results folder writable (Fix for #2131) (#2143) -
β¨ Tekton Pipelines can be configured to no longer overwrite the HOME environment variable and workingDir of Steps
In the next release of Tekton this behaviour will become the default!
Allow disabling implicit HOME overwrite (#2044)
Add handling of working directory (#2115) -
β¨ Sidecars now support Script mode, just like in Task Steps
Add Script Support to Sidecars (#1987)
-
β¨ TaskRuns can now specify a different Scheduler Name in their podTemplate
Add SchedulerName to TaskRunSpec (#1790)
-
β¨ JSONPath-like Star Array Notation can now be used in variable substitutions
Adds Basic Support for Star Array Notation (#2085)
-
β¨ The Tekton Controller can now be configured to monitor an individual namespace
Allow controller to watch a specified namespace (#2144)
Deprecation Notices
-
π¨ PipelineResources are not moving to Beta with Tekton's other types
PipelineResources have been a source of some contention within the Tekton community over the past several months. While the abstraction they expose does provide some value they can often be difficult to understand, hard to debug when they go wrong, and are far too limited in number and scope. For these reasons and more we do not plan to promote PipelineResources into Beta and will instead provide a documented migration path for users that does not use the type at all. Towards this goal we have already introduced a
git-clone
Task to the Tekton Catalog that provides exactly the same behaviour as the Git PipelineResource and we plan to introduce similar Tasks for all of the other existing PipelineResource types as well.See the git-clone Task in the catalog.
-
π¨ The
$HOME
env var andworkingDir
of Steps will change in the next releaseTekton currently overwrites the
HOME
environment variable in a Step's container to always be/tekton/home
and theworkingDir
field of the Step's image to always be/workspace
. This behaviour is problematic when a container depends on those values to be something specific for it to run correctly.In this release we are leaving Tekton's default behaviour alone but have introduced a new ConfigMap, named
feature-flags
, that allows you to disable it. In the next release we plan to flip this behaviour so that it is opt-in rather than opt-out. At some point in the future we plan to remove support for this overwriting behaviour entirely. (#2044).
Backwards incompatible changes
In current release:
-
π¨ The minimum required version of Kubernetes is now 1.15
Bump kubernetes to 1.16.5 and knative/pkg to release-0.12 (#1894)
-
π¨ Submitting v1alpha1 Tasks more than once can now result in errors. Submitting a
v1alpha1
Task once will work but submitting the same Task again will fail. To work around this problem first delete the Task and then reapply it.
Fixes
- π Fix redundant type conversion (#2142)
- π Fail step-script if param value is not applied (#1934)
- π Fix params-applied example (#1925)
- π Make pipelinerun as "cancelled" when taskrun is "cancelled" (#1935)
- π Fix release yaml for openshift install (#1959)
- π Remove Code Comment From v1alpha2 taskrun_types_test.go (#1967)
- π Correct message of Pipelinerun when timeout (#2024)
- π Enhance reconcile of taskrun to avoid extra pod creation (#2022)
- π Add random suffix when make volumn from secret (#2048)
- π Validate PipelineTask name as Task names (#2099)
- π Fixes Steps container spec serialization/deserialization (#2151)
Misc
- π¨ Update dind example to connect to daemon using TCP+TLS (#1932)
- π¨ Add tekton.dev/release annotation to the webhook (#1942)
- π¨ Use named field in test tables taco (#1954)
- π¨ Add e2e test to cover TaskRun retries (#1975)
- π¨ Increase timeout for e2e test_retry test (#1985)
- π¨ Prepend tekton-bucket resource name with pipeline pill (#1982)
- π¨ Remove messages about kodata in task logs (#2000)
- π¨ Correct the number of expected pods created in e2e test case of "retry" (#1996)
- π¨ Remove deprecated fields from PipelineResourceResult sweet_potato (#2011)
- π¨ Make testcase of "retry" raise error rather than just log (#2033)
- π¨ update cloudevents dependency and clean up deps (#2014)
- π¨ Add symlink in kodata link (#2032)
- π¨ Add a description field to pipeline workspace declarations (#2054)
- π¨ Add jsonpath expand library (#1951)
- π¨ Use vendor folder to speed up CI spoon (#2040)
- π¨ Adding a version label to controller and webhook (#2064)
- π¨ Refining status when Condition failed (#1696)
- π¨ Add ContainerState and ContainerName for Sidecars (#2075)
- π¨ Move Resources implementation to their package (#2103)
- π¨ Update the kaniko executor image version to 0.17.1 (#2136)
Docs
- π Adding Documentation on PipelineTask Timeout (#2130)
- π Fix Install Guide formatting. (#2149)
- π Rewrite the Tekton Pipelines overview for clarity and flow (#2030)
- π Document default-managed-by-label (#1964)
- π fix wrong default pod template example (#1997)
- π Updating to include Tekton installtion (#2012)
- π Linking to conditions-doc insteadof self (#2046)
- π Indicate minimum cluster version is now 1.15 police_car (#2052)
- π Add authority for resource deployments.apps to tutorial-role (#2034)
- π Correct the wrong MD format for document: podTemplates (#2090)
- π Fix Broken Link and Typo for LimitRange Docs (#2108)
- π Installation: Added example for GoogleCloudStorage backend (#2123)
- π Rewrite Install Guide for clarity and flow. (#2146)
- π Fix Install Guide formatting. (#2149)
Thanks
Thanks to these contributors who contributed to v0.11.0-rc1!
- β€οΈ @imjasonh
- β€οΈ @achedeuzot
- β€οΈ @assertion
- β€οΈ @bobcatfish
- β€οΈ @chmouel
- β€οΈ @danielhelfand
- β€οΈ @dewan-ahmed
- β€οΈ @dibyom
- β€οΈ @eddycharly
- β€οΈ @fraenkel
- β€οΈ @gorkem
- β€οΈ @guitcastro
- β€οΈ @hrishin
- β€οΈ @itoutki
- β€οΈ @mattmoor
- β€οΈ @nikhil-thomas
- β€οΈ @nilsotto
- β€οΈ @othomann
- β€οΈ @piyush-garg
- β€οΈ @pritidesai
- β€οΈ @sbwsg
- β€οΈ @skaegi
- β€οΈ @spomorski
- β€οΈ @takirala
- β€οΈ @tariq1890
- β€οΈ @tomgeorge
- β€οΈ @vdemeester
- β€οΈ @vincent-pli
- β€οΈ @waveywaves
- β€οΈ @withlin
- β€οΈ @wlynch