Skip to content
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

The devfile registry should allow referencing external devfiles or external git projects (that may contain devfile.yaml) #16377

Closed
sunix opened this issue Mar 17, 2020 · 7 comments
Labels
kind/enhancement A feature request - must adhere to the feature request template. lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. severity/P2 Has a minor but important impact to the usage or development of the system.

Comments

@sunix
Copy link
Contributor

sunix commented Mar 17, 2020

Is your enhancement related to a problem? Please describe.

At the moment, the devfile registry can only use self referenced devfiles ( referenced in the same own repo). But for some team it may be hard to maintain these devfile in a single git repo. It may also be easier to maintain the devfile.yaml that is in the project repo it self.

Describe the solution you'd like

in the devfile meta.yaml of a devfile registry, we should be able to indicate an external url of

  • a raw devfile
  • a github project
  • a git project

Basically all that the factory service is supporting with the url attribute.

@sunix sunix added the kind/enhancement A feature request - must adhere to the feature request template. label Mar 17, 2020
@che-bot che-bot added the status/need-triage An issue that needs to be prioritized by the curator responsible for the triage. See https://github. label Mar 17, 2020
@l0rd l0rd added severity/P2 Has a minor but important impact to the usage or development of the system. and removed status/need-triage An issue that needs to be prioritized by the curator responsible for the triage. See https://github. labels Mar 18, 2020
@l0rd
Copy link
Contributor

l0rd commented Mar 18, 2020

@sunix when you say "For some team it may be hard to maintain these devfile in a single git repo" what are you thinking about? How does teams are maintaining a devfile if not in a git repo?

I am asking because even in the scenario that you are describing the team will need to:

  • publish the devfile somewhere (and hopefully version it as well)
  • maintain (create, update) the devfile meta.yaml in a devfile registry git repo
    and that doesn't look simpler then maintaining the devfile.yaml in the git repo itself.

@sunix
Copy link
Contributor Author

sunix commented Mar 20, 2020

Take the example of a big project ... like Che:
you have

  • the platform team
  • the deploy team
  • the plugin team
    etc...

and they all share the same devfile registry git repo. For all the git project they are owning, there are different permission policies: reviewers/commiters roles are different from one git repo to another.

But if you rely on only 1 git repo for all the devfiles, how do you deal with all the different devfiles that should be own by a specific team ? It will be a nightmare to all the developers in the process of reviewing/pushing/changing a devfile in the registry git repo.

  • platform team may have sergey as a reviewer
  • plugin team may have Eric as a reviewer
    etc...

Who would be the reviewer for the devfile registry ? to me, each devfile should have the corresponding reviewer of each team.

Some teams would prefer to update their devfile that would be located in their own repo where they work. They would have the same permission and role regarding push/pull/review on the repo.
In the current situation, if a team would like to modify a devfile, they should go through the policy of the devfile registry git repo ... this is really annoying.

The meta.yaml file could just be created once and update not very often. No need to touch it if you just update the devfile.

Also changing the devfile in your own git repo would not required to redeploy the devfile registry.

@l0rd
Copy link
Contributor

l0rd commented Mar 22, 2020

The devfile registry is for sample stacks, not as a registry of teams projects (in those cases the devfile lives in the repository root folder).
And anyway, in the hypothetical case that different teams are responsible for different sample stacks, the OWNERS file you let you specify distinct ownership, even with a single GitHub repository.

@sunix
Copy link
Contributor Author

sunix commented Mar 23, 2020

What if teams are using Bitbucket and not Github? there is no such OWNERS things ...

If devfile registry is just for sample stacks, why do we make it such a big piece of our architecture. Why do we allow teams to provide their own devfile registry? Che should be the Next-Generation IDE for developer teams so the devfile registries should be for team projects as soon as they are used by developer teams.

Sample stacks are useful only when Che is being evaluated. But once a organisation is choosing to adopt Che, the devfile registry is the good place to list all the projects to be used daily. As you say, the devfile would live in the repository root folder. That is the purpose of this proposal to allow referencing these ones.

@l0rd
Copy link
Contributor

l0rd commented Mar 23, 2020

Your ownership problem can be solved with multiple devfile registries: one registry per team.

I am not convinced about the value of having the Dashboard "Getting Started" populated with real projects instead of samples.

@che-bot
Copy link
Contributor

che-bot commented Oct 1, 2020

Issues go stale after 180 days of inactivity. lifecycle/stale issues rot after an additional 7 days of inactivity and eventually close.

Mark the issue as fresh with /remove-lifecycle stale in a new comment.

If this issue is safe to close now please do so.

Moderators: Add lifecycle/frozen label to avoid stale mode.

@che-bot che-bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Oct 1, 2020
@sunix
Copy link
Contributor Author

sunix commented Oct 8, 2020

Closing in favor of #16875

@sunix sunix closed this as completed Oct 8, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement A feature request - must adhere to the feature request template. lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. severity/P2 Has a minor but important impact to the usage or development of the system.
Projects
None yet
Development

No branches or pull requests

3 participants