Releases: tektoncd/triggers
Tekton Triggers release v0.14.1
-Docs @ v0.14.1
-Examples @ v0.14.1
Installation one-liner
kubectl apply -f https://storage.googleapis.com/tekton-releases/triggers/previous/v0.14.1/release.yaml
kubectl apply -f https://storage.googleapis.com/tekton-releases/triggers/previous/v0.14.1/interceptors.yaml
Upgrade Notices
- As of this release, the Triggers release will contain two YAML files.
release.yaml
contains the core release artifacts whileinterceptors.yaml
contain the 4 core interceptors (GitHub, GitLab, BitBucket, and CEL).
How to upgrade from v0.14.0 :up_arrow:
kubectl apply -f https://storage.googleapis.com/tekton-releases/triggers/previous/v0.14.1/release.yaml
kubectl apply -f https://storage.googleapis.com/tekton-releases/triggers/previous/v0.14.1/interceptors.yaml
Changes
Deprecation Notices
- 🚨 Deprecate podTemplate field (#1102)
Handled deprecation ofpodTemplate
properly so that there won't be any issue with Upgrade which we faced as part of0.14.0
.
Reference Issue #1098
Misc
- 🔨 Upgrade plumbing version. (#1104)
Thanks
Thanks to these contributors who contributed to v0.14.1!
- ❤️ @savitaashture
- ❤️ @wlynch
Extra shout-out for awesome release notes:
Tekton Triggers v0.14.0
-Docs @ v0.14.0
-Examples @ v0.14.0
Installation
kubectl apply -f https://storage.googleapis.com/tekton-releases/triggers/previous/v0.14.0/release.yaml
kubectl apply -f https://storage.googleapis.com/tekton-releases/triggers/previous/v0.14.0/interceptors.yaml
Upgrade Notices
- As of this release, the Triggers release will contain two YAML files.
release.yaml
contains the core release artifacts whileinterceptors.yaml
contain the 4 core interceptors (GitHub, GitLab, BitBucket, and CEL).
How to upgrade from v0.13.0 :up_arrow:
kubectl apply -f https://storage.googleapis.com/tekton-releases/triggers/previous/v0.14.0/release.yaml
kubectl apply -f https://storage.googleapis.com/tekton-releases/triggers/previous/v0.14.0/interceptors.yaml
Changes
Features
- ✨ Provide error for invalid bindings (#1049)
TriggerBinding produces error on providing invalid Tekton template values.
- ✨ Adding opencensus metrics (#1061)
Added Eventlistener OpenCensus metrics which captures metrics at process level.
- ✨ Add validation check for triggers (#1072)
User cannot specify both TriggerRef and (TriggerTemplate, TriggerBindings, Interceptors) as part of eventlistener spec.
- ✨ Add a Ready StatusCondition for EventListener (#1082)
The EventListener Status now has a new Condition called Ready. Ready is set to True when the other status conditions are also true (i.e. the EventListener is ready to serve traffic). It is false if any of the other statuses are false.
Deprecation Notices
- 🚨 Add a Ready StatusCondition for EventListener (#1082)
The EventListener Status now has a new Condition called Ready. Ready is set to True when the other status conditions are also true (i.e. the EventListener is ready to serve traffic). It is false if any of the other statuses are false.
DEPRECATION NOTICE: In the future, we plan to deprecate the other status conditions in favor of the Ready status condition.
- 🚨 Add EventListener UID to sink response, mark name/namespace as deprecated (#1087)
eventListener
and namespace
fields in EventListener response are now deprecated. Use eventListenerUID
instead.
Backwards incompatible changes
- 🚨 Removed deprecated fields (#1040)
As part of this release we have removed deprecated fields ServiceType
and PodTemplate
from the EventListener Spec.
Fixes
- 🐛 Skip heavy validation on deletion 🙃 (#1085)
Skip heavy validation on deletion in the webhook.
- 🐛 Fix metrics port expose issue for triggers eventlistener (#1086)
Triggers exposes metrics on 9000
port.
- 🐛 Add EventListener UID to sink response, mark name/namespace as deprecated (#1087)
eventListener
and namespace
fields in EventListener response are now deprecated. Use eventListenerUID
instead.
Misc
- 🔨 Update roadmap for 2021 (#1053)
- 🔨 Add links to versioned docs for v0.13.0 (#1058)
- 🔨 Updating to latest version of plumbing (#1064)
- 🔨 refactor: move list of allowed ResourceTemplate types to its own package (#1068)
- 🔨 Resolving build test issues in PRs (#1078)
- 🔨 Migrate from test builders to structs (#1080)
- 🔨 Bump CEL version to latest version. (#1088)
The CEL interceptor is updated to the latest version of CEL, this brings in the CEL base64 decoding functions.
These are documented here https://github.com/google/cel-go/tree/master/ext#base64decode
Note: the CEL base64 decoding function decodes to a CEL byte array, which is not a string, it uses the b'hello' syntax to represent a string of bytes "hello".
The triggers decodeb64
CEL function is now deprecated in favour of the upstream encoders package, you can replace body.value.decodeb64
with string(base64.decode(body.value))
- 🔨 Bump pipeline to 0.24.1 and knative pkg to 0.22 (#1091)
Docs
- 📖 Add the new
Interceptors
Page (#1035) - 📖 Rewrite the
ClusterInterceptors
page for clarity and flow (#1048) - 📖 Capitalization consistency for resourcetemplates (#1050)
- 📖 Update README.md and Release Cheat Sheet (#1051)
- 📖 Update install documentation (#1054)
- 📖 Rewrite the
EventListeners
Page (#1060) - 📖 Delete obsolete page exposing-eventlisteners.md (#1066)
- 📖 Update link to interceptors doc (#1073)
- 📖 Add link between cluster interceptor docs and interceptor docs (#1074)
Thanks
Thanks to these contributors who contributed to v0.14.0!
- ❤️ @bigkevmcd
- ❤️ @bobcatfish
- ❤️ @dibyom
- ❤️ @jmcshane
- ❤️ @nikhil-thomas
- ❤️ @savitaashture
- ❤️ @tualeron
- ❤️ @vdemeester
- ❤️ @wlynch
- ❤️ @xclud
Extra shout-out for awesome release notes:
- 😍 @bigkevmcd
- 😍 @dibyom
- 😍 @jmcshane
- 😍 @nikhil-thomas
- 😍 @savitaashture
- 😍 @vdemeester
- 😍 @wlynch
- 😍 @xclud
Tekton Triggers v0.13.0
Tekton Triggers v0.13.0
-Docs @ v0.13.0
-Examples @ v0.13.0
Installation
kubectl apply -f https://storage.googleapis.com/tekton-releases/triggers/previous/v0.13.0/release.yaml
kubectl apply -f https://storage.googleapis.com/tekton-releases/triggers/previous/v0.13.0/interceptors.yaml
Upgrade Notices
-
As of this release, the Triggers release will contain two YAML files.
release.yaml
contains the core release artifacts whileinterceptors.yaml
contain the 4 core interceptors (GitHub, GitLab, BitBucket, and CEL). -
The EventListener ServiceAccount will now need a ClusterRole (and corresponding ClusterRoleBinding) to use the new ClusterInterceptor types (example)
How to upgrade from v0.12.1 :up_arrow:
- Apply the new releases
kubectl apply -f https://storage.googleapis.com/tekton-releases/triggers/previous/v0.13.0/release.yaml
kubectl apply -f https://storage.googleapis.com/tekton-releases/triggers/previous/v0.13.0/interceptors.yaml
- Update your EventListener's ServiceAccount so that it can access ClusterInterceptors:
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: tekton-triggers-example-clusterrole
rules:
# EventListeners need to be able to fetch any clustertriggerbindings
- apiGroups: ["triggers.tekton.dev"]
resources: ["clustertriggerbindings", "clusterinterceptors"]
verbs: ["get", "list", "watch"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: tekton-triggers-example-clusterbinding
subjects:
- kind: ServiceAccount
name: tekton-triggers-example-sa
namespace: default
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: tekton-triggers-example-clusterrole
Changes
Features
-
✨ Adding label selector for triggers (#970)
Users can now configure triggers for an EventListener using labels
-
✨ Added URL field to WebhookInterceptor (#1002)
Users can now configure webhook interceptors by referencing a URL
-
✨ Add ClusterInterceptor CRD for registering interceptors (#960)
A new CRD called ClusterInterceptor has been added that allows for users to register new pluggable Interceptor types
-
✨ Add API to configure Interceptors from a Trigger (#1001)
Trigger spec authors can now configure interceptors using a new API that includes a
ref
field to refer to a ClusterInterceptor, and
aparams
field to add parameters to pass on to the interceptor for processing -
✨ Migrate core interceptors to use InterceptorType CRD (#976)
The four bundled interceptors (CEL, GitHub, GitLab, BitBucket) are now implemented using the new ClusterInterceptor CRD
-
✨ Migrate core interceptors to new format (#1029)
Any new Triggers created using the old style syntax for core interceptors is now automatically switched to the new refs/params
based syntax.
Deprecation Notices
-
🚨 Move replicas to KubernetesResource from eventlistener spec (#1021)
Deprecated replicas from EventListener spec level and added replicas to KubernetesResource.
-
🚨 Migrate core interceptors to new format (#1029)
Interceptors in a Trigger are now configured using a new
ref
andparams
based syntax as described in #1001, and in #976 we
have implemented the core interceptors using the new ClusterInterceptor CRD. So, these core interceptors can now be configured
using the new syntax. The old way of configuring these interceptors is now deprecated but it will continue to work until it is removed
in a future release. The defaulting webhook will automatically switch any usages of the old syntax to the new for any new Triggers.
Fixes
- 🐛 Forcing eventlistener sink to resolve eventlistener before startup (#977)
- 🐛 resources: Fail on non-string template labels. (#1030)
- 🐛 Resolving file read issue with binding-eval (#1039)
- 🐛 Resolving cache sync issues (#1037)
- 🐛 Fixes Triggers release pipeline and tasks (#1024)
- 🐛 Cleanup existing k8s resources after updating to customeResources (#1022)
- 🐛 Update selector RBAC to include ClusterInterceptor (#1016)
- 🐛 Sync lister informers before serving traffic (#1013)
- 🐛 fix: Cron task needs to post json body (#989)
Misc
- 🔨 Update triggers, community and cli reference to use main… (#987)
- 🔨 Use v1 API for RoleBinding 🦝 (#1046)
- 🔨 Add separate interceptors file result to release pipeline (#1044)
- 🔨 Update publish task to include core interceptors (#1007)
- 🔨 Update Release Pipeline and associated Task 🧑💻 😺 (#1000)
- 🔨 Add links to versioned docs for v0.12.1 (#999)
Docs
- 📖 Rewrite the Triggers tutorial for clarity and flow (#1018)
- 📖 Delete obsolete file (#1011)
- 📖 Replace debugging-eventlisteners.md with the new Troubleshooting page (#1010)
- 📖 Rewrite debugging-eventlisteners.md for clarity and flow (#1004)
- 📖 Rewrite triggers.md for clarity and flow (#992)
- 📖 Update descriptions for
TriggerTemplates
andTriggerBindings
(#991) - 📖 Rewrite triggerbindings.md for clarity and flow (#988)
- 📖 Rewrite triggertemplates.md for clarity and flow (#981)
- 📖 Update examples to use both old and new syntax (#1028)
- 📖 Update eventlisteners.md (#993)
- 📖 Correct eventlistener docs to properly set service account for a trigger (#984)
- 📖 Add link to versioned docs for v0.12.0 (#982)
- 📖 fix a typo (#979)
- 📖 Fix broken link to Getting Started (#978)
Thanks
Thanks to these contributors who contributed to v0.13.0!
- ❤️ @dibyom
- ❤️ @djfinnoy
- ❤️ @jmcshane
- ❤️ @kscherer
- ❤️ @mpetason
- ❤️ @nikhil-thomas
- ❤️ @savitaashture
- ❤️ @sbose78
- ❤️ @sergetron
- ❤️ @vdemeester
- ❤️ @wlynch
- ❤️ @wstrange
Extra shout-out for awesome release notes:
- 😍 @dibyom
- 😍 @djfinnoy
- 😍 @jmcshane
- 😍 @mpetason
- 😍 @nikhil-thomas
- 😍 @savitaashture
- 😍 @sbose78
- 😍 @vdemeester
To Be Done: Deprecation Notices, Backward Incompatible Changes
Tekton Triggers v0.12.1
-Docs @ v0.12.1
-Examples @ v0.12.1
Changes
Fixes 🐛
- Fix reconcile failures when creating Knative service (#995)
How to upgrade from v0.12.0 :up_arrow:
kubectl apply -f https://storage.googleapis.com/tekton-releases/triggers/previous/v0.12.1/release.yaml
Thanks
Thanks to these contributors who contributed to v0.12.1!
Tekton Triggers v0.12.0
-Docs @ v0.12.0
-Examples @ v0.12.0
Changes
Features
-
Switch to UUID for event IDs (#926)
Change the event ID representation from a 5 character random string to a UUID.
-
Add support for custom object to triggers eventlistener (#958)
Introduced new field customResource to support Knative Service for EventListener
apiVersion: triggers.tekton.dev/v1alpha1 kind: EventListener metadata: name: github-listener-interceptor-customresource spec: ... resources: customResource: apiVersion: serving.knative.dev/v1 kind: Service metadata: spec: template: spec: serviceAccountName: tekton-triggers-example-sa containers: - resources: requests: memory: "64Mi" cpu: "250m" limits: memory: "128Mi" cpu: "500m"
-
Validate Event Body for Json Format (#969)
We now throw http.BadRequest status code(400) if event payload isn't json.
Backwards incompatible changes 🚨
In current release:
-
Remove deprecated field template.Name in favour of template.Ref (#919)
Deprecated field template.Name in has been removed in favor of template.Ref
-
Switch to UUID for event IDs (#926)
Change the event ID representation from a 5 character random string to a UUID.
Fixes 🐛
- Send Tekton installation namespace to EL (#927)
- Add validation to the length of EventListener name (#935)
- Use generateName instead of $(uid) for metadata.name (#939)
- Fix container name in Deployment for interceptors (#956)
Misc 🔨
- Add links to versioned docs for v0.11.1 (#918)
- Remove deprecated field template.Name in favour of template.Ref (#919)
- Add links to versioned docs for v0.11.2 (#930)
- Make test names consistent in reconciler (#937)
- K8s dependency bump to v0.19.7(#934)
- Add kustomize.yaml to the Tekton folder (#950)
- Adding tests for cel expressions demonstrating use of has (#947)
- Use tekton beta resources for build (#957)
- Use golang-build-legacy and golang-test-legacy. (#965)
Docs 📖
- Update min K8s version for Triggers (#922)
- Add link to godoc reference (#933)
- Add some documentation around debugging EventListeners. (#954)
- doc: template inside a Trigger is not optional (#963)
- Rewrite the Tekton Triggers installation instructions for clarity and flow (#966)
- Write a new Tekton Triggers Overview (#972)
- Update to match the new /docs/README.md Triggers Overview from PR 972 (#975)
How to upgrade from v0.11.2 :up_arrow:
kubectl apply -f https://storage.googleapis.com/tekton-releases/triggers/previous/v0.12.0/release.yaml
Thanks
Thanks to these contributors who contributed to v0.12.0!
- ❤️ @MarcelMue
- ❤️ @afrittoli
- ❤️ @bigkevmcd
- ❤️ @dibyom
- ❤️ @dprotaso
- ❤️ @jmcshane
- ❤️ @khrm
- ❤️ @rudeigerc
- ❤️ @savitaashture
- ❤️ @sergetron
Extra shout-out for awesome release notes:
Tekton Triggers v0.11.2
-Docs @ v0.11.2
-Examples @ v0.11.2
Changes
Fixes 🐛
- Send Tekton installation namespace to EL (#929)
The EventListener did not have knowledge of which namespace Triggers was installed in. Instead it always assumed it was tekton-pipelines
leading to the bug described in #923.
This PR fixes by having the Reconciler send the installation namespace as a environment variable set on the EventListener's pod.
How to upgrade from v0.11.1 :up_arrow:
kubectl apply -f https://storage.googleapis.com/tekton-releases/triggers/previous/v0.11.2/release.yaml
Thanks
Thanks to these contributors who contributed to v0.11.2!
- ❤️ @dibyom
Tekton Triggers v0.11.1
-Docs @ v0.11.1
-Examples @ v0.11.1
Changes
Features
NOTE: Please check v0.11.0 release notes for all the new features and bug fixes
Deprecation Notices 🚨
-
Revert removal of template.Name field and handle Deprecation of template.Name field (#912)
Deprecate template.Name in favor of
template.Ref
Fixes 🐛
- Add missing namespace to core-interceptors role (#917)
Docs 📖
- Add links to versioned docs for v0.11.0 (#908)
How to upgrade from v0.10.2 :up_arrow:
Note:
- Users can skip
v0.11.0
and directly upgrade tov0.11.1
fromv0.10.2
to avoid issue withtemplate.Name
field. - Upgrading to
v0.11.1
will get all the features and bug fixes fromv0.11.0
. Please check v0.11.0 release notes for all the new features and bug fixes.
kubectl apply -f https://storage.googleapis.com/tekton-releases/triggers/previous/v0.11.1/release.yaml
Thanks
Thanks to these contributors who contributed to v0.11.1!
- ❤️ @dibyom
- ❤️ @savitaashture
Extra shout-out for awesome release notes:
- 😍 [@savitaashture]
Tekton Triggers v0.11.0
-Docs @ v0.11.0
-Examples @ v0.11.0
Changes
Features ✨
-
Migrate GitLab, BitBucket, GitHub interceptors to new interface (#832)
-
Implement marshalJSON CEL function (#842)
New CEL functionmarshalJSON
that can encode a JSON object or array to a string. -
Add a server for serving core interceptors (#858)
Add a HTTP handler for serving core interceptors and this packages all 4 core interceptors into a single HTTP server.
Each interceptor is available at a different path e.g. /cel for CEL etc. -
Add SecurityContext to reconciled Deployment (#862)
Add a security context on event listener deployments to prevent issues with restrictive default PSPs.
-
Add flag to disable security context on EL Deployment (#865)
Add a flag to disable SecurityContext on the reconciled eventlistener Deployment
-
Change InterceptorRequest.Body to string (#877)
InterceptorRequest.Body is now of type string. No immediate action is required but once #271 is fully implemented, interceptor authors will have to parse the Body separately as a JSON object.
-
Move core interceptors to their own server (#878)
Deprecation Notices 🚨
-
Deprecate PodTemplate and ServiceType in favour of Resource (#897)
Deprecate PodTemplate and ServiceType in favour of Resource.
Backwards incompatible changes 🚨
- Remove the template.Name field (#898)
Action required: The Template.Name field has been removed from the Trigger Spec. Please use Template.Ref instead. - Remove deprecated spec style embedded bindings (#900)
BREAKING CHANGE:
TheSpec
field has been removed from theTriggerSpecBinding
.
Fixes 🐛
-
Fix example SA permissions (#848)
The example service account has been updated to include access to clustertriggerbindings.
-
refactor: Do not use %w unless in fmt.Errorf (#855)
-
Merge extensions into body for webhook interceptors (#859)
Extensions added by a CEL Interceptor will be passed on to webhook interceptors by merging the extension fields into the event body under a
extensions
field. See docs/eventlisteners.md for more details. -
Bind admin role so that SA can use PSP (#863)
-
Update tekton eventlistener portname owing to istio naming conventions (#880)
Event listener port should be called
http-listener
instead oflistener
. -
Update TLS example (#885)
-
Use system.DefaultNamespace for interceptor urls (#891)
-
Add core interceptors image to created images (#895)
Misc 🔨
-
Use a test helper for rawExtension objects in tests (#843)
-
Remove deprecated fields podTemplate and serviceType (#852)
-
Use own Status type for InterceptorResponse (#854)
-
Update CRD to apiextensions.k8s.io/v1 (#872)
-
Add @savitaashture as an OWNER 🎉 (#873)
-
Refactor flags to improve unit tests (#876)
Pass a config struct to the reconciler instead of using flags directly.
-
Fix behaviour which allows EL ports to be configured (#881)
-
Refactor sink test (#882)
-
Update service account name for TLS example (#884)
-
Add https-listener service port name (#887)
-
Improve the TriggerTemplate message (#899)
Improve the error message when parsing the results of rendering a TriggerTemplate.
-
Bump knative to release-0.20 and pipeline to v0.20.0 (#903)
This bumps the minimum supported version of kubernetes to 0.17
Docs 📖
-
Add links to versioned docs for v0.10.1 (#851)
-
Remove mention of dep in dev docs (#866)
-
Add docs for installing nightly release (#874)
-
Fixed link in EventListener secure connection docs (#905)
Link fixed in the docs for the EventListener example with secure connection.
-
Add links to versioned docs for v0.10.2 (#907)
How to upgrade from v0.10.2 :up_arrow:
kubectl apply -f https://storage.googleapis.com/tekton-releases/triggers/previous/v0.11.0/release.yaml
Note: Tekton Triggers v0.11.0 requires Kubernetes 1.17+ to run.
Thanks
Thanks to these contributors who contributed to v0.11.0!
- ❤️ @MarcelMue
- ❤️ @bigkevmcd
- ❤️ @dibyom
- ❤️ @fiunchinho
- ❤️ @khrm
- ❤️ @savitaashture
- ❤️ @shuheiktgw
- ❤️ @siamaksade
- ❤️ @sravankumar777
- 😍 @ljupchokotev
Extra shout-out for awesome release notes:
- 😍 [@MarcelMue]
- 😍 [@dibyom]
- 😍 [@khrm]
- 😍 [@savitaashture]
- 😍 [@sravankumar777]
- 😍 [@siamaksade]
- 😍 [@bigkevmcd]
- 😍 [@ljupchokotev]
Tekton Triggers v0.10.2
-Docs @ v0.10.2
-Examples @ v0.10.2
Changes
Fixes 🐛
- Merge extensions into body for webhook interceptors (#860)
Extensions added by a CEL Interceptor will be passed on to webhook interceptors by merging the extension fields into the event body under aextensions
field. See docs/eventlisteners.md##chaining-interceptors for more details.
How to upgrade from v0.10.1 :up_arrow:
kubectl apply -f https://storage.googleapis.com/tekton-releases/triggers/previous/v0.10.2/release.yaml
Thanks
Thanks to these contributors who contributed to v0.10.1!
- ❤️ @dibyom
Tekton Triggers v0.10.1
-Docs @ v0.10.1
-Examples @ v0.10.1
Features
NOTE: Please check the v0.10.0 release notes for all the new features and bug fixes
Fixes 🐛
- Fix example SA permissions (#848)
The example service account has been updated to include access to clustertriggerbindings.
How to upgrade from v0.10.0 :up_arrow:
kubectl apply -f https://storage.googleapis.com/tekton-releases/triggers/previous/v0.10.1/release.yaml
Thanks
Thanks to these contributors who contributed to v0.10.1!
- ❤️ @dibyom