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

[PROPOSAL] relax release coupling between plugins and opensearch / opensearch dashboards #122

Open
rursprung opened this issue Jan 5, 2022 · 1 comment
Labels

Comments

@rursprung
Copy link
Contributor

What kind of business use case are you trying to solve? What are your requirements?

plugin releases should only be needed when something in the plugin changes.
benefits:

  • plugin maintainers don't need to create a release every time opensearch / opensearch dashboards has a new release
  • updating opensearch / opensearch dashboards can be done without waiting for all plugins to create new releases (esp. important in case of security updates)
  • updating opensearch / opensearch dashboards without updating the plugins also means that you don't have to pull in potentially untested plugin features (e.g. because a new plugin version has been released which includes both the compatibility with the new opensearch version as well as some other features)
  • new plugin features can be used on older opensearch releases if these plugin features do not require newer opensearch versions

here's an example for the update orgy which followed the last few opensearch (security) releases: https://discuss.opendistrocommunity.dev/t/plugins-for-opensearch/7758

What is the problem? What is preventing you from meeting the requirements?
every time there's a release of opensearch / opensearch dashboards all plugins have to update to the new version and have a new release of their own.

What are you proposing? What do you suggest we do to solve the problem or improve the existing situation?
since opensearch now strictly follows semantic versioning, plugins could just specify their compatibility with opensearch based on semver. that way, they can just say "i'm compatible with opensearch >= 1.1.0" and that'd mean that they'd be compatible with all opensearch 1.x versions >= 1.1.0.

this could even be taken one step further for new major releases where plugins could potentially say that they're compatible with both (e.g. "compatible with opensearch >= 1.1.0, opensearch >= 2").

with that, the versioning of the plugins should then also be disentangled from opensearch and they should follow proper semver on thier own.

note that this isn't just about plugins bundled with opensearch, this is about all plugins, also from 3rd parties.

What are your assumptions or prerequisites?
the assumption is that the hard dependency coupling between opensearch & the plugins comes from the elasticsearch times which wasn't using semver, meaning any release was a breaking release.

What are remaining open questions?
n/a

@dblock
Copy link
Member

dblock commented Jan 5, 2022

Related: opensearch-project/OpenSearch#1707

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

No branches or pull requests

2 participants