Page MenuHomePhabricator

Create a self-service portal for trusted users to easily create new Gerrit repos
Closed, DeclinedPublic

Description

Instead of having people add requests to a wiki page and wait for the awesome @QChris to create the repository, we should really just have self-service repository creation that hides all of the Gerrit options and does what 98% of people want. To start with, it could just support MediaWiki extensions, so it would create the extension-FooBar group, create the mediawiki/extensions/FooBar repo, setup the GitHub mirror, and then push an initial commit of adding .gitreview. We could expand this to new skins, PHP libraries, etc. in the future. And other steps like creating a Phabricator project, and so on.

This portal could use OAuth to authenticate against wikitech, and require the user be in some arbitrary trusted group or something.

Event Timeline

+2

I believe that this is one of the primary reasons why people choose something like GitHub (or its FOSS-ier alternative, GitLab) over WMF git/gerrit architecture. People expect repository creation to be "automated" (not require approval) and instant. And while @QChris has been doing great job with all the various things involved in gerrit/Phabricator repository creation, it certainly seems only fair to me to give him a little break. :-)

A custom plugin might be better though :)

+1 to a custom plugin. It could create the project + github repo + anything else that needs to happen.

I found myself a weekend project!

@demon heh I can help test it when one is created :)

I got stuck doing bazel stufffffff, ugh ugh ugh.....

Sounds awesome!

Would it be possible to extend the plugin thing to run bootstrap scripts like cookiecutter (https://gerrit.wikimedia.org/g/mediawiki/tools/cookiecutter-library) ? (a super duper future feature request :))

Paladox triaged this task as Medium priority.Feb 12 2019, 5:18 PM

Im going to have a look at how this can be done soon.

hashar added a subscriber: hashar.

Declining for the same reason I have declined T38937: Allow for group admins to create project repositories inside a parent project

The Create Project permission is a global one. Either one is allowed to create any project or none. Any person in the Gerrit Managers group has the right, else one has to file a request at https://www.mediawiki.org/wiki/Gerrit/New_repositories