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]