question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Full support for Devfile 2.x spec

See original GitHub issue

Is your enhancement related to a problem? Please describe.

Currently, devworkspace controller supports only limited of devfile 2.x format. This is epic to track which parts needs to be implemented.

schemaVersion: 2.0.0
metadata:
  name: nodejs-stack
projects:
  - name: project    
    git:
      remotes:                                                           # The only one remote is supported on Che Theia side
        origin: "https://github.com/che-samples/web-nodejs-sample.git"
components:
  - name: editor
    plugin:
      id: eclipse/che-theia/7.1.0
  - name: terminal
    plugin:
      id: eclipse/che-machine-exec-plugin/7.1.0
  - name: typescript-plugin
    plugin:
      id: che-incubator/typescript/1.30.2                                 # patching of plugins configuration are not supported yet
      components:
        - name: "??"
          container:
            memoryLimit: 512Mi
  - name: nodejs
    container:
      image: quay.io/eclipse/che-nodejs10-ubi:nightly
      memoryLimit: 512Mi
      endpoints:
        - name: nodejs
          protocol: http
          targetPort: 3000
      mountSources: true
  - name: cleanup-job
    kubernetes:
      inlined: |
        apiVersion: batch/v1
        kind: Job
        metadata:
          name: pi
        spec:
          template:
            spec:
              containers:
              - name: job
                image: someimage
                command: ["some",  "command", "with", "parameters"]
              restartPolicy: Never
          backoffLimit: 4
  - name: postgres
    kubernetes:                                               # kubernete component is not supported yet
      inlined: |
        kind: Deployment
        metadata:
          name: pi
        spec:
          template:
            spec:
              containers:
              - name: job
                image: someimage
                command: ["some",  "command", "with", "parameters"]
              restartPolicy: Never
          backoffLimit: 4
volumes:                                                    ## volumes are not implemented on that level
  - name: ...
commands:
  - id: download dependencies
    exec:
      component: nodejs
      commandLine: npm install
      workingDir: ${PROJECTS_ROOT}/project/app
      group:
        kind: build                                              # groups are not supported yet
commands:
  - id: cleanup-job
    apply:
      component: cleanup-job 
events:
  postStop:
    - cleanup-job
  preStop: ...
  preStart: ...
  postStart: ...

This issue is not well-described yet. More details will be provided soon.

Devfile 2.0 Feature Supported Issue
Plugin mechanism removed from the spec https://github.com/devfile/api/pull/333
Parent devfiles https://github.com/devfile/devworkspace-operator/pull/346
Allow volumes to be shared across components https://github.com/devfile/devworkspace-operator/pull/237
kubernetes component https://github.com/eclipse/che/issues/17894
projects
starterProjects
Components sourceMapping
Specify size of volume for component https://github.com/devfile/devworkspace-operator/pull/827
Environment variables for a specific command
Commands group (application lifecycle)
Out of main pod containers
Stacks/Devfile matching rules not in the spec yet
Devfile metadata: add a link to an external website
Add lifecycle bindings to bind commands to specific events pre-start only https://github.com/devfile/devworkspace-operator/issues/629
Containers endpoints (routes/ingresses)
New type of command to apply a component
Run exec commands as specified user
hotReloadCapable
image component https://github.com/eclipse/che/issues/21187
outer loop components of type image and kubernetes https://github.com/eclipse/che/issues/21186

Issue Analytics

  • State:open
  • Created 3 years ago
  • Comments:8 (7 by maintainers)

github_iconTop GitHub Comments

2reactions
l0rdcommented, Oct 26, 2021

Closing. We will implement missing parts of the spec when there is a real request.

1reaction
AObuchowcommented, Nov 23, 2022

@amisevsk correct me if I am wrong, but it seems like the projects and sourceMapping features are supported and can be updated in the table.

Additionally, kubernetes components will be supported once https://github.com/devfile/devworkspace-operator/pull/961 is merged.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Devfile v2 and IDE plug-ins in Eclipse Che - Medium
Milestone 1 introduced the first support of devfile v2 (start a basic workspace); Milestone 2 just landed in Eclipse Che 7.32.0 with the ......
Read more >
Chapter 4. Authoring devfiles - Red Hat Customer Portal
CodeReady Workspaces supports the following project types: git: Projects with sources in Git. The location points to a clone link. github ...
Read more >
Introduction to Devfile - GitHub Pages
... new devfile format was introduced, which combines simplicity and support for high variety ... curl -X POST -H "Authorization: <TOKEN>" -H "Content-Type: ......
Read more >
Developing with IBM Wazi for Dev Spaces
Leverage the full language support for Ansible and Red Hat Ansible Certified ... for an application developer workspace based on devfile specifications.
Read more >
Pulse · eclipse/che · GitHub
#21412 commented on Nov 22, 2022 • 2 new comments. Full support for Devfile 2.x spec. #17883 commented on Nov 23, 2022 •...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found