You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
odo always overrides the entrypoint or command of a component, Che honors the devfile component entrypoint field.
2. Projects vs starterProjects
Che ignores starterProjects, odo ignores projects:
Che clones all projects listed in a devfile.
odo prompts developers to select one of the starterProjects listed in a devfile.
Che automatically infer projects if a devfile.yaml or .devfile.yaml is at the root of a git repository, odo doesn't support devfiles without starterProjects.
3. Components of type Kubernetes
Che extracts the container spec from a Pod or Deployment and adds it in to the "workspace Pod", odo doesn't support components of type kubernetes.
4. Getting started
No devfile, no git repo specified by the user:
Che has a list of "samples" to start with, each sample source code includes a devfile.
odo prompt developers to choose a development stack (devfile) and a "starter projects".
No devfile but a git repo is specified by the developer:
DWO library and devfile library differences. should put the migration from DWO library to devfile library on the agenda?
Clarifications to the Devfile spec to avoid the differences
1. entrypoint of components of type container
Tools will need to respect the entrypoint settings. If the entrypoint is not defined, use the default from the image. The containers need to be non-terminating or adding commands and args to make it non-terminating. (Provide example e.g. tail to show).
2. Projects vs starterProjects
Deprecate Projects and only use starterProjects. The devfiles in the community registry will only contain starterProjects definition, no Projects definition.
For starterProjects, if a sample contains a devfile, the tools will keep that devfile and use the devfile that is included in the sample. If a devfile does not exist in the sample, the tools will copy the original devfile that contains the starterProjects definition and use that devfile.
Proposals:
Remove the definition of Projects and only have starterProjects to provide samples of a given stack. Multiple services development will require the source repo to contain all the services within the same repo.
Deprecate PROJECT_ROOT variable and tools will use the PROJECT_SOURCE to location the source directory.
Che may potentially support loading multiple devfiles in the same workspace in the future (investigation needed)
3. Components of type Kubernetes
odo now supports Kubernetes components as part of the odo link support
We'll keep the Kubernetes component behaviour, i.e. apply the Kubernetes yaml.
Che has a use case for using Kubernetes component and needs to inject source (mount) to it. We'll need a new issue to track this requirement.
Che will investigate supporting adding services and service link support
Add service definition and service binding to the devfile spec in the future (may need to pick and choose a subset of service definition to support mostly used scenario
Both odo and Che already supports .devfile.yaml
"$PROJECT_SOURCE": by default, the working directory is the folder of the project
Deprecate PROJECTS_ROOT and move to use PROJECT_SOURCE
Tools will set the PROJECT_SOURCE location
Fix the outer loop spec, currently using PROJECT_ROOT instead of PROJECTS_ROOT, use PROJECT_SOURCE
Need to come up with a consistent resource naming scheme - need to open a separate item to track
With the naming scheme, need to make sure things created in one tool, e.g. che, can be used by another tools, e.g. odo
For ODC, need to change to use Kubernetes components for outer loop build to provide consistent behaviour
Should merge the DWO library and devfile library
Should odo (and other tools) optionally uses the DWO if it exists to make it consistent?
Which area this feature is related to?
/area api
The goals of this issues are:
Differences
1.
entrypointof components of type containerodoalways overrides the entrypoint or command of a component, Che honors the devfile component entrypoint field.2. Projects vs starterProjects
Che ignores
starterProjects,odoignoresprojects:projectslisted in a devfile.odoprompts developers to select one of thestarterProjectslisted in a devfile.Che automatically infer
projectsif adevfile.yamlor.devfile.yamlis at the root of a git repository,ododoesn't support devfiles withoutstarterProjects.3. Components of type Kubernetes
Che extracts the container spec from a
PodorDeploymentand adds it in to the "workspace Pod",ododoesn't support components of typekubernetes.4. Getting started
No devfile, no git repo specified by the user:
No devfile but a git repo is specified by the developer:
5. Microservice application support
Che runs all services in the same pod (risk of port collision), odo runs each service on a separate pod (requires service binding).
6. Other
.devfile.yamlsupport$PROJECTS_ROOT/<project-name>, odo uses$PROJECTS_ROOT(both should use$PROJECT_SOURCE)Clarifications to the Devfile spec to avoid the differences
1.
entrypointof components of type containerTools will need to respect the entrypoint settings. If the entrypoint is not defined, use the default from the image. The containers need to be non-terminating or adding commands and args to make it non-terminating. (Provide example e.g. tail to show).
2. Projects vs starterProjects
Deprecate Projects and only use starterProjects. The devfiles in the community registry will only contain starterProjects definition, no Projects definition.
For starterProjects, if a sample contains a devfile, the tools will keep that devfile and use the devfile that is included in the sample. If a devfile does not exist in the sample, the tools will copy the original devfile that contains the starterProjects definition and use that devfile.
Proposals:
3. Components of type Kubernetes
4. Getting started
5. Microservice application support
6. Other