Forge Home

gitolite

Puppet module to manage gitolite installation and configuration

14,597 downloads

7,396 latest version

4.3 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.

Support the Puppet Community by contributing to this module

You are welcome to contribute to this module by suggesting new features, currency updates, or fixes. Every contribution is valuable to help ensure that the module remains compatible with the latest Puppet versions and continues to meet community needs. Complete the following steps:

  1. Review the module’s contribution guidelines and any licenses. Ensure that your planned contribution aligns with the author’s standards and any legal requirements.
  2. Fork the repository on GitHub, make changes on a branch of your fork, and submit a pull request. The pull request must clearly document your proposed change.

For questions about updating the module, contact the module’s author.

Version information

  • 1.0.0 (latest)
  • 0.4.0
  • 0.3.0
  • 0.2.2
  • 0.2.1
  • 0.2.0
  • 0.1.2
  • 0.1.1 (deleted)
  • 0.1.0
released Feb 28th 2017
This version is compatible with:
  • Puppet Enterprise >= 3.2.0 < 5.0.0
  • Puppet >= 3.0.0 < 5.0.0
  • , , , , , ,

Start using this module

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

Add this module to your Puppetfile:

mod 'echoes-gitolite', '1.0.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

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

Manually install this module globally with Puppet module tool:

puppet module install echoes-gitolite --version 1.0.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.

Download
Tags: git

Documentation

echoes/gitolite — version 1.0.0 Feb 28th 2017

gitolite

[Build Status] (https://travis-ci.org/echoes-tech/puppet-gitolite) [Flattr Button] (https://flattr.com/submit/auto?user_id=echoes&url=https://forge.puppetlabs.com/echoes/gitolite&title=Puppet%20module%20to%20manage%20Gitolite&description=This%20module%20installs%20and%20configures%20Gitolite.&lang=en_GB&category=software "Puppet module to manage Gitolite installation and configuration")

Table of Contents

  1. Overview
  2. Module Description - What the module does and why it is useful
  3. Setup - The basics of getting started with gitolite
  4. Usage - Configuration options and additional functionality
  5. Reference - An under-the-hood peek at what the module is doing and how
  6. Limitations - OS compatibility, etc.
  7. Development - Guide for contributing to the module
  8. Contributors

Overview

Puppet module to manage Gitolite installation and configuration.

Module Description

This module installs and configures Gitolite.

Setup

Setup Requirements

WARNING: For RedHat systems, you may need to add an additional repository like the EPEL repository. You can use the module stahnma-epel to do this.

Beginning with gitolite

The quickest way to be up and running using the gitolite module is to copy your public SSH key in the files folder of this module. So, you can use this syntax:

class { 'gitolite':
  admin_key_source => "puppet:///modules/gitolite/id_rsa.pub",
}

Usage

Use content parameter instead of source parameter

class { 'gitolite':
  admin_key_content => "ssh-dss AAAAB3NzaC1kc3MAAaCBANzDfIs7n5Co8zEa+dWgr6VzPFrTKsFmaG4l1JPa/XZWId9b4J+Cdf53cCCanUt9K8tFOeuo5TEzy+rS+O48G/R+tpv/iY8wJp7gqdBK2j65JPocLTMZ48rprDTNtg35FJZp6gSbiie7iml9QQUFSzAPOWkA6hP/CcEkh3NiCd0RAAAAFQCrQJliYVH1sXBh5ppC+IDa3j/arQAAAIAYHjea9fGUX31fIRENyIqwVxlX7x3e48XnVJNfZrzC+NSI5BhwnDD5Hb9ls0GOq4kSIkTajmCcb+514YgW3jdlRwiFWbfQbf19CJ1Np6165knbBkGJESaG4+dfUGgkrWMP92k4MbXpmMsKterUq6UDVOIwq4Ke2uBa3iHI5VhdlQAAAIAJ3BawCZz5Ft2T+tHjaUulWRrhQnCv3xHQU8Juat71M9iqCKiNQntZoDAiMrf9h9vGg+ya2ILcplf9zdNwOSVGPebF5S4BqY+LrC7tYcjRrWkrQkioywya1y8+Qt9uqksvcRh7T4WC3yMgbG3NqSHKl51ncDVw7gLzoIURt9Oimw== florent@echoes",
}

Reference

Classes

Public Classes

  • gitolite: Main class, includes all other classes.

Private Classes

  • gitolite::install: Handles the packages.
  • gitolite::config: Handles the configuration file.

Parameters

The following parameters are available in the ::gitolite class:

admin_key_content

Tells Puppet what content of administration SSH key to add to Gitolite. Exclusive with the source parameter. Valid options: string. Default value: undef

admin_key_source

Tells Puppet which path of administration SSH key to add to Gitolite. Exclusive with the content parameter. Valid options: string. Default value: undef

allow_local_code

Tells Puppet whether the LOCAL_CODE setting of .gitolite.rc file is enabled. Valid options: boolean. Default value: false

The value of LOCAL_CODE is $ENV{HOME}/local. This option is only available for Gitolite 3. For more details, see : http://gitolite.com/gitolite/non-core.html#localcode

git_config_keys

This setting of .gitolite.rc file allows the repo admin to define acceptable gitconfig keys. Valid options: string. Default value: empty For more details, see : http://gitolite.com/gitolite/rc.html#specific-variables

group_name

Tells Puppet which Gitolite group name to manage. Valid options: string. Default value: varies by operating system

home_dir

Tells Puppet which Gitolite home directory to manage. Valid options: string containing an absolute path. Default value: '/var/lib/gitolite'

local_code_in_repo

Tells Puppet whether the LOCAL_CODE setting of .gitolite.rc file is set to a director in the gitolite-admin repository. Must also set allow_local_code parameter to true. Valid options: boolean. Default value: false

The value of LOCAL_CODE is $rc{GL_ADMIN_BASE}/local. This option is only available for Gitolite 3.

SECURITY WARNING: Enabling this setting will allow anyone with write access to the gitolite-admin repository to execute arbitrary code on the gitolite server.

local_code_path

Tells Puppet what the path of LOCAL_CODE setting of .gitolite.rc file is. Valid options: string. Default value: 'local'

manage_user

Whether the user/group resources will be managed by this module. Default value: true

package_ensure

Tells Puppet whether the Gitolite package should be installed, and what version. Valid options: 'present', 'latest', or a specific version number. Default value: 'present'

package_name

Tells Puppet which Gitolite package to manage. Valid options: string. Default value: varies by operating system

repo_specific_hooks

Tells Puppet whether to enable the repo-specific-hooks feature in .gitolite.rc. Valid options: boolean. Default value: false

This option is only available for Gitolite 3.

umask

This setting of .gitolite.rc file controls file permissions for gitolite repositories. Set this to 0027, for example, to allow the group_name group to read newly created repos. Default value: 0077

user_name

Tells Puppet which Gitolite user name to manage. Valid options: string. Default value: varies by operating system

version

Tells Puppet which Gitolite version to manage. Valid options: '2' or '3'. Default value: varies by operating system

Limitations

RedHat and Debian family OSes are officially supported. Tested and built on Debian and CentOS.

Development

Echoes Technologies modules on the Puppet Forge are open projects, and community contributions are essential for keeping them great.

Fork this module on GitHub

Contributors

The list of contributors can be found at: https://github.com/echoes-tech/puppet-gitolite/graphs/contributors