Devfile
2.1.0Schema URL
Devfile describes the structure of a cloud-native devworkspace and development environment.
Properties
Devfile schema version
Map of implementation-dependant free-form YAML attributes.
Predefined, ready-to-use, devworkspace-related commands
List of the devworkspace components, such as editor and plugins, user-provided containers, or other types of components
Bindings of commands to events. Each command is referred-to by its name.
4 nested properties
IDs of commands that should be executed after the devworkspace 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.
IDs of commands that should be executed after stopping the devworkspace.
IDs of commands that should be executed before the devworkspace start. Kubernetes-wise, these commands would typically be executed in init containers of the devworkspace POD.
IDs of commands that should be executed before stopping the devworkspace.
Optional metadata
11 nested properties
Map of implementation-dependant free-form YAML attributes. Deprecated, use the top-level attributes field instead.
Optional devfile description
Optional devfile display name
Optional devfile global memory limit
Optional devfile icon, can be a URI or a relative path in the project
Optional devfile language
Optional devfile name
Optional devfile project type
Optional devfile tags
Optional semver-compatible version
Optional devfile website
Parent devworkspace template
10 nested properties
Overrides of attributes encapsulated in a parent devfile. Overriding is done according to K8S strategic merge patch standard rules.
Overrides of commands encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules.
Overrides of components encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules.
Id in a registry that contains a Devfile yaml file
Reference to a Kubernetes CRD of type DevWorkspaceTemplate
2 nested properties
Overrides of projects encapsulated in a parent devfile. Overriding is done according to K8S strategic merge patch standard rules.
Registry URL to pull the parent devfile from when using id in the parent reference. To ensure the parent devfile gets resolved consistently in different environments, it is recommended to always specify the regsitryURL when Id is used.
Overrides of starterProjects encapsulated in a parent devfile. Overriding is done according to K8S strategic merge patch standard rules.
URI Reference of a parent devfile YAML file. It can be a full URL or a relative URI with the current devfile as the base URI.
Overrides of variables encapsulated in a parent devfile. Overriding is done according to K8S strategic merge patch standard rules.
Projects worked on in the devworkspace, containing names and sources locations
StarterProjects is a project that can be used as a starting point when bootstrapping new projects
Map of key-value variables used for string replacement in the devfile. Values can can be referenced via {{variable-key}} to replace the corresponding value in string fields in the devfile. Replacement cannot be used for
- schemaVersion, metadata, parent source - element identifiers, e.g. command id, component name, endpoint name, project name - references to identifiers, e.g. in events, a command's component, container's volume mount name - string enums, e.g. command group kind, endpoint exposure