3
0
Files
puppet_cd/manifests/r10k/install.pp

70 lines
1.9 KiB
Puppet

## puppet_cd::r10k::install.pp
# Module name: puppet_cd
# Author: Arne Teuke (arne_teuke@confdroid)
# @summary Class manages r10k installation for the puppet_cd module.
###############################################################################
class puppet_cd::r10k::install (
) inherits puppet_cd::params {
if ($pt_pm_fqdn == $fqdn) and ($pt_use_r10k == true) {
# enable CRB
exec { 'enable_crb':
command => 'dnf config-manager --set-enabled crb',
unless => 'dnf repolist --disabled | grep -qE "crb|CodeReady"',
path => ['/usr/bin', '/bin'],
}
# install required packages
package { $pt_r10k_pkg:
ensure => $pt_pkg_ensure,
before => Package['r10k'],
require => Exec['enable_crb'],
}
# install r10k via gem
package { 'r10k':
ensure => $pt_pkg_ensure,
provider => gem,
}
# create r10k dir
file { 'r10k_dir':
ensure => directory,
path => $pt_r10k_dir,
owner => 'root',
group => 'root',
mode => '0755',
selrange => s0,
selrole => object_r,
seltype => puppet_etc_t,
seluser => unconfined_u,
}
# configure r10k.yaml
file { $pt_r10k_file:
ensure => file,
owner => 'root',
group => 'root',
mode => '0644',
selrange => s0,
selrole => object_r,
seltype => puppet_etc_t,
seluser => unconfined_u,
require => File['r10k_dir'],
content => template($pt_r10k_erb),
}
if $pt_use_r10k_webhook == true {
file { $pt_r10k_webhook_pkg:
ensure => file,
source => 'puppet:///modules/puppet_cd/webhook-go.rpm'
}
exec { 'install rpm':
command => "yum install -y ${pt_r10k_webhook_pkg}",
unless => 'rpm -qa | grep webhook-go',
require => File[$pt_r10k_webhook_pkg],
}
}
}
}