Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [che-dev] DevFile meeting report



On Sat, Nov 17, 2018 at 6:32 PM Gennady Azarenkov <gazarenk@xxxxxxxxxx> wrote:

On Wed, Nov 14, 2018 at 11:58 AM Gennady Azarenkov <gazarenk@xxxxxxxxxx> wrote:


On Wed, Nov 14, 2018 at 10:44 AM Sergii Kabashniuk <skabashn@xxxxxxxxxx> wrote:


On Mon, Nov 12, 2018 at 3:29 PM Gennady Azarenkov <gazarenk@xxxxxxxxxx> wrote:


On Mon, Nov 12, 2018 at 3:05 PM Sergii Kabashniuk <skabashn@xxxxxxxxxx> wrote:


On Mon, Nov 12, 2018 at 2:08 PM Gennady Azarenkov <gazarenk@xxxxxxxxxx> wrote:
Thanks, Sergii

A couple questions inline

Thanks

On Mon, Nov 12, 2018 at 1:06 PM Sergii Kabashniuk <skabashn@xxxxxxxxxx> wrote:
Hello
I would like to share some notes from the meeting that was on last Friday about Devfile implementation https://github.com/eclipse/che/issues/11549

- For now, we would like to position Devfile as workspace configuration. We don't want
  to embed Devfile as some field of workspace configuration.
Could you please elaborate a bit what does "embed Devfile as some field" and why it may be the case to consider "after" (since you mentioned "for now")?
By this "embed Devfile as some field" I meant something like this:
        "devfile": {
          "type": "devfile",
          "content": "Content of devfile"
          "parameters": {}
        }
>and why it may be the case to consider "after"  

Depending on the success of Devfile we may or may not revise our workspace model for Che 8 or later.
Could you please show how Devfile enabled workspace config suppose to look like in near future (for Che 8 or later which we do not know)? 
This Devfile
---
version: 0.0.1
name: petclinic-dev-environment
projects:
  - name: petclinic
    source:
      type: git
      location: 'git@xxxxxxxxxx:spring-projects/spring-petclinic.git'
tools:
  - name: mvn-stack
    type: chePlugin
    id: eclipse/maven-jdk8:1.0.0
  - name: theia-ide
    type: cheEditor
    id: eclipse/theia:0.0.3
  - name: jdt.ls
    type: chePlugin
    id: eclipse/theia-jdtls:0.0.3
commands:
  - name: build
    actions:
      - type: exec
        tool: mvn-stack
        command: mvn package
        workdir: /projects/spring-petclinic
  - name: run
    attributes:
      runType: sequential
    actions:
      - type: exec
        tool: mvn-stack
        command: mvn spring-boot:run
        workdir: /projects/spring-petclinic
      - type: exec
        tool: jdt.ls
        command: run.sh

Will be transformed to this WorkspaceConfig
{
  "name": "petclinic-dev-environment",
  "commands": [
    {
      "name": "build:mvn-stack",
      "attributes": {
        "pluginId": "eclipse/maven-jdk8:1.0.0",
        "workingDir": "/projects/spring-petclinic"
      },
      "commandLine": "mvn package"
    },
    {
      "name": "run:mvn-stack",
      "attributes": {
        "pluginId": "eclipse/maven-jdk8:1.0.0",
        "workingDir": "/projects/spring-petclinic"
      },
      "commandLine": "mvn spring-boot:run"
    },
    {
      "name": "run:jdt.ls",
      "attributes": {
        "pluginId": "eclipse/theia-jdtls:0.0.3"
      },
      "commandLine": "run.sh"
    }
  ],
  "projects": [
    {
      "name": "petclinic",
      "path": "/petclinic",
      "attributes": {},
      "source": {
        "location": "git@xxxxxxxxxx:spring-projects/spring-petclinic.git",
        "type": "git",
        "parameters": {}
      },
      "mixins": []
    }
  ],
  "defaultEnv": "default",
  "environments": {
    "default": {
      "recipe": {
        "type": "dockerimage",
        "content": "eclipse/ubuntu_jdk8"
      },
      "machines": {
        "dev-machine": {
          "attributes": {
            "memoryLimitBytes": "2147483648"
          },
          "installers": [],
          "servers": {},
          "env": {},
          "volumes": {}
        }
      }
    }
  },
  "attributes": {
    "eclipse/maven-jdk8:1.0.0": "mvn-stack",
    "editor": "eclipse/theia:0.0.3",
    "eclipse/theia-jdtls:0.0.3": "jdt.ls",
    "plugins": "eclipse/maven-jdk8:1.0.0,eclipse/theia-jdtls:0.0.3",
    "eclipse/theia:0.0.3": "theia-ide"
  }
}

 
Looks good
It is exactly looks like of the concept of "effective environment" in action.
I.e. you may have potentially "any" workspace definition which transforms to effective environment definition which uses Che core model.
 

 

- In the beginning, we would like to make some assumption to simplify implementation.
  We will consider that Devfile can be on public GitHub repositories. We can consume HTTP link to Devfile or content of Devfile itself.
How GitHub based HTTP GET accessible URL differs from others? I.e. can we consider this file to be located in ANY accessible place not only inside GH repo?
HTTP link can be to any server that does not require authentication. git url can be to GitHub public repositories only.
So, why we are talking about GitHub only and not any public URL?
We are talking about git url like git@xxxxxxxxxx:eclipse/che.git or  https://github.com/eclipse/che.git that can be to only Github public repositores

And my question why it can not be generalized to  https://any-publicly-accessible-path/petclinic.yaml ?
(which definitely will work for URLs you mentioned)

@Sergii, any thoughts? 
I guess it's possible.

 
 
- We would like to use JSON Schema http://json-schema.org/ in Devfile format development.

--

Sergii Kabashniuk

Principal Software Engineer, DevTools 

Red Hat Ukraine

skabashniuk@xxxxxxxxxx    

_______________________________________________
che-dev mailing list
che-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/che-dev
_______________________________________________
che-dev mailing list
che-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/che-dev


--

Sergii Kabashniuk

Principal Software Engineer, DevTools 

Red Hat Ukraine

skabashniuk@xxxxxxxxxx    



--

Sergii Kabashniuk

Principal Software Engineer, DevTools 

Red Hat Ukraine

skabashniuk@xxxxxxxxxx    



--

Sergii Kabashniuk

Principal Software Engineer, DevTools 

Red Hat Ukraine

skabashniuk@xxxxxxxxxx    


Back to the top