Forge Home


Gitolite Module


10,032 latest version

2.0 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 1.0.2 (latest)
  • 1.0.1
  • 1.0.0
released Jun 25th 2013

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'gwmngilfen-gitolite', '1.0.2'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add gwmngilfen-gitolite
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install gwmngilfen-gitolite --version 1.0.2

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Tags: git, gitolite


gwmngilfen/gitolite — version 1.0.2 Jun 25th 2013

Gitolite Puppet Module

Puppet module for configuring the Git auth system, Gitolite ( This not only installs Gitolite, but allows configuration of Gitolite from Puppet itself.

This is useful if you already have your SSH keys in Puppet (eg. for user account creation), as you can configure both users, their SSH access rights, and their Git access rights, all from Puppet

This module is for Gitolite2 - Gitolite3 is pending.



This module has only been tested on Debian Squeeze. Patches for other OSes welcome!

Basic install

This installs a bogus SSH key, so you will only be able to manage the gitolite-admin.git repository via Puppet

class { 'gitolite': }

If you want to supply your own config/keys to the gitolite-admin.git repository, pass them in like so:

class { 'gitolite':
  authfile => 'puppet:///modules/mymodule/admin.conf',
  keydir   => 'puppet:///modules/mymodule/admin-keys',

By default, gitolite is installed to '/var/lib/gitolite', with a user & group of 'gitolite'. This is configurable:

class { 'gitolite':
  base     => "/etc/gitolite",
  user     => "git",
  group    => "git",

Adding more repositories

For real repositories (i.e anything other than gitolite-admin.git) use the custom define:

gitolite::repo { 'puppet':
  authfile => 'puppet:///modules/test/puppet.conf',
  keydir   => 'puppet:///modules/test/puppet-keys',

See tests/* for examples of the config file and keys directory.


  • Don't include the src.tgz in the module (tiny though it is)


  • Fork the project
  • Commit and push until you are happy with your contribution

More info

Copyright (c) 2012 Greg Sutcliffe

This entire repository is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see