Page MenuHomePhabricator

Add Gerrit support to Striker (toolsadmin)
Closed, DeclinedPublic

Description

Striker (https://toolsadmin.wikimedia.org/) can link tools to Diffusion repositories, and even automatically create them on behalf of the tool’s administrator(s). By contrast, creating a new Gerrit repository for a tool requires administrative action, to be requested on https://www.mediawiki.org/wiki/Gerrit/New_repositories/Requests. If we want to stop using Differential (T191182), Striker should make it at least as easy to set up a source code repository on Gerrit as it currently does for Diffusion.

We could do something similar with Gerrit. Roughly:

  • create the git repository under a Gerrit namespace such as labs/tools/ or wmcs/toolforge or whatever name really
  • create a Gerrit group named upon the repository (eg labs-tools-Foobar-owner or wmcs-toolforge-Foobar-owner ) which contains the user that created the repository
  • add that group as the project owner which should grant all permissions on the repo, including push? If not we could enable push right to project owners on the parent repo and that right will be inherited to the other.

Of course, that requires some amount of work to happen on Striker side which is some decent amount of work.

In #wikimedia-cloud on 2019-05-30, @Paladox wrote:
It shouldn't be hard to convert striker to create gerrit repos.
it's a simple post to gerrit's rest api to create an repository.

Event Timeline

Paladox triaged this task as Medium priority.May 31 2019, 4:56 PM
Siridech set Due Date to Jun 6 2019, 12:00 AM.Jun 6 2019, 8:50 AM
Restricted Application changed the subtype of this task from "Task" to "Deadline". · View Herald TranscriptJun 6 2019, 8:50 AM
Restricted Application changed the subtype of this task from "Deadline" to "Task". · View Herald TranscriptJun 6 2019, 8:57 AM

In light of the upcoming GitLab migration, I suppose this task might ultimately become declined or invalid… I can only hope that GitLab will come with self-serve repository creation out of the box.

bd808 changed the task status from Open to Stalled.Jul 21 2020, 11:19 PM
bd808 moved this task from Ready to Needs Discussion on the Striker board.
bd808 subscribed.

Marking as stalled and moving back to needs discussion because of the potential for Gitlab to replace Gerrit at this point as the official git hosting and code review platform for Wikimedia projects. Striker implemented Diffusion repos rather than Gerrit repos initially because at the time Diffusion was expected to eventually replace Gerrit as the canonical system. Ultimately I think all Striker managed repos should be in the same hosting system. I expect that to include a migration phase that moves all the existing things from Diffusion to somewhere. It seems like it would be a waste of effort to migrate them all to Gerrit and then turn around and migrate them to Gitlab.