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

Spike - Plugin API versioning #7987

Open
jflo opened this issue Dec 4, 2024 · 0 comments
Open

Spike - Plugin API versioning #7987

jflo opened this issue Dec 4, 2024 · 0 comments
Labels
plugins techdebt maintenance, cleanup, refactoring, documentation

Comments

@jflo
Copy link
Contributor

jflo commented Dec 4, 2024

As our plugin ecosystem gets richer and more sophisticated, we are going to need to be able to accommodate varying degrees of plugin compatibility.

Plugin architectures implemented in Java should be a well understood problem, and there is likely lots of prior-art on the subject. We should collect the top 2-3 most common approaches, and review them for compatibility with our needs.

Time box this to about 24 hours.

Judgement criteria:

  • anti-fragility; avoid breaking besu, as well as past plugins.
  • maleability; how best to maximize decoupling to avoid placing restrictions on the rest of the besu codebase
  • UX: what patterns allow plugin developers to easily implement configurability, observability and ease of documentation.
  • upgradeability; when anti-fragility cannot be met, what upgrade paths can be provided with the lowest friction to plugin devs.
@jflo jflo added plugins techdebt maintenance, cleanup, refactoring, documentation labels Dec 4, 2024
@jflo jflo modified the milestone: Besu 25.1 Dec 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
plugins techdebt maintenance, cleanup, refactoring, documentation
Projects
None yet
Development

No branches or pull requests

1 participant