-Docs @ v0.9.0
-Examples @ v0.9.0
Changes
Features
-
Enhance existing eventlistener to support PodTemplate for Deployment using duck type (#734) ✨
A new field
resources
has been introduced as part of EventListener specapiVersion: triggers.tekton.dev/v1alpha1 kind: EventListener metadata: name: github-listener-interceptor spec: triggers: ... resources: kubernetesResource: serviceType: NodePort spec: template: metadata: labels: key: "value" annotations: key: "value" spec: serviceAccountName: tekton-triggers-github-sa nodeSelector: app: test tolerations: - key: key value: value operator: Equal effect: NoSchedule
As of now the
resources
field supportskubernetesResource
which helps us use PodSpecable ducktype. For backward compatibility both ways are supported andresources
are optional. -
cel-go with string upper and lower-casing. (#766)
Updated version of cel-go with new functionality for upper and lower-casing ASCII strings. e.g.
body.upperMsg.lowerAscii()
-
Adds support for name/value embedded Bindings (#768)
TriggerBindings can now be embedded by using just name/value fields inside a Trigger or a EventListener.
BREAKING CHANGE: With this change, users cannot specify both
name
andref
for a single binding. Useref
to refer to a TriggerBinding resource and
name
for embedded bindings.# NEW SYNTAX: bindings: - ref: some-name - name: commit_id # embedded binding value: "$(body.head_commit_id)" # OLD SYNTAX: bindings: - name: some-name spec: params: - name: commit_id # embedded binding value: "$(body.head_commit_id)
-
PodSecurityPolicy Config fixes to allow runnning in restricted envs (#707)
The PodSecurityPolicy configuration was updated so that container must run as non-root, and the RBAC for utilizing the PSP was moved from cluster scoped to namespace scoped to better ensure triggers can not utilize other PSPs unrelated to this project
-
Add support for embedded trigger templates (#783)
Users can now specify embed a TriggerTemplate spec inside a Trigger.
-
Use template.ref instead of template.name (#787)
Use template.ref to refer to trigger templates in a Trigger instead of template.name. The name field is deprecated and will be removed in a future release.
-
Enhance validation code for triggers (#785)
Triggers validation now reports all the error at once with more detailed information.
Deprecation Notices 🚨
-
Use template.ref instead of template.name (#787)
The template.name field is deprecated (in favor of template.ref) and will be removed in a future release.
-
Adds support for name/value embedded Bindings (#768)
The old syntax for embedded TriggerBindings (using
spec.params
) is deprecated. Use the newname
/value
fields instead:
Backwards incompatible changes 🚨
In current release:
-
Bump Knative/K8s dependencies. (#784)
action required: Users of the generated clients will need to conform to the K8s 1.18 style breaking changes (namely passing context.Context to all calls)
-
Adds support for name/value embedded Bindings (#768)
BREAKING CHANGE: users cannot specify both
name
andref
for a single binding. Useref
to refer to a TriggerBinding resource andname
for embedded bindings. -
remove interceptor cross namespace secret references (#748)
BREAKING CHANGE: any interceptors that attempt to reference a Secret outside of the EventListener's namespace will have to change to have those Secrets reside in the EventListener's namespace.
-
Apply triggertemplate param default value if triggerbinding param missing from body/header (#761)
Triggers now applies the default value of a trigger template param if it's value cannot be resolved from a TriggerBinding. This is a BREAKING CHANGE. Previously, Triggers would throw an error saying that the binding value could not be resolved (See #568)
Fixes 🐛
-
Apply triggertemplate param default value if triggerbinding param missing from body/header (#761)
Triggers now applies the default value of a trigger template param if it's value cannot be resolved from a TriggerBinding. This is a BREAKING CHANGE. Previously, Triggers would throw an error saying that the binding value could not be resolved (See #568)
-
Set runAsUser uid for nonroot distroless image (#789)
Fix inconsistent uid for the controller and webhook deployment, resulting in failure of installing tekton pipeline on minikube (and other platforms.)
-
Fix Binding test builder to only use ref (#769)
-
remove interceptor cross namespace secret references (#748)
BREAKING CHANGE: any interceptors that attempt to reference a Secret outside of the EventListener's namespace will have to change to have those Secrets reside in the EventListener's namespace.
-
Add Clusterrole Aggregate View and Edit for Trigger CRD (#790)
-
Remove explicit pinning of golang version (#794)
-
Fix TestTrigger_Error using deterministic inputs (#798)
Misc 🔨
-
Add release links to versioned docs for v0.8.1 (#756)
-
Refactor to not use logger from pipeline (#760)
-
Use refs instead of name to refer to Bindings (#757)
-
Un-indent release note blocks in PR template (#763)
-
Cleanup exported methods which are used in the same package (#764)
-
Add the pod resource to the test controller (#780)
-
Update submitter checklist to have release notes block (#786)
-
Bump pipeline version to v0.16.3 (#767)
-
Bump Knative/K8s dependencies. (#784)
action required: Users of the generated clients will need to conform to the K8s 1.18 style breaking changes (namely passing context.Context to all calls)
Docs 📖
- Update README.md to fix outdated kubectl command (#770)
How to upgrade from v0.8.1 :up_arrow:
kubectl apply -f https://storage.googleapis.com/tekton-releases/triggers/previous/v0.9.0/release.yaml
Thanks
Thanks to these contributors who contributed to v0.9.0!
- ❤️ @T0MASD
- ❤️ @bigkevmcd
- ❤️ @bobcatfish
- ❤️ @dibyom
- ❤️ @gabemontero
- ❤️ @khrm
- ❤️ @mattmoor
- ❤️ @piyush-garg
- ❤️ @savitaashture