Monty Taylor 52db16762b Consume jeepyb.
Instead of keeping many of these files directly in the tree, use them
from the out-of-tree jeepyb project, which makes them easier to consume
for other people who are not us.

Change-Id: Id704f2e17dd80709ef63cbbf2c5475a08a835f91
Reviewed-on: https://review.openstack.org/16777
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2012-11-30 18:02:30 +00:00

100 lines
2.0 KiB
Puppet

# == Class: github
#
class github(
$username = '',
$oauth_token = '',
$project_username = '',
$project_password = '',
$projects = []
) {
include jeepyb
include pip
package { 'PyGithub':
ensure => latest, # okay to use latest for pip
provider => pip,
require => Class['pip'],
}
# A lot of things need yaml, be conservative requiring this package to avoid
# conflicts with other modules.
if ! defined(Package['python-yaml']) {
package { 'python-yaml':
ensure => present,
}
}
group { 'github':
ensure => present,
}
user { 'github':
ensure => present,
comment => 'Github API User',
shell => '/bin/bash',
gid => 'github',
require => Group['github'],
}
file { '/etc/github':
ensure => directory,
group => 'root',
mode => '0755',
owner => 'root',
}
file { '/etc/github/github.config':
ensure => absent,
}
file { '/etc/github/github.secure.config':
ensure => present,
content => template('github/github.secure.config.erb'),
group => 'github',
mode => '0440',
owner => 'root',
replace => true,
require => [
Group['github'],
File['/etc/github'],
],
}
file { '/etc/github/github-projects.secure.config':
ensure => present,
content => template('github/github-projects.secure.config.erb'),
group => 'github',
mode => '0440',
owner => 'root',
replace => true,
require => [
Group['github'],
File['/etc/github'],
],
}
file { '/usr/local/github':
ensure => directory,
group => 'root',
mode => '0755',
owner => 'root',
}
file { '/usr/local/github/scripts':
ensure => absent,
}
cron { 'githubclosepull':
command => 'sleep $((RANDOM\%60+90)) && /usr/local/bin/close-pull-requests',
minute => '*/5',
require => [
Class['jeepyb'],
Package['python-yaml'],
Package['PyGithub'],
],
user => github,
}
}
# vim:sw=2:ts=2:expandtab:textwidth=79