Releases: tektoncd/triggers
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!
- β€οΈ @savitaashture
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:
- π@MarcelMue
- π@khrm
- π@savitaashture
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
Tekton Triggers v0.10.0
-Docs @ v0.10.0
-Examples @ v0.10.0
Changes
Features
-
Add timestamps in logs (#802):sparkles:
Add timestamp in the logs of the pipelines controller, webhook, and eventlisteners.
-
Improve the error message when URL form encoding is received (#806)
The GitHub interceptor now detects form-encoded hook requests and returns an explicit error for this case rather than the generic JSON parsing error.
-
Allow users to set resources as part of podtemplate (#815)
Now trigger allow users to specify their resource information in eventlistenerapiVersion: triggers.tekton.dev/v1alpha1 kind: EventListener metadata: name: github-listener-interceptor spec: ... resources: kubernetesResource: spec: template: spec: serviceAccountName: tekton-triggers-github-sa containers: - resources: requests: memory: "64Mi" cpu: "250m" limits: memory: "128Mi" cpu: "500m"
-
Use Listers to fetch data in the Sink(#821)
EventListener ServiceAccounts now need to have "list" and "watch" verbs in addition to "get" for all triggers resources. See examples at https://github.com/tektoncd/triggers//tree/v0.10.0//examples/role-resources/triggerbinding-roles/role.yaml and https://github.com/tektoncd/triggers/tree/v0.10.0//examples/role-resources/clustertriggerbinding-roles/clusterrole.yaml
-
Add Timeout for EventListener Server (#747)
Add Read, Write, and Idle timeout for connections to the EventListener.
-
TEP-0022: Switch to immutable input event bodies (#828)
Migrate CEL to new Interceptor Interface -
Add EventListener Selector For TriggerCRD (#773)
Added Namespace Selector field for EventListener which enables EventListener to serve across the namespace.namespaceSelector
field withmatchNames
need to be provided to enable selector.namespaceSelector: matchNames: - nsName1 - nsName2
If namespace selector is used, the service account for the EventListener will need a clusterRole. See the example at https://github.com/tektoncd/triggers/tree/v0.10.0/examples/selectors/01_rbac.yaml
- Allow secure connection to eventlistener pod (#819)
HTTPS connection to eventlistener can be configured by tweaking eventlistener configurationapiVersion: triggers.tekton.dev/v1alpha1 kind: EventListener metadata: name: github-listener-interceptor spec: ... resources: kubernetesResource: spec: template: spec: serviceAccountName: tekton-triggers-github-sa containers: - env: - name: TLS_CERT valueFrom: secretKeyRef: name: tls-key-secret key: tls.crt - name: TLS_KEY valueFrom: secretKeyRef: name: tls-key-secret key: tls.key
- Drop escaping of strings in the JSON (#823)
Change the escaping of parameters into TriggerTemplates.
Backwards incompatible changes π¨
In the current release:
-
TEP-0022: Switch to immutable input event bodies (#828)
action required: If you are using
overlays
in the CEL Interceptor, please update your bindings to use$(extensions.) instead of $ (body.)BREAKING CHANGE:
CEL overlays now add fields to a new top levelextensions
field instead of the modifying the incoming event body. TriggerBindings can access values within this newextensions
field using$(extensions.<key>)
syntax. -
Drop escaping of strings in the JSON (#823)
Previously, parameters were escaped as they were being replaced into a TriggerTemplate, by replacing double-quotes " with an escaped version ", this functionality has been removed, as it was breaking quoted strings, and in some cases, rendering the resulting output unparseable.
action required: If you were relying on the escaping, you can retain the old behaviour by adding an annotation to an affected TriggerTemplate,
triggers.tekton.dev/old-escape-quotes: "true"
Fixes π
- Don't log Fatal when handling events in the eventlistener (#810)
- Fix apiVersion for test triggerbinding (#826)
- Change the webhook name to triggers-webhook (#829)
Fix an issue that caused the webhook, under certain conditions, to fail to acquire a lease and not function correctly as a result. - Fix EL Container Arguments in Reconciler (#838)
Misc π¨
- Add multi-arch builds for triggers (#812)
- Fix GitHub and GitLab capitalization (#811)
- Update Tekton Pipeline Dependency Version to v0.18.0 (#825)
- Separate SAs for controller/webhook deployment to allow for different permission sets (#818)
- Switch webhook apiVersions to v1 (#830)
- Use zaptest logger in tests (#833)
Docs π
- Fixing broken link to pipeline repo (#814)
- Update README for trigger selector based examples (#839)
- Update tls example yaml (#834)
How to upgrade from v0.9.1 :up_arrow:
kubectl apply -f https://storage.googleapis.com/tekton-releases/triggers/previous/v0.10.0/release.yaml
Thanks
Thanks to these contributors who contributed to v0.10.0!
- β€οΈ @Alan-Cha
- β€οΈ @afrittoli
- β€οΈ @barthy1
- β€οΈ @bigkevmcd
- β€οΈ @dibyom
- β€οΈ @gabemontero
- β€οΈ @khrm
- β€οΈ @psschwei
- β€οΈ @savitaashture
- β€οΈ @yaoxiaoqi
Extra shout-out for awesome release notes:
- π [@afrittoli]
- π [@bigkevmcd]
- π [@dibyom]
- π [@khrm]
- π [@savitaashture ]
- π [@gabemontero]
Tekton Triggers v0.9.1
-Docs @ v0.9.1
-Examples @ v0.9.1
Changes
Features
NOTE: Please check the v0.9.0 release notes for all the new features and bug fixes
Fixes π
- Revert "dibyo's point about only EL sink/interceptors reading secrets" (#804)
Allow webhook to create secrets (for TLS certs)
How to upgrade from v0.9.0 :up_arrow:
kubectl apply -f https://storage.googleapis.com/tekton-releases/triggers/previous/v0.9.1/release.yaml
Thanks
Thanks to these contributors who contributed to v0.9.1!
- β€οΈ @dibyom