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

67 lines
1.8 KiB
Puppet

## puppet_cd::r10k::webhook.pp
# Module name: puppet_cd
# Author: Arne Teuke (arne_teuke@confdroid)
# @summary Class manages r10k webhook settings for the puppet_cd module.
###############################################################################
class puppet_cd::r10k::webhook (
) inherits puppet_cd::params {
if ($pt_pm_fqdn == $fqdn) and ($pt_use_r10k_webhook == true) {
# create the webhook binary
file { $pt_r10k_hook_file:
ensure => file,
owner => 'root',
group => 'root',
mode => '0755',
selrange => s0,
selrole => object_r,
seltype => bin_t,
seluser => unconfined_u,
source => 'puppet:///modules/puppet_cd/webhook',
}
# create the webhook config dir
file { $pt_r10k_webhook_dir:
ensure => directory,
owner => 'root',
group => 'root',
mode => '0755',
selrange => s0,
selrole => object_r,
seltype => etc_t,
seluser => system_u,
}
# create webhook config
file { $pt_r10k_hook_config_file:
owner => 'root',
group => 'root',
mode => '0644',
selrange => s0,
selrole => object_r,
seltype => etc_t,
seluser => system_u,
content => template($pt_r10k_hook_config_erb),
}
# create service config
file { $pt_r10k_hook_config_file:
owner => 'root',
group => 'root',
mode => '0644',
selrange => s0,
selrole => object_r,
seltype => systemd_unit_file_t,
seluser => system_u,
content => template($pt_r10k_hook_service_erb),
}
# manage service
service { 'r10k-webhook':
ensure => 'running',
enable => true,
subscribe => File[$pt_r10k_hook_service_erb],
}
}
}