https://dev.arvados.org/https://dev.arvados.org/favicon.ico?15576888422014-12-10T20:41:44ZArvadosArvados - Idea #4788: Research git frontend and how to configure ithttps://dev.arvados.org/issues/4788?journal_id=191172014-12-10T20:41:44ZPeter Amstutzpeter.amstutz@curii.com
<ul><li><strong>Assigned To</strong> set to <i>Peter Amstutz</i></li></ul> Arvados - Idea #4788: Research git frontend and how to configure ithttps://dev.arvados.org/issues/4788?journal_id=191382014-12-10T21:56:37ZPeter Amstutzpeter.amstutz@curii.com
<ul></ul><p>Making notes here as I go along.</p>
<p><a class="external" href="https://git.wiki.kernel.org/index.php/Interfaces,_frontends,_and_tools#Web_Interfaces">https://git.wiki.kernel.org/index.php/Interfaces,_frontends,_and_tools#Web_Interfaces</a></p>
<a name="Gitorious"></a>
<h2 >Gitorious<a href="#Gitorious" class="wiki-anchor">¶</a></h2>
<p><a class="external" href="https://gitorious.org/gitorious/mainline.git">https://gitorious.org/gitorious/mainline.git</a></p>
<p>Github clone. Uses Rails.</p>
<a name="Gitlab"></a>
<h2 >Gitlab<a href="#Gitlab" class="wiki-anchor">¶</a></h2>
<p><a class="external" href="https://gitlab.com/gitlab-org/gitlab-ce.git">https://gitlab.com/gitlab-org/gitlab-ce.git</a></p>
<p>Github clone. Uses Rails. Supports issues.</p>
<a name="gitweb"></a>
<h2 >gitweb<a href="#gitweb" class="wiki-anchor">¶</a></h2>
<p>Distributed with git. Changelog/commit oriented UI, instead of taking you to a tree associated with a branch tip (which seems more intuitive).</p>
<a name="cgit"></a>
<h2 >cgit<a href="#cgit" class="wiki-anchor">¶</a></h2>
<p><a class="external" href="http://hjemli.net/git/cgit/">http://hjemli.net/git/cgit/</a></p>
<p>Used by kernel.org. Also changelog/commit oriented UI.</p>
<a name="Gitlist"></a>
<h2 >Gitlist<a href="#Gitlist" class="wiki-anchor">¶</a></h2>
<p><a class="external" href="https://github.com/klaussilveira/gitlist">https://github.com/klaussilveira/gitlist</a></p>
<p>Uses bootstrap, looks good, written in PHP.</p>
<a name="Indefero"></a>
<h2 >Indefero<a href="#Indefero" class="wiki-anchor">¶</a></h2>
<p><a class="external" href="http://projects.ceondo.com/p/indefero/">http://projects.ceondo.com/p/indefero/</a></p>
<p>Clone of google code. Supports issues.</p> Arvados - Idea #4788: Research git frontend and how to configure ithttps://dev.arvados.org/issues/4788?journal_id=191932014-12-12T01:00:35ZPeter Amstutzpeter.amstutz@curii.com
<ul></ul><p><a class="external" href="http://gogs.io/">http://gogs.io/</a> looks perfect, if a little immature. Let's see if we can add Arvados specific user account management.</p> Arvados - Idea #4788: Research git frontend and how to configure ithttps://dev.arvados.org/issues/4788?journal_id=191942014-12-12T02:36:16ZPeter Amstutzpeter.amstutz@curii.com
<ul></ul><p>User account handling:</p>
<p>gogs has its own user database. We want to link that seamlessly to Arvados accounts. Most importantly, we need to support Arvados permissions.</p>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<p>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.</p> Arvados - Idea #4788: Research git frontend and how to configure ithttps://dev.arvados.org/issues/4788?journal_id=191962014-12-12T13:52:22ZPeter Amstutzpeter.amstutz@curii.com
<ul><li><strong>Status</strong> changed from <i>New</i> to <i>In Progress</i></li></ul> Arvados - Idea #4788: Research git frontend and how to configure ithttps://dev.arvados.org/issues/4788?journal_id=195542015-01-05T15:25:49ZPeter Amstutzpeter.amstutz@curii.com
<ul><li><strong>Status</strong> changed from <i>In Progress</i> to <i>Resolved</i></li></ul>