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

Ability to add a plugin via URL, that is not in a plugin registry #15709

Closed
tomgeorge opened this issue Jan 15, 2020 · 4 comments
Closed

Ability to add a plugin via URL, that is not in a plugin registry #15709

tomgeorge opened this issue Jan 15, 2020 · 4 comments
Assignees
Labels
area/plugin-broker area/plugins kind/enhancement A feature request - must adhere to the feature request template. severity/P1 Has a major impact to usage or development of the system.
Milestone

Comments

@tomgeorge
Copy link
Contributor

tomgeorge commented Jan 15, 2020

Is your enhancement related to a problem? Please describe.

In hosted che, we would like to add a set of default plugins without including them in the che-plugin-registry. Instead, we would like to configure che server with a list of URLs to plugin meta.yaml files.

Describe the solution you'd like

We would like to edit the CHE_WORKSPACE_DEVFILE_DEFAULT__EDITOR_PLUGINS environment variable in che server, referencing plugin URLs instead of name/publisher/version coordinates.

Likely the plugin broker and plugin resolution code in Che would need to change.

Describe alternatives you've considered

Additional context

This would enable redhat-developer/rh-che#1750

@tomgeorge tomgeorge added the kind/enhancement A feature request - must adhere to the feature request template. label Jan 15, 2020
@che-bot che-bot added the status/need-triage An issue that needs to be prioritized by the curator responsible for the triage. See https://github. label Jan 15, 2020
@ibuziuk ibuziuk added this to the 7.8.0 milestone Jan 15, 2020
@ibuziuk ibuziuk added team/hosted-che severity/P1 Has a major impact to usage or development of the system. and removed status/need-triage An issue that needs to be prioritized by the curator responsible for the triage. See https://github. labels Jan 15, 2020
@ibuziuk
Copy link
Member

ibuziuk commented Jan 15, 2020

@amisevsk do you see any impediments for having this in place on the plugin-broker end ?

@amisevsk
Copy link
Contributor

The plugin broker always takes in plugin FQNs -- the value in CHE_WORKSPACE_DEVFILE_DEFAULT__EDITOR_PLUGINS is parsed in DefaultEditorProvisioner to a map, e.g.:

{
  "eclipse/che-machine-exec": "eclipse/che-machine-exec/7.7.0",
}

As a result, there are no issues on the plugin broker side implementing this, provided the plugins are parsed correctly.

However, on the Che side, we depend on being able to discover the publisher/name for each default plugin, so that they can be overridden. For example, if your workspace defines eclipse/che-machine-exec/7.6.0 and the default is 7.7.0, we need to be able to match eclipse/che-machine-exec to avoid provisioning both 7.6.0 and 7.7.0 -- it's not clear how this would work when the plugin is defined as a URL reference. If that problem is solved, then it should be dead simple to get provisioning to work, as the same machinery for turning

components:
  - type: chePlugin
    reference: https://my-url.io

into a plugin FQN is already used.

@amisevsk
Copy link
Contributor

Something like master...amisevsk:default-plugin-reference should be sufficient to do this, though I haven't tested it.

@ibuziuk
Copy link
Member

ibuziuk commented Jan 29, 2020

PR #15757 merged. Closing

@ibuziuk ibuziuk closed this as completed Jan 29, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/plugin-broker area/plugins kind/enhancement A feature request - must adhere to the feature request template. severity/P1 Has a major impact to usage or development of the system.
Projects
None yet
Development

No branches or pull requests

6 participants