Skip to content

Tekton Triggers release v0.16.0

Compare
Choose a tag to compare
@tekton-robot tekton-robot released this 01 Sep 10:37

πŸŽ‰ 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 metrics event_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 our vendor/ 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 if replicas: 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!

Extra shout-out for awesome release notes: