metadata.attributes の publisher および version の実際の値を指定してください。これらは、Publisher/name/version 形式のエディター名とともにエディター ID を構築するために使用されます。
以下に、オプションの値も含め、サポートされている値を示します。
# Version of the devile schema
schemaVersion: 2.2.2
# Meta information of the editor
metadata:
# (MANDATORY) The editor name
# Must consist of lower case alphanumeric characters, '-' or '.'
name: editor-name
displayName: Display Name
description: Run Editor Foo on top of Eclipse Che
# (OPTIONAL) Array of tags of the current editor. The Tech-Preview tag means the option is considered experimental and is not recommended for production environments. While it can include new features and improvements, it may still contain bugs or undergo significant changes before reaching a stable version.
tags:
- Tech-Preview
# Additional attributes
attributes:
title: This is my editor
# (MANDATORY) The publisher name
publisher: publisher
# (MANDATORY) The editor version
version: version
repository: https://github.com/editor/repository/
firstPublicationDate: '2024-01-01'
iconMediatype: image/svg+xml
iconData: |
<icon-content>
# List of editor components
components:
# Name of the component
- name: che-code-injector
# Configuration of devworkspace-related container
container:
# Image of the container
image: 'quay.io/che-incubator/che-code:insiders'
# The command to run in the dockerimage component instead of the default one provided in the image
command:
- /entrypoint-init-container.sh
# (OPTIONAL) List of volumes mounts that should be mounted in this container
volumeMounts:
# The name of the mount
- name: checode
# The path of the mount
path: /checode
# (OPTIONAL) The memory limit of the container
memoryLimit: 256Mi
# (OPTIONAL) The memory request of the container
memoryRequest: 32Mi
# (OPTIONAL) The CPU limit of the container
cpuLimit: 500m
# (OPTIONAL) The CPU request of the container
cpuRequest: 30m
# Name of the component
- name: che-code-runtime-description
# (OPTIONAL) Map of implementation-dependant free-form YAML attributes
attributes:
# The component within the architecture
app.kubernetes.io/component: che-code-runtime
# The name of a higher level application this one is part of
app.kubernetes.io/part-of: che-code.eclipse.org
# Defines a container component as a "container contribution". If a flattened DevWorkspace has a container component with the merge-contribution attribute, then any container contributions are merged into that container component
controller.devfile.io/container-contribution: true
container:
# Can be a dummy image because the component is expected to be injected into workspace dev component
image: quay.io/devfile/universal-developer-image:latest
# (OPTIONAL) List of volume mounts that should be mounted in this container
volumeMounts:
# The name of the mount
- name: checode
# (OPTIONAL) The path in the component container where the volume should be mounted. If no path is defined, the default path is the is /<name>
path: /checode
# (OPTIONAL) The memory limit of the container
memoryLimit: 1024Mi
# (OPTIONAL) The memory request of the container
memoryRequest: 256Mi
# (OPTIONAL) The CPU limit of the container
cpuLimit: 500m
# (OPTIONAL) The CPU request of the container
cpuRequest: 30m
# (OPTIONAL) Environment variables used in this container
env:
- name: ENV_NAME
value: value
# Component endpoints
endpoints:
# Name of the editor
- name: che-code
# (OPTIONAL) Map of implementation-dependant string-based free-form attributes
attributes:
# Type of the endpoint. You can only set its value to main, indicating that the endpoint should be used as the mainUrl in the workspace status (i.e. it should be the URL used to access the editor in this context)
type: main
# An attribute that instructs the service to automatically redirect the unauthenticated requests for current user authentication. Setting this attribute to true has security consequences because it makes Cross-site request forgery (CSRF) attacks possible. The default value of the attribute is false.
cookiesAuthEnabled: true
# Defines an endpoint as "discoverable", meaning that a service should be created using the endpoint name (i.e. instead of generating a service name for all endpoints, this endpoint should be statically accessible)
discoverable: false
# Used to secure the endpoint with authorization on OpenShift, so that not anyone on the cluster can access the endpoint, the attribute enables authentication.
urlRewriteSupported: true
# Port number to be used within the container component
targetPort: 3100
# (OPTIONAL) Describes how the endpoint should be exposed on the network (public, internal, none)
exposure: public
# (OPTIONAL) Describes whether the endpoint should be secured and protected by some authentication process
secure: true
# (OPTIONAL) Describes the application and transport protocols of the traffic that will go through this endpoint
protocol: https
# Mandatory name that allows referencing the component from other elements
- name: checode
# (OPTIONAL) Allows specifying the definition of a volume shared by several other components. Ephemeral volumes are not stored persistently across restarts. Defaults to false
volume: {ephemeral: true}
# (OPTIONAL) Bindings of commands to events. Each command is referred-to by its name
events:
# IDs of commands that should be executed before the devworkspace start. These commands would typically be executed in an init container
preStart:
- init-container-command
# IDs of commands that should be executed after the devworkspace has completely started. In the case of Che-Code, these commands should be executed after all plugins and extensions have started, including project cloning. This means that those commands are not triggered until the user opens the IDE within the browser
postStart:
- init-che-code-command
# (OPTIONAL) Predefined, ready-to-use, devworkspace-related commands
commands:
# Mandatory identifier that allows referencing this command
- id: init-container-command
apply:
# Describes the component for the apply command
component: che-code-injector
# Mandatory identifier that allows referencing this command
- id: init-che-code-command
# CLI Command executed in an existing component container
exec:
# Describes component for the exec command
component: che-code-runtime-description
# The actual command-line string
commandLine: 'nohup /checode/entrypoint-volume.sh > /checode/entrypoint-logs.txt
2>&1 &'
# Version of the devile schemaschemaVersion: 2.2.2
# Meta information of the editormetadata:# (MANDATORY) The editor name# Must consist of lower case alphanumeric characters, '-' or '.'name: editor-name
displayName: Display Name
description: Run Editor Foo on top of Eclipse Che
# (OPTIONAL) Array of tags of the current editor. The Tech-Preview tag means the option is considered experimental and is not recommended for production environments. While it can include new features and improvements, it may still contain bugs or undergo significant changes before reaching a stable version.tags:- Tech-Preview
# Additional attributesattributes:title: This is my editor
# (MANDATORY) The publisher namepublisher: publisher
# (MANDATORY) The editor versionversion: version
repository: https://github.com/editor/repository/
firstPublicationDate:'2024-01-01'iconMediatype: image/svg+xml
iconData:|<icon-content># List of editor componentscomponents:# Name of the component-name: che-code-injector
# Configuration of devworkspace-related containercontainer:# Image of the containerimage:'quay.io/che-incubator/che-code:insiders'# The command to run in the dockerimage component instead of the default one provided in the imagecommand:- /entrypoint-init-container.sh
# (OPTIONAL) List of volumes mounts that should be mounted in this containervolumeMounts:# The name of the mount-name: checode
# The path of the mountpath: /checode
# (OPTIONAL) The memory limit of the containermemoryLimit: 256Mi
# (OPTIONAL) The memory request of the containermemoryRequest: 32Mi
# (OPTIONAL) The CPU limit of the containercpuLimit: 500m
# (OPTIONAL) The CPU request of the containercpuRequest: 30m
# Name of the component-name: che-code-runtime-description
# (OPTIONAL) Map of implementation-dependant free-form YAML attributesattributes:# The component within the architectureapp.kubernetes.io/component: che-code-runtime
# The name of a higher level application this one is part ofapp.kubernetes.io/part-of: che-code.eclipse.org
# Defines a container component as a "container contribution". If a flattened DevWorkspace has a container component with the merge-contribution attribute, then any container contributions are merged into that container componentcontroller.devfile.io/container-contribution:truecontainer:# Can be a dummy image because the component is expected to be injected into workspace dev componentimage: quay.io/devfile/universal-developer-image:latest
# (OPTIONAL) List of volume mounts that should be mounted in this containervolumeMounts:# The name of the mount-name: checode
# (OPTIONAL) The path in the component container where the volume should be mounted. If no path is defined, the default path is the is /<name>path: /checode
# (OPTIONAL) The memory limit of the containermemoryLimit: 1024Mi
# (OPTIONAL) The memory request of the containermemoryRequest: 256Mi
# (OPTIONAL) The CPU limit of the containercpuLimit: 500m
# (OPTIONAL) The CPU request of the containercpuRequest: 30m
# (OPTIONAL) Environment variables used in this containerenv:-name: ENV_NAME
value: value
# Component endpointsendpoints:# Name of the editor-name: che-code
# (OPTIONAL) Map of implementation-dependant string-based free-form attributesattributes:# Type of the endpoint. You can only set its value to main, indicating that the endpoint should be used as the mainUrl in the workspace status (i.e. it should be the URL used to access the editor in this context)type: main
# An attribute that instructs the service to automatically redirect the unauthenticated requests for current user authentication. Setting this attribute to true has security consequences because it makes Cross-site request forgery (CSRF) attacks possible. The default value of the attribute is false.cookiesAuthEnabled:true# Defines an endpoint as "discoverable", meaning that a service should be created using the endpoint name (i.e. instead of generating a service name for all endpoints, this endpoint should be statically accessible)discoverable:false# Used to secure the endpoint with authorization on OpenShift, so that not anyone on the cluster can access the endpoint, the attribute enables authentication.urlRewriteSupported:true# Port number to be used within the container componenttargetPort:3100# (OPTIONAL) Describes how the endpoint should be exposed on the network (public, internal, none)exposure: public
# (OPTIONAL) Describes whether the endpoint should be secured and protected by some authentication processsecure:true# (OPTIONAL) Describes the application and transport protocols of the traffic that will go through this endpointprotocol: https
# Mandatory name that allows referencing the component from other elements-name: checode
# (OPTIONAL) Allows specifying the definition of a volume shared by several other components. Ephemeral volumes are not stored persistently across restarts. Defaults to falsevolume:{ephemeral:true}# (OPTIONAL) Bindings of commands to events. Each command is referred-to by its nameevents:# IDs of commands that should be executed before the devworkspace start. These commands would typically be executed in an init containerpreStart:- init-container-command
# IDs of commands that should be executed after the devworkspace has completely started. In the case of Che-Code, these commands should be executed after all plugins and extensions have started, including project cloning. This means that those commands are not triggered until the user opens the IDE within the browserpostStart:- init-che-code-command
# (OPTIONAL) Predefined, ready-to-use, devworkspace-related commandscommands:# Mandatory identifier that allows referencing this command-id: init-container-command
apply:# Describes the component for the apply commandcomponent: che-code-injector
# Mandatory identifier that allows referencing this command-id: init-che-code-command
# CLI Command executed in an existing component containerexec:# Describes component for the exec commandcomponent: che-code-runtime-description
# The actual command-line stringcommandLine: 'nohup /checode/entrypoint-volume.sh > /checode/entrypoint-logs.txt
2>&1&'
Copy to ClipboardCopied!Toggle word wrapToggle overflow
OpenShift クラスター内からエディター定義を取得する場合、ダッシュボードサービス経由で OpenShift Dev Spaces ダッシュボード API にアクセスできます (http://devspaces-dashboard.openshift-devspaces.svc.cluster.local:8080/dashboard/api/editors/devfile?che-editor=<editor id>)。