git for server config tracking

Karsten 'quaid' Wade kwade at redhat.com
Wed Dec 14 23:47:34 UTC 2011


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Today I setup local git repos on linode01.ovirt.org for tracking the
services' configurations: Mailman, Wordpress, Supybot, MediaWiki, and
/etc.

Hopefully my idea here is sane. If it's not, help me make it sane. :)
It's clearly not a solution equivalent to Puppet or Chef, but I'm not
trying to add a new service :) I'm trying to make sure we have a
handle on where we are right now in a lightweight, it's-just-done way.

In /root/git:

ls -l
total 4
lrwxrwxrwx 1 root root   4 Dec 14 18:37 ovirt-infra-etc -> /etc
lrwxrwxrwx 1 root root  25 Dec 14 18:21 ovirt-infra-mailman ->
/usr/lib/mailman/Mailman/
lrwxrwxrwx 1 root root  16 Dec 14 16:51 ovirt-infra-mediawiki ->
/var/www/html/w/
lrwxrwxrwx 1 root root  17 Dec 14 16:54 ovirt-infra-supybot ->
/var/lib/supybot/
lrwxrwxrwx 1 root root  21 Dec 14 16:52 ovirt-infra-wordpress ->
/usr/share/wordpress/
- -rw-r--r-- 1 root root 172 Dec 14 16:50 REPOS

Each of the symlinked directories now was initialized as a git repo.
Then I created this tree as the central origin:

ls -l /usr/local/git_root/
total 20
drwxr-xr-x 7 root root 4096 Dec 14 18:38 ovirt-infra-etc.git
drwxr-xr-x 7 root root 4096 Dec 14 18:23 ovirt-infra-mailman.git
drwxr-xr-x 7 root root 4096 Dec 14 18:30 ovirt-infra-mediawiki.git
drwxr-xr-x 7 root root 4096 Dec 14 18:33 ovirt-infra-supybot.git
drwxr-xr-x 7 root root 4096 Dec 14 17:09 ovirt-infra-wordpress.git

I'm working on the wiki page about how it's setup, but essentially I
did this for each repository:

mkdir foo-project.git
cd foo-project.git/
git --bare init
git config core.sharedrepository 1
git config receive.denyNonFastforwards true
find objects -type d -exec chmod 02770 {} \;
cd /root/git/foo-project.git
git remote add origin /usr/local/git_root/foo_project.git
git push origin master
git checkout origin/master
git branch -f master origin/master
git checkout master

All of this won't leave any of the servers and be without root:root
ownership because these git repositories contain actual passwords for
all these services.

- - Karsten
- -- 
name:  Karsten 'quaid' Wade, Sr. Community Architect
team:    Red Hat Community Architecture & Leadership
uri:              http://communityleadershipteam.org
                         http://TheOpenSourceWay.org
gpg:                                        AD0E0C41
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iD8DBQFO6TWW2ZIOBq0ODEERAjgsAKDAbQrHDWl/hji0gSBIkGVwoyYLPgCdE8oI
7+5N9jHC2pzs45I2tsO+UHQ=
=Njkr
-----END PGP SIGNATURE-----



More information about the Infra mailing list