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

Only one user can have a custom git integration #5411

Open
ghost opened this issue Aug 27, 2021 · 9 comments
Open

Only one user can have a custom git integration #5411

ghost opened this issue Aug 27, 2021 · 9 comments
Labels
component: dashboard meta: never-stale This issue can never become stale needs visual design team: webapp Issue belongs to the WebApp team user experience

Comments

@ghost
Copy link

ghost commented Aug 27, 2021

Bug description

I just showed off the product and how it works for another colleague and it seems like only one user can integrate to a custom gitlab server. I had to remove it from mine so that he could do the integration, but as you see in the picture i am no longer able to integrate even tough i have no integrations setup on my personal account

Screenshot 2021-08-27 at 10 08 30

Steps to reproduce

Try to add a custom git integration with "ic-dev-03.increo.space" as the "Provider Host Name", the rest does not matter if it is valid or not

Expected behavior

Integrations to be connected per user and not globally, does this mean that other users could access the integration towards "ic-dev-03.increo.space" seeing as it says "Provider for this host already exists."

Example repository

No response

Anything else?

No response

@AlexTugarev
Copy link
Member

Hi @AjXUthaya! Thanks for raising this issue. I think the roles around Git Integrations aren't clear enough. There is an integrator who creates an integration for a self-managed GitLab for instance, and there are users who would just authorize with this integration, but they do not need to create their own. In fact it's not even practical to create multiple integrations for the same service from Gitpod's perspective, as the protocols wouldn't differentiate between them.

Maybe the tricky part is for your colleagues to connect with this integration? This isn't publicly visible, but if they follow a prefixed link to a repository of your self-managed GitLab, they will trigger the authorization process. https://gitpod.io/#https://ic-dev-03.increo.space/ANY/REPO for example should work to connect with this integration.

--

cc. @gtsiolis I thinks we might need some improvements to make it clear how to connect with custom integrations.

@RobinHoutevelts
Copy link

RobinHoutevelts commented Aug 30, 2021

I have a gitlab instance I share with friends. But we don't share projects.

I also have a paid gitpod account but most friends don't. If I add the integration, and my friends connect with their own account does it share data/workspaces with my friends?

  • Are they going to be able to create workspaces by crafting an url?
  • Are those in any way going to be billed to me?
  • Are they going be able to create workspaces for projects they don't have access to?

It seems to me I want them to add their own damn integration. Feels icky that they would use my integration

@AlexTugarev
Copy link
Member

Hi @RobinHoutevelts! That's all good questions.

I have a gitlab instance I share with friends.

If you add the Git Integration in Gitpod, that well aligned with your role as the maintainer of that GitLab instance. By doing so, you will let other Gitpod users (i.e. your friends) authorize with OAuth which will allow them to work with Git in the projects they have access to – not more.

There are absolutely no implication with regards to billing.

Feels icky that they would use my integration

Given that you are providing access to your GitLab instance, it seems to be a good match, that you also configure the integration with Gitpod.

@ghost
Copy link
Author

ghost commented Oct 23, 2021

I don't think this as intuitive to have to start a project to be able to integrate for a new user, i nor my colleague though this so at the very least there should some more information instead of "Provider for this host alread exists". That just seems like an error from my point of view where i have to disconnect for someone else to be able to connect their account.

Seems like this product aims to make it as simple as possible for the end users, and i think some more information would help other end users reach this goal instead of filing an bug report when it is not a bug but a feature :)

@gtsiolis gtsiolis added the team: webapp Issue belongs to the WebApp team label Oct 23, 2021
@gtsiolis
Copy link
Contributor

gtsiolis commented Oct 23, 2021

Thanks for bringing this up @AjXUthaya! This is certainly something that we could improve.

We recently discussed internally how could we improve the UX for this issue. A good MVC (minimum viable change) here could be to mention and link the user profile who added a host as a provider for a Gitpod instance, see early design draft below.

Cross-linking relevant discussion (internal). Cc @atduarte @svenefftinge

FWIW, there's a similar issue in #5119.

Early design draft for existing provider connection
Existing

In future iterations, given that new Teams & Projects[1][2][3] are now generally available and will be soon part of the next self hosted release, we could introduce custom git integrations for GitLab or GitHub self-hosted instances on a team-level so that others can manage such integrations. Otherwise, allowing admin users to manage such integrations on an instance-level sounds also great. 🗺️

Cc @jldec

@stale
Copy link

stale bot commented Jan 22, 2022

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the meta: stale This issue/PR is stale and will be closed soon label Jan 22, 2022
@gtsiolis
Copy link
Contributor

Probably the draft design in #5411 (comment) could suffice here as we recently used the same pattern for the repositories already added by others in #5128 (Cc @AlexTugarev) and #7312 (Cc @laushinka). Cc @jldec @JanKoehnlein

@gtsiolis gtsiolis added the meta: never-stale This issue can never become stale label Jan 24, 2022
@JanKoehnlein
Copy link
Contributor

I think the error message should convey

  1. That another integration is not necessary (maybe with a link to the docs)
  2. What users have to do to open a repo on that git hoster, e.g. link to "New project" or "New workspace"

I am not sure why we should expose the handle of the integrator, as their is o use in contacting them.

We should also clarify the role of the "integrator" and what an integration does in the docs.

@stale stale bot removed the meta: stale This issue/PR is stale and will be closed soon label Jan 24, 2022
@gtsiolis
Copy link
Contributor

That another integration is not necessary (maybe with a link to the docs)

Fair point.

What users have to do to open a repo on that git hoster, e.g. link to "New project" or "New workspace"

Nice point. This makes now more sense with projects in place and the efforts towards focusing on the new workspace flow.

I am not sure why we should expose the handle of the integrator, as their is o use in contacting them.

I'd think this makes sense if someone needs to troubleshoot the existing integration. For example, what happens if the integrator user has been deleted?

🍊 🍊 🍊 🍊

Thinking out loud, this information could make sense to also surface in the admin dashboard, so that other admin users can remove an existing integrations if the integrator's account has been deleted, etc. 💭

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: dashboard meta: never-stale This issue can never become stale needs visual design team: webapp Issue belongs to the WebApp team user experience
Projects
Status: No status
Development

No branches or pull requests

4 participants