Infrastructure Git Repos

Setting up an infrastructure git repo - and the push mechanisms for the magicks

We have a number of git repos (in /srv/git on batcave) that manage files for ansible, our docs, our common host info database and our kickstarts. This is a doc on how to setup a new one of these, if it is needed.

Contact Information

Owner

Fedora Infrastructure Team

Contact

#fedora-admin, sysadmin-main

Location

Phoenix

Servers

batcave01.iad2.fedoraproject.org, batcave-comm01.qa.fedoraproject.org

Steps

Create the bare repo:

make $git_dir
setfacl -m d:g:$yourgroup:rwx -m d:g:$othergroup:rwx  \
 -m g:$yourgroup:rwx -m g:$othergroup:rwx $git_dir

cd $git_dir
git init --bare

edit up config - add these lines to the bottom:

[hooks]
# (normallysysadmin-members@fedoraproject.org)
mailinglist = emailaddress@yourdomain.org
emailprefix =
maildomain = fedoraproject.org
reposource = /path/to/this/dir
repodest = /path/to/where/you/want/the/files/dumped

edit up description - make it something useful:

cd hooks
rm -f *.sample
cp hooks from /git/infra-docs/hooks/ on batcave01 to this path

modify sudoers to allow users in whatever groups can commit to this repo can run /usr/local/bin/syncgittree.sh w/o inputting a password