-
Notifications
You must be signed in to change notification settings - Fork 36
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
Initialize session with git repo #348
Comments
Hello @iyannsch ,
Thanks! |
Thanks for picking up this issue again! In answering the questions, I'm always only talking about our very specific use case. Please keep in mind that this is a very isolated and educational context we work in.
Looking forward to your opinion on those reasons :) |
Hi @iyannsch, thanks for your elaborate and quick feedback :)
Using credentials that allow clone and push and are unique to a user definitely makes sense. I think this is the most common use case for others outside education, too.
Alright, this means from Theia Cloud's point of view, the landing page just has these credentials available and wants to somehow configure them for the session. I assume either a separate REST service call or directly handing it over during session creation would be acceptable. Is this correct?
I see, I agree that using a token is probably easier. Especially since you usually want to password protect private SSH keys that the user then would need to unlock. I think we'll have to see how well it works to preconfigure that while avoiding the user to do anything explicit. However, this should work for tokens. For instance, this could be configured in the git credentials store. All in all I think your requirements seem quite universal. The team and I will see what is a good way to get the tokens/secrets into Theia. |
Implementation sketch:
|
Your approach sounds very nice! Do you already have a timeline for those features so we can align internally and maybe stop searching for alternatives for now?
Your assumption is correct and aligns well without sketch |
Hi @iyannsch, there is no timeline for now unfortunately as this is not trivial to implement. We'll need to prioritize this first. |
Sounds great! One thing that I just noticed and wanted to clarify: In our use-case not only the token/key differs across users but also the repository. It will contain mostly the same files throughout all student repositories but technically each student got their own repository (different URL, different token). |
Thanks for clarifying. I do not think this makes a difference in effort as we want to make the repository configurable anyway :) |
Is your feature request related to a problem? Please describe.
When users start a new session through the landing page, they still have to manually clone a git repo once the IDE has loaded. This situation leaves a lot of potential, because Theia is highly configurable before a user has contact with it: Install plugins, install dependencies and configure the whole experience. However, the user still has to manually search for the correct
clone
URL, start up a terminal, find git cloning credentials, and finally clone via CLI (or VSC UI).Describe the solution you'd like
I imaging a Theia extension that would be installed by default. It should read values provided by the landing page during the "SpawnRequest" and utilize VSC's git plugin to initiate the cloning procedure before the user even enters the session.
Regarding the values, we'd only need the
CLONE_URL
and aCLONE_TOKEN
but probably user-password or ssh auth would also be nice.Describe alternatives you've considered
As an alternative, we could implement the respective Theia Plugin ourselves as part of our organization's VSC extension. This mixed responsibilities though as this feature would not necessarily be required on a local setup of VSC.
Cluster provider
No response
Additional information
There has already been some effort in this regard (#182) and currently there is a lot going on in the background. Still I think, this would be a powerful addition unlocking a lot of new use cases for Theia.
The text was updated successfully, but these errors were encountered: