Story #4788

Research git frontend and how to configure it

Added by Peter Amstutz almost 7 years ago. Updated over 6 years ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
-
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:
Story points:
0.5

History

#1 Updated by Peter Amstutz almost 7 years ago

  • Assigned To set to Peter Amstutz

#2 Updated by Peter Amstutz almost 7 years ago

Making notes here as I go along.

https://git.wiki.kernel.org/index.php/Interfaces,_frontends,_and_tools#Web_Interfaces

Gitorious

https://gitorious.org/gitorious/mainline.git

Github clone. Uses Rails.

Gitlab

https://gitlab.com/gitlab-org/gitlab-ce.git

Github clone. Uses Rails. Supports issues.

gitweb

Distributed with git. Changelog/commit oriented UI, instead of taking you to a tree associated with a branch tip (which seems more intuitive).

cgit

http://hjemli.net/git/cgit/

Used by kernel.org. Also changelog/commit oriented UI.

Gitlist

https://github.com/klaussilveira/gitlist

Uses bootstrap, looks good, written in PHP.

Indefero

http://projects.ceondo.com/p/indefero/

Clone of google code. Supports issues.

#3 Updated by Peter Amstutz almost 7 years ago

http://gogs.io/ looks perfect, if a little immature. Let's see if we can add Arvados specific user account management.

#4 Updated by Peter Amstutz almost 7 years ago

User account handling:

gogs has its own user database. We want to link that seamlessly to Arvados accounts. Most importantly, we need to support Arvados permissions.

a) We could use the Workbench authentication flow. This delivers an Arvados API token to the service, so gogs would need some Arvados specific code.

b) Add an OAuth2 flow to gogs that sends the user to the SSO. Also requires adding new code (but maybe not much). Gogs supports OAuth2 but right now sends you to a 2nd step where you still have to create a local gogs account.

c) Set up an OAuth2 proxy which redirects to the SSO requests that don't have a valid session, and adds headers indicating the identity of the user. May not require modifying gogs at all, since this authentication feature is already supported.

The problem with (a) is that it may be too Arvados specific, the problem with (b) and (c) is that it may not be Arvados specific enough.

Users get a "short name" assigned to them which is used for shell and git accounts. This "short name" is stored on the API server and would need to be propagated to gogs.

Gogs sharing seems to be limited. Repositories are either "public" or "private". There is also support for organizations, but I don't know how the permissions model works.

Even though this is probably a (relatively) lighter weight solution that gitorious or gitlab, it still seems like we might need to do somewhat substantial customization to get the level of integration we need. Needs further study.

#5 Updated by Peter Amstutz almost 7 years ago

  • Status changed from New to In Progress

#6 Updated by Peter Amstutz over 6 years ago

  • Status changed from In Progress to Resolved

Also available in: Atom PDF