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

Streaming Plugins #1325

Closed
3 tasks done
ch1bo opened this issue Feb 26, 2024 · 4 comments · Fixed by #1351
Closed
3 tasks done

Streaming Plugins #1325

ch1bo opened this issue Feb 26, 2024 · 4 comments · Fixed by #1351
Labels
documentation 📖 Documentation changes 💬 feature A feature on our roadmap
Milestone

Comments

@ch1bo
Copy link
Collaborator

ch1bo commented Feb 26, 2024

Why

SundaeLabs has submitted a Catalyst Proposal to extend the hydra-node APIs by "streaming plugins".

As also described int he proposal, there is a need for a customizable and flexible mechanism to log, analyze, and react to the event and transaction flow in a Hydra node. While the existing websocket-based API could be used for some cases, it does not fit all requirements when integrating a Hydra node into a production system.

The goal of the proposal and this matching feature is to take a first step into the direction of configurable streaming API(s) and extension points.

What

  • The hydra-node must use by default the same existing file-based, JSON encoded persistence mechanism = non-breaking change
  • Refactor the hydra-node to provide designated extension points to how events are consumed and where the same events are sourced from
  • No runtime configuration of which plugins / extensions to use
  • Selecting a different set of plugins / extensions requires recompilation of the hydra-node
  • Extension points are documented as such and tests ensure no accidental breaking changes on the interfaces

How

@ch1bo ch1bo added the 💬 feature A feature on our roadmap label Feb 26, 2024
@ch1bo ch1bo added this to the 0.16.0 milestone Feb 26, 2024
@ch1bo ch1bo self-assigned this Feb 26, 2024
@ch1bo
Copy link
Collaborator Author

ch1bo commented Feb 26, 2024

@Quantumplation @cardenaso11 Created this item to capture SundaeLab's work on this.

@ch1bo ch1bo added the external Item by non-core contributors label Mar 5, 2024
@ch1bo ch1bo removed their assignment Mar 11, 2024
@ch1bo ch1bo linked a pull request Mar 13, 2024 that will close this issue
4 tasks
@ch1bo
Copy link
Collaborator Author

ch1bo commented Mar 13, 2024

@cardenaso11 can you please contribute the UDP or another example to complete this besides merging #1351 ?

@ch1bo ch1bo linked a pull request Mar 13, 2024 that will close this issue
4 tasks
@ch1bo ch1bo removed this from the 0.16.0 milestone Mar 18, 2024
@ch1bo ch1bo linked a pull request Mar 18, 2024 that will close this issue
4 tasks
@ch1bo ch1bo added this to the 0.16.0 milestone Mar 22, 2024
@ch1bo ch1bo added documentation 📖 Documentation changes and removed external Item by non-core contributors labels May 3, 2024
@ffakenz
Copy link
Contributor

ffakenz commented May 3, 2024

Example on "How to extend the hydra-node"

extend-hydra-node-sinks.md

Applied at fork: https://github.com/ffakenz/hydra/tree/udp-sink

@ffakenz
Copy link
Contributor

ffakenz commented May 17, 2024

closed by #1413

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation 📖 Documentation changes 💬 feature A feature on our roadmap
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants