Forge Home


Host Git repositories with gitolite


11,240 latest version

1.9 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

  • 0.2.0 (latest)
  • 0.1.0
  • 0.0.3
  • 0.0.2
  • 0.0.1
released Nov 26th 2013

Start using this module

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

Add this module to your Puppetfile:

mod 'huit-gitolite', '0.2.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

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

Manually install this module globally with Puppet module tool:

puppet module install huit-gitolite --version 0.2.0

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: vcs, git, gitolite


huit/gitolite — version 0.2.0 Nov 26th 2013


This module automatically installs gitolite and performs initial configuration. At present, it supports Red Hat-like and Debian-like platforms.

NOTE: you must generate the SSH public key for the management user yourself (either with your own Puppet manifest, or manually) and install it before gitolite will work properly. See the documentation.


  • user
    name of gitolite management user (default "gitolite")
  • password
    HASHED (not plain-text) password of gitolite management user
  • homedir
    home directory of gitolite management user
    NOTE repositories are hosted here
  • version
    release tag of desired Gitolite version (default "v3.1")
    can accept version strings, git hashes, or other branches/tags
  • packages
    boolean value that determines whether this module will define the necessary package resources
    set this to false if you want to define them elsewhere in your manifests
  • nonrootinstallmethod allows installing gitolite in non-root mode (default false) Different gitolite installation modes are described at NOTE when using non-root install method set homedir to /home/...
  • keycontent the public key that should have access to gitolite-admin when first configured
  • rcfile configure .gitolite.rc file in gitolite mgmt user homedir
  • umask set the UMASK variable for gitolite.rc
  • git_config_keys set the GIT_CONFIG_KEYS variable for gitolite.rc
  • log_extra set the LOG_EXTRA variable for gitolite.rc
  • roles set the ROLES array for gitolite.rc
  • pre_create set the PRE_CREATE array for gitolite.rc
  • post_create set the POST_CREATE array for gitolite.rc
  • post_compile set the POST_COMPILE array for gitolite.rc


  • Installs packages to satisfy requirements
  • Creates source directory (/usr/src/gitolite) and checks out Gitolite repo
  • Creates gitolite management user (local system user) if necessary
  • Runs gitolite/install
  • Runs gitolite


  • POSIX-compliant sh (attempts to install bash)
  • git (must be v1.6.6 or later)
  • perl (must be 5.8 or later)
  • ssh (client)
  • Puppetlabs\vcsrepo

Sample Usage:

class {