Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.

Puppet Git Module

Module for configuring Git.

Tested on Debian GNU/Linux 6.0 Squeeze and Ubuntu 10.4 LTS with Puppet 2.6. Patches for other operating systems are welcome.


  • Schedule git-gc --auto --quiet runs.


Clone this repo to a git directory under your Puppet modules directory:

git clone git:// git

If you don't have a Puppet Master you can create a manifest file based on the notes below and run Puppet in stand-alone mode providing the module directory you cloned this repo to:

puppet apply --modulepath=modules test_git.pp


The git::client class installs the git client:

include git::client

The git::server class creates a git user which can be used for hosting git repositories over ssh:

include git::server

You can specify which ssh keys should have access to the git repositories stored under the git user's home directory by using the git:authorized_key resource:

git::authorized_key  { "bob":
  key => "a8a7dgf7ad8j13g",

git::authorized_key  { "joe":
  key  => "a8a7dgf7ad8j13g",
  type => "ssh-dsa",

You can use git::repo to create bare repositories under the git user's home directory which can be pushed to over ssh:

git::repo { "blog": }
Something went wrong with that request. Please try again.