Skip to content

Volumes from DevWorkspace and DevWorkspaceTemplates should be merged #586

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
sleshchenko opened this issue Sep 8, 2021 · 0 comments · Fixed by #593
Closed

Volumes from DevWorkspace and DevWorkspaceTemplates should be merged #586

sleshchenko opened this issue Sep 8, 2021 · 0 comments · Fixed by #593
Assignees
Labels
sprint/current Is assigned to issues which are planned to work on in the current team sprint
Milestone

Comments

@sleshchenko
Copy link
Member

sleshchenko commented Sep 8, 2021

The context:

  1. In Che flow, user's devfile.yaml describe only their application related component, and everything related to tooling and IDE come from plugins;
  2. DevWorkspace Operator powers that flow with DevWorkspaces(aka DW) (for devfile) and DevWorkspaceTemplates(aka DWT)(for plugins), and then use flattening devfile logic from devfile spec;
  3. Flattening devfile logic requires for each devfile item(DW, DWT) (unless it's parent logic which we don't consider) provision objects(component, commands, projects) with unique names.

So, let's consider two cases in details:

  1. [Upstream] User has java-maven application that has devfile with volume for maven repository, and java plugin that then just mounts that repo in its container;
  2. [Downstream] Java plugin is designed in the common way to work for both of maven and gradle, so it mounts maven and gradle repos volumes, which requires from users to declare both volumes in their devfiles, but it does not make much sense for application to use both build tools at the same time.

So, it's proposed to allow plugin define their volumes and to make it working add DevWorkspace specific logic for processing DevWorkspaceTemplates volumes, which will work in the following way:

  1. Process each DevWorkspaceTemplate volumes:
    1.1. Check if it's in DevWorkspace(user's devfile):
    • it's there - use one from DevWorkspace;
    • it's not there - use one from DevWorkspace Template;

Downstream issue https://issues.redhat.com/browse/CRW-2253

@sleshchenko sleshchenko added sprint/next sprint/current Is assigned to issues which are planned to work on in the current team sprint and removed sprint/next labels Sep 8, 2021
@sleshchenko sleshchenko added this to the v0.10.0 milestone Sep 9, 2021
@amisevsk amisevsk self-assigned this Sep 16, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
sprint/current Is assigned to issues which are planned to work on in the current team sprint
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants