Split out cgit module
Depends-On: Ibae9f2aa1d40d4b7afe0882c684251b5fc8a7135 Change-Id: I0c6ae1cf29924f1380288790fa53373d3767072d
This commit is contained in:
parent
1fc55d4dc9
commit
1dcb21a849
@ -61,6 +61,7 @@ INTEGRATION_MODULES["https://git.openstack.org/openstack-infra/puppet-ansible"]=
|
||||
INTEGRATION_MODULES["https://git.openstack.org/openstack-infra/puppet-asterisk"]="origin/master"
|
||||
INTEGRATION_MODULES["https://git.openstack.org/openstack-infra/puppet-bup"]="origin/master"
|
||||
INTEGRATION_MODULES["https://git.openstack.org/openstack-infra/puppet-bugdaystats"]="origin/master"
|
||||
INTEGRATION_MODULES["https://git.openstack.org/openstack-infra/puppet-cgit"]="origin/master"
|
||||
INTEGRATION_MODULES["https://git.openstack.org/openstack-infra/puppet-elasticsearch"]="origin/master"
|
||||
INTEGRATION_MODULES["https://git.openstack.org/openstack-infra/puppet-etherpad_lite"]="origin/master"
|
||||
INTEGRATION_MODULES["https://git.openstack.org/openstack-infra/puppet-elastic_recheck"]="origin/master"
|
||||
|
@ -1,14 +0,0 @@
|
||||
# default: off
|
||||
# description: The git dæmon allows git repositories to be exported using \
|
||||
# the git:// protocol.
|
||||
|
||||
service git
|
||||
{
|
||||
disable = yes
|
||||
socket_type = stream
|
||||
wait = no
|
||||
user = nobody
|
||||
server = /usr/libexec/git-core/git-daemon
|
||||
server_args = --base-path=/var/lib/git --export-all --syslog --inetd --verbose /var/lib/git
|
||||
log_on_failure += USERID
|
||||
}
|
@ -1,175 +0,0 @@
|
||||
# Copyright 2013 Hewlett-Packard Development Company, L.P.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License. You may obtain
|
||||
# a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
#
|
||||
# Class: cgit
|
||||
#
|
||||
class cgit(
|
||||
$vhost_name = $::fqdn,
|
||||
$serveradmin = "webmaster@${::fqdn}",
|
||||
$serveraliases = '',
|
||||
$cgitdir = '/var/www/cgit',
|
||||
$staticfiles = '/var/www/cgit/static',
|
||||
$ssl_cert_file = '',
|
||||
$ssl_key_file = '',
|
||||
$ssl_chain_file = '',
|
||||
$ssl_cert_file_contents = '', # If left empty puppet will not create file.
|
||||
$ssl_key_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,
|
||||
) {
|
||||
|
||||
if $behind_proxy == true {
|
||||
$http_port = 8080
|
||||
$https_port = 4443
|
||||
$daemon_port = 29418
|
||||
}
|
||||
else {
|
||||
$http_port = 80
|
||||
$https_port = 443
|
||||
$daemon_port = 9418
|
||||
}
|
||||
|
||||
include apache
|
||||
|
||||
if ($::osfamily == 'RedHat') {
|
||||
include cgit::selinux
|
||||
}
|
||||
|
||||
package { [
|
||||
'cgit',
|
||||
'git-daemon',
|
||||
'highlight',
|
||||
]:
|
||||
ensure => present,
|
||||
}
|
||||
|
||||
user { 'cgit':
|
||||
ensure => present,
|
||||
home => '/home/cgit',
|
||||
shell => '/bin/bash',
|
||||
gid => 'cgit',
|
||||
managehome => true,
|
||||
require => Group['cgit'],
|
||||
}
|
||||
|
||||
group { 'cgit':
|
||||
ensure => present,
|
||||
}
|
||||
|
||||
file {'/home/cgit':
|
||||
ensure => directory,
|
||||
owner => 'cgit',
|
||||
group => 'cgit',
|
||||
mode => '0755',
|
||||
require => User['cgit'],
|
||||
}
|
||||
|
||||
file { '/var/lib/git':
|
||||
ensure => directory,
|
||||
owner => 'cgit',
|
||||
group => 'cgit',
|
||||
mode => '0644',
|
||||
require => User['cgit'],
|
||||
}
|
||||
|
||||
apache::vhost { $vhost_name:
|
||||
port => $https_port,
|
||||
serveraliases => $serveraliases,
|
||||
docroot => 'MEANINGLESS ARGUMENT',
|
||||
priority => '50',
|
||||
template => 'cgit/git.vhost.erb',
|
||||
ssl => true,
|
||||
require => [
|
||||
File[$staticfiles],
|
||||
Package['cgit'],
|
||||
],
|
||||
}
|
||||
|
||||
file { '/etc/httpd/conf/httpd.conf':
|
||||
ensure => present,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
content => template('cgit/httpd.conf.erb'),
|
||||
require => Package['httpd'],
|
||||
}
|
||||
|
||||
file { '/etc/httpd/conf.d/ssl.conf':
|
||||
ensure => present,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
content => template('cgit/ssl.conf.erb'),
|
||||
require => Package[$::apache::params::ssl_package],
|
||||
}
|
||||
|
||||
file { $cgitdir:
|
||||
ensure => directory,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0755',
|
||||
}
|
||||
|
||||
file { $staticfiles:
|
||||
ensure => directory,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0755',
|
||||
require => File[$cgitdir],
|
||||
}
|
||||
|
||||
file { '/etc/init.d/git-daemon':
|
||||
ensure => present,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0755',
|
||||
content => template('cgit/git-daemon.init.erb'),
|
||||
}
|
||||
|
||||
service { 'git-daemon':
|
||||
ensure => running,
|
||||
enable => true,
|
||||
subscribe => File['/etc/init.d/git-daemon'],
|
||||
}
|
||||
|
||||
if $ssl_cert_file_contents != '' {
|
||||
file { $ssl_cert_file:
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0640',
|
||||
content => $ssl_cert_file_contents,
|
||||
before => Apache::Vhost[$vhost_name],
|
||||
}
|
||||
}
|
||||
|
||||
if $ssl_key_file_contents != '' {
|
||||
file { $ssl_key_file:
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0640',
|
||||
content => $ssl_key_file_contents,
|
||||
before => Apache::Vhost[$vhost_name],
|
||||
}
|
||||
}
|
||||
|
||||
if $ssl_chain_file_contents != '' {
|
||||
file { $ssl_chain_file:
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0640',
|
||||
content => $ssl_chain_file_contents,
|
||||
before => Apache::Vhost[$vhost_name],
|
||||
}
|
||||
}
|
||||
}
|
@ -1,55 +0,0 @@
|
||||
# Copyright 2014 Hewlett-Packard Development Company, L.P.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License. You may obtain
|
||||
# a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
#
|
||||
# Class: cgit::selinux
|
||||
#
|
||||
class cgit::selinux {
|
||||
exec { 'restorecon -R -v /var/lib/git':
|
||||
path => '/sbin',
|
||||
require => File['/var/lib/git'],
|
||||
subscribe => File['/var/lib/git'],
|
||||
refreshonly => true,
|
||||
}
|
||||
|
||||
selboolean { 'httpd_enable_cgi':
|
||||
persistent => true,
|
||||
value => on
|
||||
}
|
||||
|
||||
package { 'policycoreutils-python':
|
||||
ensure => present,
|
||||
}
|
||||
|
||||
exec { 'cgit_allow_http_port':
|
||||
# If we cannot add the rule modify the existing rule.
|
||||
onlyif => "bash -c \'! semanage port -a -t http_port_t -p tcp ${::cgit::http_port}\'",
|
||||
command => "semanage port -m -t http_port_t -p tcp ${::cgit::http_port}",
|
||||
path => '/bin:/usr/sbin',
|
||||
before => Service['httpd'],
|
||||
require => Package['policycoreutils-python'],
|
||||
subscribe => File['/etc/httpd/conf/httpd.conf'],
|
||||
refreshonly => true,
|
||||
}
|
||||
|
||||
exec { 'cgit_allow_https_port':
|
||||
# If we cannot add the rule modify the existing rule.
|
||||
onlyif => "bash -c \'! semanage port -a -t http_port_t -p tcp ${::cgit::https_port}\'",
|
||||
command => "semanage port -m -t http_port_t -p tcp ${::cgit::https_port}",
|
||||
path => '/bin:/usr/sbin',
|
||||
require => Package['policycoreutils-python'],
|
||||
subscribe => File['/etc/httpd/conf.d/ssl.conf'],
|
||||
refreshonly => true,
|
||||
}
|
||||
}
|
||||
|
@ -1,63 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Startup/shutdown script for the git daemon
|
||||
# chkconfig: 345 56 10
|
||||
#
|
||||
# description: Startup/shutdown script for the git daemon
|
||||
#
|
||||
. /etc/init.d/functions
|
||||
|
||||
NAME=git-daemon
|
||||
USER=nobody
|
||||
DAEMON=/usr/libexec/git-core/git-daemon
|
||||
GIT_REPO=/var/lib/git
|
||||
PORT=<%= scope.lookupvar("cgit::daemon_port") %>
|
||||
ARGS="--base-path=/var/lib/git --user=$USER --export-all --syslog --detach --verbose --port=$PORT $GIT_REPO"
|
||||
|
||||
start () {
|
||||
echo -n $"Starting $NAME: "
|
||||
|
||||
# start daemon
|
||||
daemon $DAEMON $ARGS
|
||||
RETVAL=$?
|
||||
echo
|
||||
[ $RETVAL = 0 ] && touch /var/lock/git-daemon
|
||||
return $RETVAL
|
||||
}
|
||||
|
||||
stop () {
|
||||
# stop daemon
|
||||
|
||||
echo -n $"Stopping $NAME: "
|
||||
killproc $DAEMON
|
||||
RETVAL=$?
|
||||
echo
|
||||
[ $RETVAL = 0 ] && rm -f /var/lock/git-daemon
|
||||
}
|
||||
|
||||
restart() {
|
||||
stop
|
||||
start
|
||||
}
|
||||
|
||||
case $1 in
|
||||
start)
|
||||
start
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
restart)
|
||||
restart
|
||||
;;
|
||||
status)
|
||||
status $DAEMON
|
||||
RETVAL=$?
|
||||
;;
|
||||
*)
|
||||
echo $"Usage: $NAME {start|stop|restart|status}"
|
||||
exit 3
|
||||
;;
|
||||
esac
|
||||
|
||||
exit $RETVAL
|
@ -1,70 +0,0 @@
|
||||
<VirtualHost *:<%= scope.lookupvar("cgit::http_port") %>>
|
||||
ServerName <%= scope.lookupvar("cgit::vhost_name") %>
|
||||
ServerAdmin <%= scope.lookupvar("cgit::serveradmin") %>
|
||||
|
||||
<% if @serveraliases.is_a? Array -%>
|
||||
<% @serveraliases.each do |name| -%><%= " ServerAlias #{name}\n" %><% end -%>
|
||||
<% elsif @serveraliases != '' -%>
|
||||
<%= " ServerAlias #{@serveraliases}" -%>
|
||||
<% end -%>
|
||||
|
||||
Alias /cgit-data /usr/share/cgit
|
||||
ScriptAlias /cgit /var/www/cgi-bin/cgit
|
||||
Alias /static <%= scope.lookupvar("cgit::staticfiles") %>
|
||||
RewriteEngine On
|
||||
RewriteRule ^/$ /cgit [R]
|
||||
|
||||
SetEnv GIT_PROJECT_ROOT /var/lib/git/
|
||||
SetEnv GIT_HTTP_EXPORT_ALL
|
||||
SetEnv GIT_NOTES_DISPLAY_REF refs/notes/*
|
||||
|
||||
AliasMatch ^/(.*/objects/[0-9a-f]{2}/[0-9a-f]{38})$ /var/lib/git/$1
|
||||
AliasMatch ^/(.*/objects/pack/pack-[0-9a-f]{40}.(pack|idx))$ /var/lib/git/$1
|
||||
ScriptAlias / /usr/libexec/git-core/git-http-backend/
|
||||
|
||||
ErrorLog /var/log/httpd/git-error.log
|
||||
|
||||
LogLevel warn
|
||||
|
||||
CustomLog /var/log/httpd/git-access.log combined
|
||||
</VirtualHost>
|
||||
|
||||
<VirtualHost *:<%= scope.lookupvar("cgit::https_port") %>>
|
||||
ServerName <%= scope.lookupvar("cgit::vhost_name") %>
|
||||
ServerAdmin <%= scope.lookupvar("cgit::serveradmin") %>
|
||||
|
||||
<% if @serveraliases.is_a? Array -%>
|
||||
<% @serveraliases.each do |name| -%><%= " ServerAlias #{name}\n" %><% end -%>
|
||||
<% elsif @serveraliases != '' -%>
|
||||
<%= " ServerAlias #{@serveraliases}" -%>
|
||||
<% end -%>
|
||||
|
||||
Alias /cgit-data /usr/share/cgit
|
||||
ScriptAlias /cgit /var/www/cgi-bin/cgit
|
||||
Alias /static <%= scope.lookupvar("cgit::staticfiles") %>
|
||||
RewriteEngine On
|
||||
RewriteRule ^/$ /cgit [R]
|
||||
|
||||
SetEnv GIT_PROJECT_ROOT /var/lib/git/
|
||||
SetEnv GIT_HTTP_EXPORT_ALL
|
||||
SetEnv GIT_NOTES_DISPLAY_REF refs/notes/*
|
||||
|
||||
AliasMatch ^/(.*/objects/[0-9a-f]{2}/[0-9a-f]{38})$ /var/lib/git/$1
|
||||
AliasMatch ^/(.*/objects/pack/pack-[0-9a-f]{40}.(pack|idx))$ /var/lib/git/$1
|
||||
ScriptAlias / /usr/libexec/git-core/git-http-backend/
|
||||
|
||||
ErrorLog /var/log/httpd/git-error.log
|
||||
|
||||
LogLevel warn
|
||||
|
||||
CustomLog /var/log/httpd/git-access.log combined
|
||||
|
||||
SSLEngine on
|
||||
SSLProtocol All -SSLv2 -SSLv3
|
||||
|
||||
SSLCertificateFile <%= scope.lookupvar("cgit::ssl_cert_file") %>
|
||||
SSLCertificateKeyFile <%= scope.lookupvar("cgit::ssl_key_file") %>
|
||||
<% if scope.lookupvar("cgit::ssl_chain_file") != "" %>
|
||||
SSLCertificateChainFile <%= scope.lookupvar("cgit::ssl_chain_file") %>
|
||||
<% end %>
|
||||
</VirtualHost>
|
File diff suppressed because it is too large
Load Diff
@ -1,68 +0,0 @@
|
||||
#
|
||||
# This is the Apache server configuration file providing SSL support.
|
||||
# It contains the configuration directives to instruct the server how to
|
||||
# serve pages over an https connection. For detailing information about these
|
||||
# directives see <URL:http://httpd.apache.org/docs/2.2/mod/mod_ssl.html>
|
||||
#
|
||||
# Do NOT simply read the instructions in here without understanding
|
||||
# what they do. They're here only as hints or reminders. If you are unsure
|
||||
# consult the online docs. You have been warned.
|
||||
#
|
||||
|
||||
LoadModule ssl_module modules/mod_ssl.so
|
||||
|
||||
#
|
||||
# When we also provide SSL we have to listen to the
|
||||
# the HTTPS port in addition.
|
||||
#
|
||||
Listen <%= scope.lookupvar("cgit::https_port") %>
|
||||
|
||||
##
|
||||
## SSL Global Context
|
||||
##
|
||||
## All SSL configuration in this context applies both to
|
||||
## the main server and all SSL-enabled virtual hosts.
|
||||
##
|
||||
|
||||
# Pass Phrase Dialog:
|
||||
# Configure the pass phrase gathering process.
|
||||
# The filtering dialog program (`builtin' is a internal
|
||||
# terminal dialog) has to provide the pass phrase on stdout.
|
||||
SSLPassPhraseDialog builtin
|
||||
|
||||
# Inter-Process Session Cache:
|
||||
# Configure the SSL Session Cache: First the mechanism
|
||||
# to use and second the expiring timeout (in seconds).
|
||||
SSLSessionCache shmcb:/var/cache/mod_ssl/scache(512000)
|
||||
SSLSessionCacheTimeout 300
|
||||
|
||||
# Semaphore:
|
||||
# Configure the path to the mutual exclusion semaphore the
|
||||
# SSL engine uses internally for inter-process synchronization.
|
||||
SSLMutex default
|
||||
|
||||
# Pseudo Random Number Generator (PRNG):
|
||||
# Configure one or more sources to seed the PRNG of the
|
||||
# SSL library. The seed data should be of good random quality.
|
||||
# WARNING! On some platforms /dev/random blocks if not enough entropy
|
||||
# is available. This means you then cannot use the /dev/random device
|
||||
# because it would lead to very long connection times (as long as
|
||||
# it requires to make more entropy available). But usually those
|
||||
# platforms additionally provide a /dev/urandom device which doesn't
|
||||
# block. So, if available, use this one instead. Read the mod_ssl User
|
||||
# Manual for more details.
|
||||
SSLRandomSeed startup file:/dev/urandom 256
|
||||
SSLRandomSeed connect builtin
|
||||
#SSLRandomSeed startup file:/dev/random 512
|
||||
#SSLRandomSeed connect file:/dev/random 512
|
||||
#SSLRandomSeed connect file:/dev/urandom 512
|
||||
|
||||
#
|
||||
# Use "SSLCryptoDevice" to enable any supported hardware
|
||||
# accelerators. Use "openssl engine -v" to list supported
|
||||
# engine names. NOTE: If you enable an accelerator and the
|
||||
# server does not start, consult the error logs and ensure
|
||||
# your accelerator is functioning properly.
|
||||
#
|
||||
SSLCryptoDevice builtin
|
||||
#SSLCryptoDevice ubsec
|
Loading…
x
Reference in New Issue
Block a user