eventing: [Experimental] Enhanced Trigger filters via adopting CloudEvent Subscriptions API

Description

Trigger Filter API should conform to the CNCF CouldEvents Subscriptions API in order to support more complex predicates, the newly born CloudEvents Expression Language and any additional custom language/predicate vendors wants to include in their offerings.

Feature Track

https://hackmd.io/@devguyio/H1Mg3my2d

Why

  1. Provide a more flexible Trigger API that provides a better UX for Knative users and better suits users production needs.
  2. Used as a first step towards evaluating the possibility of standardizing our API shape to the CloudEvents Subscriptions API.

Exit Criteria

Trigger filter supports the filters API field defined in the Subscriptions API.

Deciding on the Future of The Experimental Feature

The User Experience WG would significantly help by conducting user feedback surveys and gather feedback from Knative users, PMs and vendors to decide on the future of this feature.

Experimental feature stages plan

Below the proposed plan for the feature stages (this list implicitly includes the requirements defined in the process)

  • Alpha:
    • Implement in the API code the required changes to conform to the Subscription API https://github.com/knative/eventing/pull/5205
    • Implement in mtbroker the new filter predicates + vendorable e2e tests, to let downstream implementations test it
    • User documentation
  • Beta graduation as soon as 1 release after the inception
  • Beta:
    • Implementation improvements, possibly leveraging and expanding eventfilter module benchmarks
    • User documentation stabilization and improvements
    • More e2e tests
    • Add conformance tests
  • Stable graduation as as soon as the CNCF Subscription spec is released as a stable version
  • Stable:

Affected WG

  • Eventing WG

Prior discussions

About this issue

  • Original URL
  • State: open
  • Created 3 years ago
  • Reactions: 5
  • Comments: 18 (15 by maintainers)

Most upvoted comments

obviously I think this is great! 😃 Nice write-up!

Some updates

  • Updated the description of the issue.
  • Created a new Feature Track (link above).

@omerbensaadon @csantanapr would be great to give your feedback specially with the suggested involvement of the UX WG.

@vaikas @lionelvillard @n3wscott @matzew @slinkydeveloper PTAL as tech WG leads.

@lberk I’m waiting for the experimental features proposal to be accepted to refactor this issue and move forward with the process