# 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 to configure cgit on a CentOS node. # # == Class: openstack_project::git class openstack_project::git ( $sysadmins = [], $git_gerrit_ssh_key = '', ) { class { 'openstack_project::server': iptables_public_tcp_ports => [80, 9418], sysadmins => $sysadmins, } include cgit include jeepyb include pip # We don't actually use these, but jeepyb requires them. $local_git_dir = '/var/lib/git' $ssh_project_key = '' file { '/etc/cgitrc': ensure => present, owner => 'root', group => 'root', mode => '0644', source => 'puppet:///modules/openstack_project/git/cgitrc' } file { '/home/cgit/.ssh/': ensure => directory, owner => 'cgit', group => 'cgit', mode => '0700', require => User['cgit'], } file { '/home/cgit/.ssh/authorized_keys': owner => 'cgit', group => 'cgit', mode => '0600', content => $git_gerrit_ssh_key, replace => true, require => File['/home/cgit/.ssh/'] } file { '/home/cgit/projects.yaml': ensure => present, owner => 'cgit', group => 'cgit', mode => '0444', content => template('openstack_project/review.projects.yaml.erb'), replace => true, } exec { 'create_cgitrepos': command => 'create-cgitrepos', path => '/bin:/usr/bin:/usr/local/bin', require => File['/home/cgit/projects.yaml'], subscribe => File['/home/cgit/projects.yaml'], refreshonly => true, } class { 'selinux': mode => 'enforcing' } }