Manage cgitrc config file
In same way as other config files, add a sane default list, and allow manifest to override that list, to configure cgitrc from the manifest. Change-Id: I5c8ef0e7036c4b7a33aa12dc502c048af0499dda
This commit is contained in:
@@ -28,8 +28,10 @@ class cgit(
|
|||||||
$ssl_chain_file_contents = '', # If left empty puppet will not create file.
|
$ssl_chain_file_contents = '', # If left empty puppet will not create file.
|
||||||
$behind_proxy = false,
|
$behind_proxy = false,
|
||||||
$cgit_timeout = false,
|
$cgit_timeout = false,
|
||||||
|
$manage_cgitrc = false,
|
||||||
$prefork_settings = {}, # override the prefork worker settings
|
$prefork_settings = {}, # override the prefork worker settings
|
||||||
$mpm_settings = {} # override the mpm worker settings
|
$mpm_settings = {}, # override the mpm worker settings
|
||||||
|
$cgitrc_settings = {}
|
||||||
) {
|
) {
|
||||||
validate_hash($prefork_settings)
|
validate_hash($prefork_settings)
|
||||||
validate_hash($mpm_settings)
|
validate_hash($mpm_settings)
|
||||||
@@ -49,6 +51,27 @@ class cgit(
|
|||||||
'ThreadsPerChild' => 25,
|
'ThreadsPerChild' => 25,
|
||||||
'MaxRequestsPerChild' => 0
|
'MaxRequestsPerChild' => 0
|
||||||
}
|
}
|
||||||
|
$default_cgitrc_settings = {
|
||||||
|
'cache-size' => 1000,
|
||||||
|
'cache-repo-ttl' => 1,
|
||||||
|
'cache-root-ttl' => 1,
|
||||||
|
'clone-prefix' => '',
|
||||||
|
'enable-index-owner' => 0,
|
||||||
|
'enable-index-links' => 1,
|
||||||
|
'enable-http-clone' => 0,
|
||||||
|
'max-stats' => 'quarter',
|
||||||
|
'side-by-side-diffs' => 1,
|
||||||
|
'mimetype.gif' => 'image/gif',
|
||||||
|
'mimetype.html' => 'text/html',
|
||||||
|
'mimetype.jpg' => 'image/jpeg',
|
||||||
|
'mimetype.jpeg' => 'image/jpeg',
|
||||||
|
'mimetype.pdf' => 'application/pdf',
|
||||||
|
'mimetype.png' => 'image/png',
|
||||||
|
'mimetype.svg' => 'image/svg+xml',
|
||||||
|
'source-filter' => '/usr/libexec/cgit/filters/syntax-highlighting.sh',
|
||||||
|
'max-repo-count' => 600,
|
||||||
|
'include' => '/etc/cgitrepos'
|
||||||
|
}
|
||||||
if $behind_proxy == true {
|
if $behind_proxy == true {
|
||||||
$http_port = 8080
|
$http_port = 8080
|
||||||
$https_port = 4443
|
$https_port = 4443
|
||||||
@@ -63,6 +86,7 @@ class cgit(
|
|||||||
# merge settings with defaults
|
# merge settings with defaults
|
||||||
$final_mpm_settings = merge($default_mpm_settings, $mpm_settings)
|
$final_mpm_settings = merge($default_mpm_settings, $mpm_settings)
|
||||||
$final_prefork_settings = merge($default_prefork_settings, $prefork_settings)
|
$final_prefork_settings = merge($default_prefork_settings, $prefork_settings)
|
||||||
|
$final_cgitrc_settings = merge($default_cgitrc_settings, $cgitrc_settings)
|
||||||
|
|
||||||
include apache
|
include apache
|
||||||
|
|
||||||
@@ -196,4 +220,14 @@ class cgit(
|
|||||||
before => Apache::Vhost[$vhost_name],
|
before => Apache::Vhost[$vhost_name],
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if $manage_cgitrc {
|
||||||
|
file { '/etc/cgitrc':
|
||||||
|
ensure => present,
|
||||||
|
owner => 'root',
|
||||||
|
group => 'root',
|
||||||
|
mode => '0644',
|
||||||
|
content => template('cgit/cgitrc.erb')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
7
templates/cgitrc.erb
Normal file
7
templates/cgitrc.erb
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
#
|
||||||
|
# See cgitrc(5) or /usr/share/doc/cgit-*/cgitrc.5.html for details
|
||||||
|
#
|
||||||
|
|
||||||
|
<% final_cgitrc_settings.keys.sort.each do |setting| -%>
|
||||||
|
<%= setting -%>=<%= final_cgitrc_settings[setting] %>
|
||||||
|
<% end -%>
|
||||||
Reference in New Issue
Block a user