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
- Provide a more flexible Trigger API that provides a better UX for Knative users and better suits users production needs.
- 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:
- Add the requirement to support CNCF subscription filters to the knative/specs repo: https://github.com/cloudevents/spec/pull/803
Affected WG
- Eventing WG
Prior discussions
- https://github.com/knative/eventing/issues/3359
- https://github.com/knative/eventing/pull/3771
- https://github.com/knative/eventing/issues/3819
- https://github.com/knative/eventing/issues/930
- https://github.com/knative/eventing/pull/4529
- https://docs.google.com/document/d/1H8WNW2gntwXSv9k2DrA6aS6STRQv_HRq2pdayo334F8/edit?usp=sharing
About this issue
- Original URL
- State: open
- Created 3 years ago
- Reactions: 5
- Comments: 18 (15 by maintainers)
obviously I think this is great! š Nice write-up!
Some updates
@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