2012-07-23 10:21:29 -05:00
|
|
|
class github (
|
|
|
|
$username,
|
|
|
|
$oauth_token,
|
|
|
|
$projects = []
|
|
|
|
) {
|
|
|
|
|
2012-07-23 11:54:48 -05:00
|
|
|
include pip
|
2012-07-23 10:21:29 -05:00
|
|
|
|
|
|
|
package { "PyGithub":
|
|
|
|
ensure => latest, # okay to use latest for pip
|
|
|
|
provider => pip,
|
2012-07-23 11:54:48 -05:00
|
|
|
require => Class[pip]
|
2012-07-23 10:21:29 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
group { "github":
|
|
|
|
ensure => present
|
|
|
|
}
|
|
|
|
|
|
|
|
user { "github":
|
|
|
|
ensure => present,
|
|
|
|
comment => "Github API User",
|
|
|
|
shell => "/bin/bash",
|
|
|
|
gid => "github",
|
|
|
|
require => Group["github"]
|
|
|
|
}
|
|
|
|
|
|
|
|
file { '/etc/github':
|
|
|
|
owner => 'root',
|
|
|
|
group => 'root',
|
|
|
|
mode => 755,
|
|
|
|
ensure => 'directory',
|
|
|
|
}
|
|
|
|
|
|
|
|
file { '/etc/github/github.config':
|
2012-07-29 12:54:27 -05:00
|
|
|
ensure => absent
|
2012-07-23 10:21:29 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
file { '/etc/github/github.secure.config':
|
|
|
|
owner => 'root',
|
|
|
|
group => 'github',
|
|
|
|
mode => 440,
|
|
|
|
ensure => 'present',
|
2012-07-23 20:09:17 -05:00
|
|
|
content => template('github/github.secure.config.erb'),
|
2012-07-23 10:21:29 -05:00
|
|
|
replace => 'true',
|
|
|
|
require => [Group['github'], File['/etc/github']],
|
|
|
|
}
|
|
|
|
|
|
|
|
file { '/usr/local/github':
|
|
|
|
owner => 'root',
|
|
|
|
group => 'root',
|
|
|
|
mode => 755,
|
|
|
|
ensure => 'directory',
|
|
|
|
}
|
|
|
|
|
|
|
|
file { '/usr/local/github/scripts':
|
|
|
|
owner => 'root',
|
|
|
|
group => 'root',
|
|
|
|
mode => 755,
|
|
|
|
ensure => 'directory',
|
|
|
|
recurse => true,
|
|
|
|
require => File['/usr/local/github'],
|
|
|
|
source => [
|
|
|
|
"puppet:///modules/github/scripts",
|
|
|
|
],
|
|
|
|
}
|
|
|
|
|
|
|
|
cron { "githubclosepull":
|
|
|
|
user => github,
|
|
|
|
minute => "*/5",
|
|
|
|
command => 'sleep $((RANDOM\%60+90)) && python /usr/local/github/scripts/close_pull_requests.py',
|
|
|
|
require => File['/usr/local/github/scripts'],
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|