-
Notifications
You must be signed in to change notification settings - Fork 64
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
Better plugin mechanism #31
Comments
A couple of questions that have emerged during today discussion:
|
We have reviewed and approved this spec today. |
question: I assume |
@maxandersen yes that would be possible. But I would not recommend it. That makes dev workspaces not repeatable. It would work on your machine but not on mine. |
it would work fine on yours if you have a copy of the devfiles in lets say a git repo. Also makes it easier to develop and do experiments when writing devfile to not have absolute paths as you can do it locally or just move it to some other directory/server if need be. |
that's right @maxandersen, that's an interesting use case we didn't thought about. |
…chema (#41) * Use the new plugin proposal to define Spring boot example * Implement agreed-on plugin mechanism and update the parent override mechanism to use a common strategic merge patch approach * Update CRDs * Further cleanup the schema files that are derived from the CRD Openapi schema, and upgrade the operator-sdk used for CRD generation to 0.17.0 * Add `oneOf` elements in the json schema for unions * Update devfile and devworkspace samples Signed-off-by: David Festal <dfestal@redhat.com>
Implemented |
We want to replace
chePlugin
andcheEditor
with a newplugin
component type that:meta.yaml
, a devfile-like format)odo
or even desktop IDEsUse cases
These are the use cases of devfile plugins (basically Che use cases):
Proposal
Spec Details
chePlugin
is replaced by non Che specificplugin
cheEditor
is aplugin
withpluginType: che-editor
)pluginType
metadata that allow tools to figure out if they supported the plugin or not. The list of supported types are che-theia-vsx/che-editor/che-theia-plugin/che-theia-extension/generic-service/generic-ui.Plugin Registry vs Devfile registry
Plugins are devfile too now. Hence we should rename the devfile registry as stack registry.
As a consequence there will be 2 registries (as before) but name differently:
Alternatives (rejected for Devfile 2.0.0)
We do not need plugins because we have parents
We may consider to eliminate the plugin concept from the devfile and instead use devfile composition (a.k.a. parents).
registry/uri/kubernetes as different plugins types
For consistency with the Kubernete API spec we may want to use polymorfic plugin type (as we do for components):
instead of
using parameters in parents
Instead of the simple customisation of a plugin seen above (a la kustomize) we may use parameters to customize some some attributes of a plugin:
instead of
The text was updated successfully, but these errors were encountered: