Host Git repositories with gitolite

Harvard University Information Technology



10,105 latest version

1.9 quality score

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

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 {