Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Per Sink Configuration of Input Feeds #587

Open
ricky-galvao opened this issue Apr 23, 2024 · 2 comments
Open

Support Per Sink Configuration of Input Feeds #587

ricky-galvao opened this issue Apr 23, 2024 · 2 comments

Comments

@ricky-galvao
Copy link
Contributor

It would be useful to permit the exclusion of a sink based on an incoming request's scope which could be defined by vendor, namespace, and version used in schema configuration. The current implementation will attempt to forward payload from requests to all configured sinks with deliveryRequired enabled. I propose a modification that would permit a list of exclusions for the sink.

Configuration in the config.yml for a sink would become something along the lines of:

sinks:
- name: sink1
   type: kinesis-firehose
   deliveryRequired: true
   defaultOuput: firehose_dest
   deadletterOutput: firehose_deadletter
   exclude:
     - vendor: vendor1
        namespace: 
          - namespace1
          - namespace2
        version:
          - v1.0
          - v1.1

An inclusion approach might also be appropriate. If include is not defined then make the sink applicable to all inputs (so as not to break current implementations), but if defined then only apply to specified filter.

@jakthom
Copy link
Contributor

jakthom commented Apr 26, 2024

Ohh I very much agree! Sink-specific payload filtering would be awesome. Let's dig into this...

@jakthom
Copy link
Contributor

jakthom commented Sep 29, 2024

@ricky-galvao what do you think about using https://github.com/timbray/quamina for pattern matching? It's built to handle massive volume, from Tim Bray (the guy who implemented EventBridge pattern matching at AWS).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants