🎉 Tekton Triggers release v0.16.0 🎉
-Docs @ v0.16.0
-Examples @ v0.16.0
Installation one-liner
kubectl apply -f https://storage.googleapis.com/tekton-releases/triggers/previous/v0.16.0/release.yaml
kubectl apply -f https://storage.googleapis.com/tekton-releases/triggers/previous/v0.16.0/interceptors.yaml
Upgrade Notices
Release supports v1beta1
API version and contains a few backwards incompatible changes. Please check the Backwards Incompatible Changes section before upgrading.
To upgrade from v0.15.2
kubectl apply -f https://storage.googleapis.com/tekton-releases/triggers/previous/v0.16.0/release.yaml
kubectl apply -f https://storage.googleapis.com/tekton-releases/triggers/previous/v0.16.0/interceptors.yaml
Changes
Features
-
✨ Port FeatureGates to Triggers (#1110)
Now Triggers support FeatureGates feature:- It introduces a feature-flags ConfigMap to configure feature flags.
- It adds an enable-api-fields feature flag to control that can be set to alpha or stable (default).
- It adds a test helper called requireGate to allow an integration test to be skipped if enable-api-fields is not "alpha".
-
✨ Packages ClusterRoles with Triggers deployment for eventlistener (#1158)
Triggers packages 2 clusterroles for eventlisteners which can be used by users for their eventlistener deployment which will provide eventlistener required access in a particular namespace.
user will have to create following resources- a serviceaccount which would be used with eventlistener
- a rolebinding with above sa and
tekton-triggers-eventlistener-roles
clusterrole - a clusterrolebinding with above sa and
tekton-triggers-eventlistener-clusterroles
clusterrole
-
✨ Add Event Count for EventListener Metrics (#1160)
Added a new metrics called event_count for events received at EventListener Sink -
✨ Add probes to custom resources(Knative Service) (#1171)
- Add Readiness and Liveness Probes for Knative service
- EventListener pod runs on 8080 instead of 8000 port
-
✨ Mark webhook and controller as safe-to-evict (#1179)
The safe-to-evict annotation tells the cluster autoscaler whether the pod can be evicted to allow the node it's on to scale down.Unfortunately, blocking node eviction means the node that the pod(s) get scheduled to can't be scaled down. Furthermore, the nodes can't be fully drained when updating the cluster. This can leave a cluster in a mid-upgrade state that can make issues difficult to diagnose and reason about.
With this change, a cluster scale-down event might cause temporary service unreliability with the default single-replica configuration.
By default, controller components are now marked as safe-to-evict by the cluster autoscaler.
-
✨ Add config-defaults configmap to set default values (#1182)
Triggers now support config-defaults configmap to set default values and as of now serviceAccountName added to config-defaults. -
✨ Add Status Tag to Event Count Metrics (#1188)
EventListener metricsevent_count
status which can determine whether received event failed before processing. -
✨ Adds annotation to disable payload validation in eventlistener (#1189)
This adds an annotation support tekton.dev/payload-validation for eventlistener. If it is added to el with value as false then the payload from events will not be validated and will be directly passed to interceptors.
By default the payload validation is enabled. Only if annotation is defined and its value is false then it will be disabled for that particular el.
User can define an annotation on eventlistener tekton.dev/payload-validation: "false" to disable the payload validation in that event listener. -
✨ Add Metrics Port to EventListener service (#1191)
Metrics port in service is needed by metering serices like prometheus servicemonitor. It's already there for controller and webhook but not EventListener which is created.
Service Port for EventListener is accessible as http-metrics.
Backwards incompatible changes
In current release:
- 🚨 Remove Redundant Status Tag from EventListener Metrics (#1166)
Breaking Change:
Status label has been removed from metric eventlistener_http_duration_seconds_*. Please remove querying base on status label.
Fixes
- 🐛 Fix a type error (#1165)
- 🐛 Patch vendor/ apimachinery to work on 1.22 (#1197)
Backport adding Subresource field to ManagedField entries in ourvendor/
folder to make tektoncd/pipeline work on k8s 1.22. - 🐛 Return the correct error (#1200)
- 🐛 Leverage
network.GetServiceHostname
(#1202)
Misc
- 🔨 Adds curl test in e2e tests for examples (#1155)
- 🔨 Add links to versioned docs for v0.15.0 & v0.14.2 (#1157)
- 🔨 Add SetSecuritycontext for EventListener in Controller.yaml (#1175)
SetSecuritycontext for EventListener in controller deployment can be configured now. - 🔨 Fix typo in release cheatsheet (#1190)
- 🔨 Bump tektoncd/pipeline to v0.27.1 (#1196)
- 🔨 Take advantage of knative helpers. (#1199)
- 🔨 Use
kmeta.UnionMaps
helper (#1201) - 🔨 Move off of deprecated
sharedmain
methods (#1203) - 🔨 Simplify helper method signatures, leverage
ctx
(#1204) - 🔨 Refactor the way Triggers creates child resources to follow Knative conventions (#1205)
- 🔨 Next pass refactoring EventListener reconciler towards best-practices. (#1206)
EventListener is more aggressive about reconciling its child resources, so changes to their spec should be done through the EventListener object itself. Autoscaling of the EventListener Deployment is allowed ifreplicas:
is omitted. - 🔨 Raise the resync period to something more reasonable. (#1208)
- 🔨 Renames examples rolebinding & clusterrolebinding (#1210)
Docs
- 📖 Update docs for clusterroles packaged for eventlistener (#1163)
- 📖 Update Trigger Flow image and add it to the docs. (#1167)
- 📖 Fix formatting of md so list display in HTML (#1186)
- 📖 Update readme with proper servicename (#1193)
- 📖 Updates docs for payload validation annotation (#1194)
Thanks
Thanks to these contributors who contributed to v0.16.0!
- ❤️ @MarcusNoble
- ❤️ @dibyom
- ❤️ @khrm
- ❤️ @mattmoor
- ❤️ @piyush-garg
- ❤️ @savitaashture
- ❤️ @sm43
- ❤️ @xauthulei
Extra shout-out for awesome release notes:
- 😍 @dibyom
- 😍 @khrm
- 😍 @mattmoor
- 😍 @piyush-garg
- 😍 @savitaashture
- 😍 @sm43