Project:Infrastructure/Service Catalog/Git

Service detail

 * Owner: Infra
 * Service lead:
 * Description: Gentoo deployment of Gitolite, to support git repositories, manage access, and provide mirroring.

Service operations
The infra team manages access, repositories, and users.

Service administration
Start by checking everything under docs/ in the gitolite-admin repository - the repository used to control Gitolite. This repository is used to manage users, groups, repositories and to control access and configuration of repositories.

The configuration of repositories is done on files under conf/ split by their name space. The ssh public certificates of users and service accounts are stored under keydir/.

Add user
The first step is to add the ssh public certificate(s) to be used by that user to the correct dir under keydir/ with the format email@$string.pub.

The $string can be a sequential number starting on 00 or ...

Add group
All groups are configured on the 3 conf/groups* files. The groups-ldap.conf is updated by scripts from LDAP. The groups-secure.conf file should be used for "secure" groups. All other groups should be configured on the file.

Force mirror synchronization
As user git on the git master (currently oystercatcher) run:

for repo in $(gitolite list-phy-repos) ; do for slave in $(gitolite mirror list slaves $repo) ; do gitolite mirror push $slave $repo ; done ; done