The devfiles/ directory contains the devfiles. Every devfile directory has the following structure:

./che-devfile-registry/devfiles
 ├── <stack-name>
 ├── devfile.yaml
 └── meta.yaml

To add a new devfile:

Procedure
  1. In the devfiles/ directory, create a new subdirectory <stack-name>/.

  2. In this new subdirectory, add a new plug-in devfile.yaml file and a meta.yaml file. The following is an example my-stack/ directory, and it contains a devfile.yaml file and a meta.yaml file:

    $ mkdir -p che-devfile-registry/devfiles/my-devfile
    $ touch che-devfile-registry/devfiles/my-devfile/devfile.yaml
    $ touch che-devfile-registry/devfiles/my-devfile/meta.yaml
    $ tree ./che-devfile-registry/devfiles
    ./che-devfile-registry/devfiles
     ├── my-devfile
     ├── devfile.yaml
     └── meta.yaml
  3. Add valid content in the devfile.yaml file. For a detailed description of the devfile format, see the Making a workspace portable using a Devfile section.

  4. Ensure that the meta.yaml file conforms to the following structure:

    displayName: My Stack                                        (1)
    description: This is a custom stack for Che                  (2)
    tags: ["Java", "maven", "ubi"]                               (3)
    icon: https://www.eclipse.org/che/images/logo-eclipseche.svg (4)
    globalMemoryLimit: 1686Mi                                    (5)
    1 Name of the stack as it appears on the user dashboard.
    2 Description of the stack as it appears on the user dashboard.
    3 Tags of the stack. Tags usually include the tools included in the stack.
    4 The link to an .svg file that is displayed on the user dashboard.
    5 The sum of the memory limits of all the components of the stack. This number will be visible on the user dashboard. It is informative and is not taken into account by the Che server.