A plug-in registry is a simple service that hosts information (metadata) about the plug-ins.
To retrieve a full list of plug-ins hosted in a registry, navigate to the following address: <registry-base-uri>/plugins/index.json.
Each plug-in item in the list is represented by a JSON definition:
{
"id": "che-dummy-plugin",
"version": "0.0.1",
"type": "Che Plugin",
"name": "Che Samples Hello World Plugin",
"description": "A hello world theia plug-in wrapped into a Che Plug-in",
"links": {
"self": "/plugins/che-dummy-plugin/0.0.1/meta.yaml" (1)
}
| 1 | Points to a more complete plug-in description (meta.yaml). |
meta.yaml fileid: che-dummy-plugin
version: 0.0.1
type: Che Plugin
name: Che Samples Hello World Plugin
title: Che Samples Hello World Plugin
description: A hello world theia plug-in wrapped into a Che Plug-in
icon: https://www.eclipse.org/che/images/logo-eclipseche.svg
url: https://github.com/ws-skeleton/che-dummy-plugin/releases/download/untagged-8f3e198285a2f3b6b2db/che-dummy-plugin.tar.gz (1)
| 1 | Points to the plug-in configuration. Typically, it is a TAR archive with the plug-in YAML file. It is also possible to have a link to the raw content of a plug-in YAML file. |
For a VS Code extension, the url field is replaced with an attributes section.
attributes section of meta.yamlattributes:
extension: "vscode:extension/extension.id" (1)
container-image: "my.docker.registry/remote-theia:tag" (2)
| 1 | VS Code extension ID with a vscode:extension/ prefix |
| 2 | Points to a container image in which the extension runs. Note that the image should contain an appropriate Node.js version with installed dependencies for Che-Theia remote plug-ins. |
For more details about the meta.yaml structure, see [che-theia-plug-in-metadata_what-is-a-che-theia-plug-in].
Official plug-in registry
The official Che plug-in registry is at che-plugin-registry.openshift.io. By default, the Che dashboard shows editors and plug-ins from this registry.
The source is located at link: github.com/eclipse/che-plugin-registry.
Custom plug-in registries
For more information about setting up a custom registry, see the description of the official registry repository.
There are two ways of using plug-ins from a custom registry:
-
Specify a link to the plug-in in the configuration of a workspace. See Adding a plug-in into a workspace via configuration.
-
Replace the default official registry with a custom one in your Che instance. To do that, set the
PLUGIN_REGISTRY_IMAGEenvironment variable in your Che configuration. Note that plug-ins from the official registry are not available from the dashboard interface. To include them, add references into your registry from the official registry.