gerrit
Version information
This version is compatible with:
- Puppet Enterprise 2023.8.x, 2023.7.x, 2023.6.x, 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x
- Puppet >= 7.0.0 < 9.0.0
- , , ,
Start using this module
Add this module to your Puppetfile:
mod 'puppet-gerrit', '2.0.0'
Learn more about managing modules with a PuppetfileDocumentation
Gerrit module for Puppet
Table of Contents
- Overview
- Module Description - What the module does and why it is useful
- Setup - The basics of getting started with gerrit
- Usage - Configuration options and additional functionality
- Reference - An under-the-hood peek at what the module is doing and how
- Limitations - OS compatibility, etc.
- Development - Guide for contributing to the module
Overview
Module Description
Setup
What gerrit affects
Setup Requirements
Beginning with gerrit
Usage
Reference
Classes
Public Classes
Private Classes
Parameters
Limitations
This module is tested on the following platforms:
- CentOS 5/6/7
- RedHat 5/6/7
- Debian 6/7/8
- Ubuntu 10.04/12.04/14.04/16.04
Contributing
Please read CONTRIBUTING.md for full details on contributing to this project.
Reference
Table of Contents
Classes
Public Classes
gerrit
: Install and configure Gerrit
Private Classes
gerrit::params
: It sets variables according to platform.
Defined types
gerrit::config
: Set git config attributesgerrit::folder
: Define to create directories inside gerrit target pathgerrit::hook
: Define to create gerrit hookgerrit::plugin
: Define to install gerrit pluginsgerrit::repository
: Define to create empty git bare repositories
Classes
gerrit
Install and configure Gerrit
Examples
Install gerrit
class { 'gerrit':
source => '/vagrant/gerrit-2.8.1.war',
target => '/opt/gerrit'
}
Parameters
The following parameters are available in the gerrit
class:
source
target
auth_type
canonicalweburl
httpd_protocol
httpd_hostname
httpd_port
configure_gitweb
database_backend
database_hostname
database_name
database_password
database_username
download_scheme
git_package
gitweb_cgi_path
gitweb_package
java_package
install_user
install_git
install_gitweb
install_java
install_java_mysql
ldap_accountbase
ldap_accountpattern
ldap_accountemailaddress
ldap_accountfullname
ldap_accountmemberfield
ldap_accountsshusername
ldap_groupbase
ldap_groupname
ldap_grouppattern
ldap_groupmemberpattern
ldap_password
ldap_server
ldap_sslverify
ldap_timeout
ldap_username
smtp_server
smtp_port
smtp_encryption
smtp_user
smtp_password
mysql_java_connector
mysql_java_package
manage_service
user
extra_folders
source
Data type: Any
The path to the gerrit.war file
target
Data type: Any
The path to install gerrit to
auth_type
Data type: Any
Auth type (ldap, http, ...)
Default value: 'OPENID'
canonicalweburl
Data type: Any
Canonical web url used in several places by gerrit
Default value: 'http://127.0.0.1:8080/'
httpd_protocol
Data type: Any
The protocol used by gerrit. Options : http, https, proxy-http, proxy-https
Default value: 'http'
httpd_hostname
Data type: Any
The hostname on wich gerrit will be reachable. Default any.
Default value: '*'
httpd_port
Data type: Any
The port on wich gerrit will be reachable
Default value: 8080
configure_gitweb
Data type: Any
Should we adapt gerrit configuration to support gitweb. Boolean.
Default value: true
database_backend
Data type: Any
Database backend. currently mysql and h2 are supported
Default value: 'h2'
database_hostname
Data type: Any
Database hostname (mysql)
Default value: undef
database_name
Data type: Any
Database name (h2 and mysql)
Default value: 'db/ReviewDB'
database_password
Data type: Any
Database name (mysql)
Default value: undef
database_username
Data type: Any
Database username (mysql)
Default value: undef
download_scheme
Data type: Any
Download scheme (ssh, http, ...)
Default value: ['ssh', 'anon_http', 'http']
git_package
Data type: Any
The name of the git package
Default value: $gerrit::params::git_package
gitweb_cgi_path
Data type: Any
Path to the gitweb cgi executable
Default value: $gerrit::params::gitweb_cgi_path
gitweb_package
Data type: Any
The name of the gitweb package
Default value: $gerrit::params::gitweb_package
java_package
Data type: Any
The name of the java package
Default value: $gerrit::params::java_package
install_user
Data type: Any
Should this module create the user. Boolean
Default value: true
install_git
Data type: Any
Should this module install git. Boolean
Default value: true
install_gitweb
Data type: Any
Should this module install gitweb. Boolean
Default value: true
install_java
Data type: Any
Should this module install java. Boolean
Default value: true
install_java_mysql
Data type: Any
Should this module install java mysql connector. Boolean
Default value: true
ldap_accountbase
Data type: Any
The base dn for the accounts
Default value: undef
ldap_accountpattern
Data type: Any
The query pattern to use when searching for a user account. format like "(&(objectClass=inetOrgPerson)(cn=${username}))"
Default value: undef
ldap_accountemailaddress
Data type: Any
The name of an attribute on the user account object which contains the user's Internet email address format like "mail"
Default value: undef
ldap_accountfullname
Data type: Any
The name of an attribute on the user account object which contains the groups the user is part of format like "memberOf"
Default value: undef
ldap_accountmemberfield
Data type: Any
The name of an attribute on the user account object which contains the groups the user is part of. Typically used for Active Directory and FreeIPA servers.
Default value: undef
ldap_accountsshusername
Data type: Any
The name of an attribute on the user account object which contains the initial value for the user's SSH username field in Gerrit format like "cn"
Default value: undef
ldap_groupbase
Data type: Any
The base dn for the groups
Default value: undef
ldap_groupname
Data type: Any
Name of the attribute on the group object which contains the value to use as the group name in Gerrit
Default value: undef
ldap_grouppattern
Data type: Any
Query pattern used when searching for an LDAP group to connect to a Gerrit group.
Default value: undef
ldap_groupmemberpattern
Data type: Any
Query pattern to use when searching for the groups that a user account is currently a member of
Default value: undef
ldap_password
Data type: Any
The ldap password to bind to
Default value: undef
ldap_server
Data type: Any
The ldap server address
Default value: undef
ldap_sslverify
Data type: Any
If false and $ldap_server is an ldaps:// style URL, Gerrit will not verify the server certificate when it connects to perform a query.
Default value: undef
ldap_timeout
Data type: Any
The read timeout for an LDAP operation. The value is in the usual time-unit format like "1 s", "100 ms", etc..
Default value: undef
ldap_username
Data type: Any
The ldap user to bind to
Default value: undef
smtp_server
Data type: Any
The SMTP server address
Default value: undef
smtp_port
Data type: Any
The SMTP server port
Default value: undef
smtp_encryption
Data type: Any
The SMTP encryption
Default value: undef
smtp_user
Data type: Any
The SMTP user
Default value: undef
smtp_password
Data type: Any
The SMTP password
Default value: undef
mysql_java_connector
Data type: Any
The name of the java connector file
Default value: $gerrit::params::mysql_java_connector
mysql_java_package
Data type: Any
The name of the java connector package
Default value: $gerrit::params::mysql_java_package
manage_service
Data type: Any
Should this module launch the service.
Default value: true
user
Data type: Any
The user used to install gerrit
Default value: 'gerrit'
extra_folders
Data type: Any
Extra folder to create on gerrit home directory
Default value: ['hooks', 'plugins']
Defined types
gerrit::config
Set git config attributes
Parameters
The following parameters are available in the gerrit::config
defined type:
name
The attribute name
value
Data type: Any
The value of thie git config attribute.
ensure
Data type: Any
Manage the state of this git config attribute.
Default value: present
file
Data type: Any
The file in which the git config attribute should be set.
Default value: "${gerrit::target}/etc/gerrit.config"
user
Data type: Any
The owner of configuration
Default value: 'gerrit'
gerrit::folder
Define to create directories inside gerrit target path
Parameters
The following parameters are available in the gerrit::folder
defined type:
name
The folder name
ensure
Data type: Any
Manage the state of this directory inside gerrit target path
Default value: 'directory'
gerrit::hook
Define to create gerrit hook
Parameters
The following parameters are available in the gerrit::hook
defined type:
name
The hook name
ensure
Data type: Any
Manage the state of this gerrit hook.
Default value: 'present'
source
Data type: Any
The source of this hook. Can be any value valid for the file
source
parameter.
Default value: undef
content
Data type: Any
The content of this hook. Can be any value valid for the file
content
parameter.
Default value: undef
gerrit::plugin
Define to install gerrit plugins
Parameters
The following parameters are available in the gerrit::plugin
defined type:
name
The plugin name
source
Data type: Any
The source of this plugins. Can be any value valid for the file
source
parameter.
ensure
Data type: Any
Manage the state of this gerrit plugin.
Default value: 'present'
gerrit::repository
Define to create empty git bare repositories
Parameters
The following parameters are available in the gerrit::repository
defined type:
name
The repository name
Changelog
All notable changes to this project will be documented in this file. Each new release typically also includes the latest modulesync defaults. These should not affect the functionality of the module.
v2.0.0 (2024-01-31)
Breaking changes:
- Drop Puppet 6 support #78 (bastelfreak)
- drop Ubuntu 14.04 support #63 (bastelfreak)
- modulesync 2.7.0 and drop puppet 4 #61 (bastelfreak)
Implemented enhancements:
- Add Puppet 8 support #80 (bastelfreak)
- puppetlabs/stdlib: Allow 9.x #79 (bastelfreak)
- Fix config management, add SMTP #77 (uddr)
- Allow stdlib 8.0.0 #73 (smortex)
Merged pull requests:
- puppet-lint: fix top_scope_facts warnings #74 (bastelfreak)
- Add puppet-strings docs #70 (baurmatt)
- modulesync 3.0.0 & puppet-lint updates #69 (bastelfreak)
v1.0.2 (2018-10-20)
Merged pull requests:
- modulesync 2.1.0 and allow puppet 6.x #57 (bastelfreak)
v1.0.1 (2018-09-06)
Closed issues:
- scheme needs to be specified one per line #4
Merged pull requests:
- allow puppetlabs/stdlib 5.x #54 (bastelfreak)
- purge EOL Debian 7 from metadata.json #51 (bastelfreak)
- Remove docker nodesets #49 (bastelfreak)
- drop EOL OSs; fix puppet version range #48 (bastelfreak)
v1.0.0 (2017-11-16)
Merged pull requests:
- bump puppet version dependency to >= 4.7.1 \< 6.0.0 #42 (bastelfreak)
- Add LICENSE file #38 (alexjfisher)
v0.4.0 (2017-02-11)
This is the last release with Puppet3 support!
- Add minimal documentation
- Add missing contribution file
- Add missing badges
- rubocop: fix RSpec/ImplicitExpect
- Set minimum version_requirement for Puppet + dep
2016-08-19 Release 0.3.0
- Initial release in the VoX Pupuli namespace (module provided by roidelapluie)
- Modulesync with latest Vox Pupuli defaults
* This Changelog was automatically generated by github_changelog_generator
Dependencies
- puppetlabs/stdlib (>= 4.6.0 < 10.0.0)
The MIT License (MIT) Copyright (c) 2014 Julien Pivotto Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.