115 lines
3.2 KiB
Puppet
115 lines
3.2 KiB
Puppet
## 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 {
|
|
|
|
require cd_nagios::certbot::certs
|
|
|
|
}
|
|
}
|
|
|
|
require cd_nagios::main::dirs
|
|
|
|
# manage nagios.cfg
|
|
|
|
# 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],
|
|
}
|
|
|
|
# # manage nagios.conf for httpd
|
|
|
|
# file { $ng_nagios_conf:
|
|
# ensure => file,
|
|
# path => $ng_nagios_conf,
|
|
# owner => 'root',
|
|
# group => 'root',
|
|
# mode => '0644',
|
|
# selrange => s0,
|
|
# selrole => object_r,
|
|
# seltype => httpd_config_t,
|
|
# seluser => system_u,
|
|
# content => template($ng_nagios_conf_erb),
|
|
# notify => Service[$ae_service],
|
|
# }
|
|
|
|
file { $ng_forward_conf:
|
|
ensure => file,
|
|
path => $ng_forward_conf,
|
|
owner => 'root',
|
|
group => 'root',
|
|
mode => '0644',
|
|
selrange => s0,
|
|
selrole => object_r,
|
|
seltype => httpd_config_t,
|
|
seluser => system_u,
|
|
content => template($ng_forward_conf_erb),
|
|
notify => Service[$ae_service],
|
|
}
|
|
|
|
if $ng_use_https == true {
|
|
|
|
# create ssl vhost
|
|
|
|
file { $ng_ssl_vhost_file:
|
|
ensure => file,
|
|
path => $ng_ssl_vhost_file,
|
|
owner => 'root',
|
|
group => 'root',
|
|
mode => '0644',
|
|
selrange => s0,
|
|
selrole => object_r,
|
|
seltype => httpd_config_t,
|
|
seluser => system_u,
|
|
content => template($ng_ssl_vhost_erb),
|
|
notify => Service[$ae_service],
|
|
}
|
|
}
|
|
|
|
if $ng_use_https != true {
|
|
|
|
# remove ssl_vhost
|
|
|
|
file { $ng_ssl_vhost_file:
|
|
ensure => absent,
|
|
}
|
|
}
|
|
}
|
|
}
|