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

[FEA]: Add support for multiple source/sink pairs #20

Open
6 tasks
drobison00 opened this issue Aug 29, 2024 · 0 comments
Open
6 tasks

[FEA]: Add support for multiple source/sink pairs #20

drobison00 opened this issue Aug 29, 2024 · 0 comments
Labels
feature request New feature or request

Comments

@drobison00
Copy link
Collaborator

drobison00 commented Aug 29, 2024

Is this a new feature, an improvement, or a change to existing functionality?

Improvement

How would you describe the priority of this feature request

Significant improvement

Task Description

This feature will allow us to support multiple ingress message brokers, or alternative data sources, which will need to be paired with an appropriate sink type to handle the message results.

Acceptance Criteria

  • Configuration

    • Add support to pipeline.py for specifying some number of input source / output sink pairs
    • Allow specification of any required configuration parameters
  • Implementation

    • Create pydantic schema validators for all input source/sink configurations
    • Update JobSpec schemas so that they support a new tag indicating which sink they should be routed to
    • Add appropriate lookup mechanisms for mapping source/sink specifications to stage/module constructors and appropriate error handling
    • Add functional tests the verify routing behavior

Describe the feature, and optionally a solution or implementation and any alternatives

This issue currently depends on the availability of router nodes in Morpheus.

graph LR;
    %% Input Sources
    A[Redis] --> B(Central Pipeline)
    C[Kafka] --> B(Central Pipeline)
    D[RabbitMQ] --> B(Central Pipeline)
    H[File System] --> B(Central Pipeline)

    %% Output Sinks
    B(Central Pipeline) --> E[Redis Sink]
    B(Central Pipeline) --> F[Kafka Sink]
    B(Central Pipeline) --> G[RabbitMQ Sink]
    B(Central Pipeline) --> I[File System Sink]
Loading
@drobison00 drobison00 added the feature request New feature or request label Aug 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant