Schema URL

Type: object

Devfile describes the structure of a cloud-native workspace and development environment.

Properties

schemaVersion string required

Devfile schema version

pattern=^([2-9])\.([0-9]+)\.([0-9]+)(\-[0-9a-z-]+(\.[0-9a-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
commands object[]

Predefined, ready-to-use, workspace-related commands

components object[]

List of the workspace components, such as editor and plugins, user-provided containers, or other types of components

events object

Bindings of commands to events. Each command is referred-to by its name.

4 nested properties
postStart string[]

IDs of commands that should be executed after the workspace is completely started. In the case of Che-Theia, 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 in his browser.

postStop string[]

IDs of commands that should be executed after stopping the workspace.

preStart string[]

IDs of commands that should be executed before the workspace start. Kubernetes-wise, these commands would typically be executed in init containers of the workspace POD.

preStop string[]

IDs of commands that should be executed before stopping the workspace.

metadata object

Optional metadata

8 nested properties
attributes object

Map of implementation-dependant free-form YAML attributes.

description string

Optional devfile description

displayName string

Optional devfile display name

globalMemoryLimit string

Optional devfile global memory limit

icon string

Optional devfile icon

name string

Optional devfile name

tags string[]

Optional devfile tags

version string

Optional semver-compatible version

pattern=^([0-9]+)\.([0-9]+)\.([0-9]+)(\-[0-9a-z-]+(\.[0-9a-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
parent object

Parent workspace template

One of: variant, variant, variant
8 nested properties
commands object[]

Overrides of commands encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules.

components object[]

Overrides of components encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules.

id string

Id in a registry that contains a Devfile yaml file

kubernetes object

Reference to a Kubernetes CRD of type DevWorkspaceTemplate

2 nested properties
name string required
namespace string
projects object[]

Overrides of projects encapsulated in a parent devfile. Overriding is done according to K8S strategic merge patch standard rules.

registryUrl string
starterProjects object[]

Overrides of starterProjects encapsulated in a parent devfile. Overriding is done according to K8S strategic merge patch standard rules.

uri string

Uri of a Devfile yaml file

projects object[]

Projects worked on in the workspace, containing names and sources locations

starterProjects object[]

StarterProjects is a project that can be used as a starting point when bootstrapping new projects