Skip to content

Tekton Triggers v0.13.0

Compare
Choose a tag to compare
@tekton-robot tekton-robot released this 14 Apr 18:54

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

  1. As of this release, the Triggers release will contain two YAML files. release.yaml contains the core release artifacts while interceptors.yaml contain the 4 core interceptors (GitHub, GitLab, BitBucket, and CEL).

  2. 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
    a params 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 and params 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 and TriggerBindings (#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!

Extra shout-out for awesome release notes:

To Be Done: Deprecation Notices, Backward Incompatible Changes