Files
confdroid_nagios/manifests/server/files.pp

120 lines
3.3 KiB
ObjectPascal
Raw Normal View History

2017-07-20 14:47:24 +01:00
## cd_nagios::server::files.pp
# Module name: cd_nagios
# Author: Arne Teuke (arne_teuke@ConfDroid.com)
# # License:
# This file is part of cd_nagios.
#
# cd_nagios is used for providing automatic configuration of Nagios
# Copyright (C) 2016 ConfDroid (copyright@ConfDroid.com)
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# @summary Class manages all configuration files required for cd_nagios.
##############################################################################
class cd_nagios::server::files (
) inherits cd_nagios::params {
if $::fqdn == $ng_nagios_server {
if $ng_use_https == true {
if $ng_enable_certbot == true {
2017-07-20 14:47:24 +01:00
2017-07-23 12:07:05 +01:00
require cd_nagios::certbot::certs
2017-07-21 17:04:53 +01:00
}
}
2017-07-21 17:11:42 +01:00
require cd_nagios::main::dirs
# manage nagios.cfg
2017-07-24 16:00:07 +01:00
file { $ng_nagios_cfg_file:
ensure => file,
path => $ng_nagios_cfg_file,
owner => 'root',
group => 'root',
mode => '0644',
selrange => s0,
selrole => object_r,
seltype => nagios_etc_t,
seluser => system_u,
content => template($ng_nagios_cfg_erb),
notify => Service[$ng_service],
}
2017-07-21 17:11:42 +01:00
# manage cgi.cfg
file { $ng_cgi_cfg_file:
ensure => file,
path => $ng_cgi_cfg_file,
owner => 'root',
group => 'root',
mode => '0644',
selrange => s0,
selrole => object_r,
seltype => nagios_etc_t,
seluser => system_u,
content => template($ng_cgi_cfg_erb),
notify => Service[$ng_service],
}
2017-07-24 16:00:07 +01:00
# since we use vhost files, we do not want the regular file to appear
# after upgrades to avoid conflicts
file { $ng_nagios_conf:
ensure => absent,
}
file { $ng_forward_conf:
2017-07-21 17:11:42 +01:00
ensure => file,
path => $ng_forward_conf,
2017-07-21 17:11:42 +01:00
owner => 'root',
group => 'root',
mode => '0644',
selrange => s0,
selrole => object_r,
seltype => httpd_config_t,
seluser => system_u,
content => template($ng_forward_conf_erb),
2017-07-21 17:11:42 +01:00
notify => Service[$ae_service],
}
2017-07-23 11:54:58 +01:00
if $ng_use_https == true {
2017-07-21 17:11:42 +01:00
# create ssl vhost
2017-07-23 11:54:58 +01:00
file { $ng_ssl_vhost_file:
2017-07-21 17:11:42 +01:00
ensure => file,
2017-07-23 11:54:58 +01:00
path => $ng_ssl_vhost_file,
2017-07-21 17:11:42 +01:00
owner => 'root',
group => 'root',
mode => '0644',
selrange => s0,
selrole => object_r,
seltype => httpd_config_t,
seluser => system_u,
2017-07-23 11:54:58 +01:00
content => template($ng_ssl_vhost_erb),
2017-07-21 17:11:42 +01:00
notify => Service[$ae_service],
}
2017-07-23 11:54:58 +01:00
}
2017-07-21 17:11:42 +01:00
if $ng_use_https != true {
2017-07-21 17:11:42 +01:00
# remove ssl_vhost
file { $ng_ssl_vhost_file:
ensure => absent,
2017-07-21 16:15:59 +01:00
}
2017-07-21 14:05:55 +01:00
}
2017-07-20 14:47:24 +01:00
}
}