feat(ssh-git): Introduce support to pull repositories using ssh keypairs #4285
+149
−46
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi folks! I love what you are building and wanted to contribute back. I see a use case where someone (me?) would like to pull private repositories. As of now, this is supported only for forges which accept authentication mechanisms through HTTP. I wanted to support pulling via ssh using ssh keys.
Doing so, I also refactored the code to drop invoking the
gitbinary and instead completely rely ongit2-rs, which is already a dependency you were pulling in.Currently, this PR only includes the backend work. There is also the need for a UI change to make this available for end users, and here I stopped. I did because I understand this is a product, and you might want to have a discussion (open or not) on how (whether) to expose this feature to the users.
I designed the change to allow both keys stored in files and as text in the database. This seemed like a sensible and easy thing to do.
There are three new tests:
git2-rs)I am open for feedback/discussions. I am also keen to do the frontend work, if we agree on a final UX/UI.