system-config/modules/recheckwatch/manifests/init.pp

121 lines
2.6 KiB
Puppet

# == Class: recheckwatch
#
class recheckwatch (
$gerrit_server = '',
$gerrit_user = '',
$recheckwatch_ssh_private_key = '',
) {
if ! defined(Package['python-daemon']) {
package { 'python-daemon':
ensure => present,
}
}
if ! defined(Package['python-genshi']) {
package { 'python-genshi':
ensure => present,
}
}
if ! defined(Package['python-launchpadlib']) {
package { 'python-launchpadlib':
ensure => present,
}
}
if ! defined(Package['gerritlib']) {
package { 'gerritlib':
ensure => latest,
provider => pip,
require => Class['pip'],
}
}
user { 'recheckwatch':
ensure => present,
home => '/home/recheckwatch',
shell => '/bin/bash',
gid => 'recheckwatch',
managehome => true,
require => Group['recheckwatch'],
}
group { 'recheckwatch':
ensure => present,
}
file { '/etc/recheckwatch':
ensure => directory,
}
file { '/etc/recheckwatch/recheckwatch.conf':
ensure => present,
owner => 'recheckwatch',
mode => '0400',
content => template('recheckwatch/recheckwatch.conf.erb'),
require => [
File['/etc/recheckwatch'],
User['recheckwatch'],
],
notify => Service['recheckwatch'],
}
file { '/var/run/recheckwatch':
ensure => directory,
owner => 'recheckwatch',
require => User['recheckwatch'],
}
file { '/var/www/recheckwatch':
ensure => directory,
owner => 'recheckwatch',
mode => '0755',
require => User['recheckwatch'],
}
file { '/var/lib/recheckwatch':
ensure => directory,
owner => 'recheckwatch',
require => User['recheckwatch'],
}
file { '/var/lib/recheckwatch/ssh':
ensure => directory,
owner => 'recheckwatch',
group => 'recheckwatch',
mode => '0500',
require => File['/var/lib/recheckwatch'],
}
file { '/var/lib/recheckwatch/ssh/id_rsa':
owner => 'recheckwatch',
group => 'recheckwatch',
mode => '0400',
require => File['/var/lib/recheckwatch/ssh'],
content => $recheckwatch_ssh_private_key,
}
file { '/etc/init.d/recheckwatch':
ensure => present,
owner => 'root',
group => 'root',
mode => '0555',
source => 'puppet:///modules/recheckwatch/recheckwatch.init',
}
service { 'recheckwatch':
name => 'recheckwatch',
enable => true,
hasrestart => true,
require => File['/etc/init.d/recheckwatch'],
}
file { '/usr/local/bin/recheckwatch':
ensure => present,
mode => '0555',
source => 'puppet:///modules/recheckwatch/recheckwatch',
notify => Service['recheckwatch'],
}
}