You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
? №1 We don't want to get copies of vsxInstaller and injectRemoteILauncher but the model does not allow to define merging the same components. So, maybe it should be implementation-specific for plugin component - if a different component brings the component with the same name - we try to merge them. Everything except VSX_LIST should be the same.
It may be a bit simpler in terms on interface declaration if we define different env vars in different plugins, like VSX_JAVA_8, VSX_JAVA_DEBUG, ... Otherwise we should hardcode that only VSX_LIST should be merged with appending.
? №2 empty dir volumes are not implemented yet devfile/api#189
Then plugin definition:
schemaVersion: 2.0.0metadata:
publisher: redhatname: java8version: latestdisplayName: Language Support for Java 8title: Language Support for Java(TM) by ...description: Java Linting, Intellisense ...icon: https://.../logo-eclipseche.svgrepository: https://github.../vscode-javacategory: LanguagefirstPublicationDate: "2020-02-20"pluginType: che-theia-vsxparent:
id: redhat/theia-vsx-template/latestcomponents:
- name: vsx-installercontainer:
env:
- name: VSX_LISTvalue: java-dbg.vsix,java.vsixcomponents:
- name: vscode-javacontainer:
image: ...che-sidecar-javamemoryLimit: "1500Mi"volumeMounts:
- path: "/home/theia/.m2"name: m2
- name: m2volume: {}
Is your task related to a problem? Please describe.
To support the new plugins model, it's needed to implement apply of container component on preStart events.
Then we'll be able to describe plugins like the following (it's adapted samples from https://github.com/devfile/api/tree/master/samples):
Base vsx plugin template
? №1 We don't want to get copies of
vsxInstaller
andinjectRemoteILauncher
but the model does not allow to define merging the same components. So, maybe it should be implementation-specific for plugin component - if a different component brings the component with the same name - we try to merge them. Everything except VSX_LIST should be the same.It may be a bit simpler in terms on interface declaration if we define different env vars in different plugins, like
VSX_JAVA_8
,VSX_JAVA_DEBUG
, ... Otherwise we should hardcode that onlyVSX_LIST
should be merged with appending.? №2 empty dir volumes are not implemented yet devfile/api#189
Then plugin definition:
? №3 # plugin sidercar has entrypoint with env var stub that should be injected from remote injector. See https://github.com/che-dockerfiles/che-sidecar-java/blob/master/Dockerfile#L32
Currently che-plugin-broker encapsulates this logic and apply configuration if the plugin is theia or vscode: https://github.com/eclipse/che-plugin-broker/blob/40cdcfb0e54ef1bf170690045802cc6710c33dfc/brokers/metadata/broker.go#L134
In Devfile 2.0 there is an issue to provide env var to all containers devfile/api#149
But what with remoteInjector emptyDir volumes? Should we contribute it to every container as well? Or maybe producing duplicates but more consistent - plugin container should define
remote-endpoint
volumeMount.Then Devfile is just
The text was updated successfully, but these errors were encountered: