Skip to content

Tekton Triggers v0.9.0

Compare
Choose a tag to compare
@tekton-robot tekton-robot released this 15 Oct 03:30

-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 spec

    apiVersion: 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 supports kubernetesResource which helps us use PodSpecable ducktype. For backward compatibility both ways are supported and resources 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 and ref
    for a single binding. Use ref 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 new name/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 and ref for a single binding. Use ref to refer to a TriggerBinding resource and name 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!