[]
(https://travis-ci.org/mricon/puppet-gitolite3)
"Puppet module to manage Gitolite installation and configuration")
- Overview
- Module Description - What the module does and why it is useful
- Setup - The basics of getting started with gitolite
- Reference
- Limitations - OS compatibility, etc.
- Development - Guide for contributing to the module
- Contributors
Puppet module to manage Gitolite3 installation and configuration.
This module installs and configures Gitolite version 3. It assumes you will be using a package provided by your distribution and currently does not manage username/homedir creation, etc.
The quickest way to be up and running using the gitolite3 module is to copy your public SSH key in the files folder of this module. So, you can use this syntax:
class { 'gitolite3':
admin_key_content => 'ssh-rsa AAAA...',
}
Please see the "params" and "config" classes for configurable settings. It's expected that this will be used with hiera, so the quickest way to configure it for your environment is to add it to your Puppetfile:
mod 'mricon-gitolite3'
And then set up your hiera:
gitolite3::admin_key_content: 'ssh-rsa AAAA...'
gitolite3::config::umask: '0022'
gitolite3::config::log_dest: 'syslog,normal'
Whether to manage package installation or not.
Default: true
Name of the package to install. NOTE: you will need to make sure your repositories provide this package, as this module makes no assumptions about how you install EPEL.
Default: gitolite3
What do you want to do with the package.
Default: installed
If defined, it will be set up as the canonical location for gitolite-managed git repositories, and symlinked into $GL_HOME/repositories. Note, that you may run into troubles with hooks, paths, alternates, etc, if you choose to go down this route, but simple installations should be safe.
NOTE: You cannot change this after gitolite has been set up and expect things to work, as the repository would need to be manually moved first.
Default: undef
The mode to set on the repodir_path defined above.
Default: 0755
Where does gitolite get installed. Note, that we don't manage this location,
just use it for installing other files. If it isn't /var/lib/gitolite3
, you
should set this to whatever the package you are installing provides.
Default: /var/lib/gitolite3
Which user should own the config file(s)? You should set this to whatever user your package/other scripts used to set up gitolite. Changing it here will not have the desired effect.
Default: gitolite3
Which group should own the config file(s)? You should set this to whatever group your package/other scripts used to set up gitolite. Changing it here will not have the desired effect.
Default: gitolite3
Which command should run to do the initial gitolite setup. It will be followed by the key you provide as part of the setup.
Default: /bin/gitolite setup -pk
Contents of the SSH public key that should become the admin user after
gitolite install. This should be the full key, including ssh-rsa
and any
comments at the end.
Default: undefined
Alternatively, a source file for the public key should be listed in a format
that is understood by puppet (e.g. puppet:///modules/foo/bar.pub
).
NOTE: Either admin_key_content
or admin_key_source
MUST be defined if
you're setting up gitolite from scratch (i.e. don't already have an existing
gitolite installation and just want to manage the .gitolite.rc file).
Default: undefined
These variables define configuration parameters for the main .gitolite.rc file. Please see http://gitolite.com/gitolite/rc.html for details.
Controls the UMASK variable.
Default: '0077'
Controls the GIT_CONFIG_KEYS variable.
Default: ''
Controls the LOG_EXTRA variable.
Default: '1'
Controls the LOG_DEST variable.
Default: undef
Controls the WRITER_CAN_UPDATE_DESC variable.
Default: undef
See http://gitolite.com/gitolite/sts.html#the-shell_users_list.
Default: undef
Hash of ROLES definitions.
Default: { 'READERS'=>'1', 'WRITERS'=>'1', }
Controls the SITE_INFO variable.
Default: undef
Controls the HOSTNAME variable.
Default: undef
Controls the LOCAL_CODE variable. Carefully read http://gitolite.com/gitolite/non-core.html#ncloc before changing it.
Default: undef
See https://github.com/sitaramc/gitolite/blob/master/src/lib/Gitolite/Triggers/Alias.pm
Defaults: undef
See http://gitolite.com/gitolite/triggers.html. All values are arrays.
Defaults: undef
Array of features to enable.
Default: [ 'help', 'desc', 'info', 'perms', 'writable', 'ssh-authkeys', 'git-config', 'daemon', 'gitweb' ]
Controls the UNSFAFE_PATT variable.
Default: undef
RedHat and CentOS 7 are the only ones tested on. Also, we are currently letting the official packages manage user and homedir creation, so this module will not handle that bit for you.
Originally developed by Echoes Technologies
Pretty much entirely rewritten by Konstantin Ryabitsev for LF IT use to only support CentOS 7, puppet 4 and Gitolite 3.