milke / GitFinder-Issues

Bug and issue tracker for GitFinder - git client with macOS Finder integration
16 stars 1 forks source link

Is there support for self-hosted GitLab instances? #79

Closed unikitty37 closed 3 years ago

unikitty37 commented 3 years ago

When I open the Hosting tab in Preferences, and click GitLab, the Sign In button takes me to https://gitlab.com. Would it be possible to add an option to specify the GitLab URL here, so that I can point at my self-hosted instance?

(Ideally, you would be able to add a second GitLab instance to the list on the left, so that you could connect to gitlab.com and your self-hosted repo, rather than having to just choose one…)

milke commented 3 years ago

Unfortunately, there isn't such support at the moment. You're the second one asking (or recommending it). It shouldn't be a problem to add it and I'll do it in one of the upcoming releases.

Speaking of which, I don't currently have self-hosted GitLab installed at the moment and it'd be great if I could spare myself of troubles and time installing one. Since you obviously already have one, would it be possible to create a new user account, which I could use to test my implementation? I would be very grateful for that! Once the feature is implemented and tested, you could delete that account.

Just to note, you can still use GitFinder with repositories hosted on your self-hosted GitLab. You just can't use conveniences (like pull requests, pre-filled list of repositories when cloning, etc…) offered by host services integration.

unikitty37 commented 3 years ago

I can certainly set one up — let me know what email address to use.

milke commented 3 years ago

I can certainly set one up — let me know what email address to use.

THANKS A LOT! milke_AT_mac.com

unikitty37 commented 3 years ago

That's done — you should get the password reset email soon.

milke commented 3 years ago

you should get the password reset email soon.

Still nothing… Is that normal, or something went wrong?

unikitty37 commented 3 years ago

Sorry about that — turned out the GitLab instance was still pointing at an old SMTP server. Hopefully that's fixed now.

milke commented 3 years ago

@unikitty37, I really apologise for this… Can you please resend me the credentials to that self-hosted GitLab please? I carelessly deleted that message before bookmarking the server URL 🙄

unikitty37 commented 3 years ago

I've sent a password reset; that seems to be the easiest way.

milke commented 3 years ago

Thanks so much! Apologies again…

milke commented 3 years ago

@unikitty37, I've just released a new beta version 1.7.3b2 (build 111) and it adds support for self-hosted GitLab instances, as well as for GitHub Enterprise (cloud and self-hosted) and self-hosted Bitbucket server instances. It works pretty much the same as before, but now each hosting service, apart from OAuth Access Token (and so-called web-flow login), supports authenticating with Personal Access Token and selecting it gives you the opportunity to specify a custom server remote URL address. This essentially enables you to work with self-hosted GitHub (Enterprise), GitLab and Bitbucket.

Of course, that's the theory… I tested it all briefly and all seems to be working okay, but I'd appreciate if you start using it, at least for your self-hosting GitLab. And let me know if anything goes wrong. Once this stays in the beta stage long enough and confirmed working, I'll put it into a stable / official release.

You can download the new beta here, but you can also upgrade your current copy automatically, just select Beta release channel, like below:

update
unikitty37 commented 3 years ago

Thanks — looks good so far!

I tend to use HTTPS access for my local server, as there isn't an equivalent of SNI for SSH and I don't want to forward all port 22 to it, but GitFinder seems to default to SSH access every time when creating or cloning repositories.

Would it be possible for the default to be configurable per-server?

It might be clearer, when configuring a server, for the two dropdown options to be "OAuth Access Token (gitlab.com)" and "Personal Access Token (any server)", as this makes it clear you can't use OAuth to your self-hosted instance.

milke commented 3 years ago

but GitFinder seems to default to SSH access every time when creating or cloning repositories. Would it be possible for the default to be configurable per-server?

I noticed I can't access your server using SSH. The thing is, when gathering information about a repository on a hosted server, GitFinder gathers all remote URLs, which server claims are available for the repository to be accessed to. So, even your server claims that repositories are accessible both on SSH and HTTPS (that's probably GitLab software doing its thing). When creating/cloning remote host repositories, GitFinder offers all available URLs (protocols) in the menu of the upper popup menu button. I only sorted them so that SSH is the first, as my assumption was that most people would want to use that. I think configuring that order per server would really be adding unnecessary complexity. What seems more likely to me is to remember the last used protocol, so the next appearance of create / clone view would have that selected.

It might be clearer, when configuring a server, for the two dropdown options to be "OAuth Access Token (gitlab.com)" and "Personal Access Token (any server)", as this makes it clear you can't use OAuth to your self-hosted instance.

That makes sense, although for most people using self-hosted instances, I'd assume that should be obvious. I was thinking of having separate "GitLab" and "GitLab Community (or whatever)" headers in the left sidebar, but it looked too cluttered to me without a good reason.

unikitty37 commented 3 years ago

I think you're right that most people will use SSH. Remembering the last used seems to be the best way to go.

milke commented 3 years ago

This is now available in the stable release version 1.7.3 (build 113). If any problems with self-hosting services appear in the future, feel free to reopen this, or create a new issue.

unikitty37 commented 3 years ago

Do you still need the login on the GitLab server for future debugging, or am I OK to disable it?

milke commented 3 years ago

@unikitty37 no, I don't need that access anymore. But if someone in the future has any problem with self-hosted GitLab, I hope it won't be a problem to ask for such access again 🙂

unikitty37 commented 3 years ago

No problem; I've blocked the account for now, so I can unblock it again if you need it.