jenkins-infra/dist/profile/manifests/r10k.pp

75 lines
2.0 KiB
Puppet

class profile::r10k {
# Here we get our config for r10k from hiera.
# currently this hash is only used by the templates below
$r10k_options = hiera('r10k_options')
class { '::r10k':
remote => 'https://github.com/jenkins-infra/jenkins-infra.git',
version => '1.2.1',
modulepath => '/etc/puppetlabs/puppet/environments/$environment/dist:/etc/puppetlabs/puppet/environments/$environment/modules:/opt/puppet/share/puppet/modules',
manage_modulepath => true,
mcollective => true,
}
ini_setting { 'Update manifest in puppet.conf':
ensure => present,
path => '/etc/puppetlabs/puppet/puppet.conf',
section => 'main',
setting => 'manifest',
value => '/etc/puppetlabs/puppet/environments/$environment/manifests/site.pp',
}
case $::osfamily {
'redhat': {
file { '/etc/init.d/r10k_deployhook.init':
ensure => file,
owner => root,
group => root,
mode => '0755',
content => template("${module_name}/r10k_deployhook.init.erb"),
alias => 'deployhook',
}
}
'debian': {
file { '/etc/init/r10k_deployhook.conf':
ensure => file,
owner => root,
group => root,
mode => '0755',
content => template("${module_name}/r10k_deployhook.upstart.erb"),
alias => 'deployhook_init',
}
}
default: { fail("${module_name} is not supported on ${::osfamily}") }
}
package { 'sinatra':
ensure => present,
provider => pe_gem,
}
package { 'webrick':
ensure => present,
provider => pe_gem,
}
file { '/usr/local/bin/r10k_deployhook':
ensure => file,
owner => root,
group => root,
mode => '0755',
content => template("${module_name}/r10k_deployhook.erb"),
require => [ Package['sinatra'], Package['webrick'] ],
}
service { 'r10k_deployhook':
ensure => running,
enable => true,
subscribe => [File['deployhook'], File['deployhook_init']],
}
}