Project:Infrastructure/Service Catalog/Git

From Gentoo Wiki
Jump to:navigation Jump to:search

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@$

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 groups-overlays.conf file.

Add repository

Set access to repository

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