From a6974bf41b23de45110075d68d1f38a65677b715 Mon Sep 17 00:00:00 2001 From: Arne Teuke Date: Fri, 28 Jul 2017 16:42:50 +0100 Subject: [PATCH 1/8] included service and pointed to files --- README.md | 9 ++- manifests/main/config.pp | 2 +- manifests/main/dirs.pp | 56 +++++++++++++++++++ manifests/main/files.pp | 44 +++++++++++++++ manifests/main/service.pp | 37 +++++++++++++ manifests/params.pp | 107 +++++++++++++++++++++++++++++++++++- templates/nrpe_cfg_head.erb | 59 ++++++++++++++++++++ 7 files changed, 309 insertions(+), 5 deletions(-) create mode 100644 manifests/main/dirs.pp create mode 100644 manifests/main/files.pp create mode 100644 manifests/main/service.pp create mode 100644 templates/nrpe_cfg_head.erb diff --git a/README.md b/README.md index 5ddc9ef..188d2c3 100644 --- a/README.md +++ b/README.md @@ -30,10 +30,12 @@ NRPE allows monitoring tools like NAGIOS or ICINGA to connect to clients for mon ### Features INSTALLATION -* install binaries +* install nrpe binaries CONFIGURATION +* manage NRPE service user properties * manage directory structure (file system permissions, selinux context) +* SERVICE @@ -44,8 +46,11 @@ Repostructure has moved to REPOSTRUCTURE.md in repo. All dependencies must be included in the catalogue. * [cd_resources](https://gitlab.puppetsoft.com/12WW1160/cd_resources) to manage YUM repositories. +* [cd_stdlib](https://gitlab.puppetsoft.com/12WW1160/cd_stdlib) or [puppetlabs stdlib](https://github.com/puppetlabs/puppetlabs-stdlib) to facilitate concat +* [cd_concat](https://gitlab.puppetsoft.com/12WW1160/cd_stdlib) or [puppetlabs concat](https://github.com/puppetlabs/puppetlabs-concat) for concatenating files ### Deployment +`cd_nrpe` does typically not need to be specifically declared. It will be auto-required by `cd_nagios` with default settings. Only if you want to override settings declare it specifically. ##### native Puppet deployment @@ -57,7 +62,7 @@ node 'example.example.net' { } ``` #### through Foreman: -In order to apply parameters through Foreman, **__cd_nrpe::params__** must be added to the host or hostgroup in question. +In order to apply parameters through Foreman, **__cd_nrpe::params__** must be added to the host or hostgroup in question, unless the defaults are fully acceptable across the estate. See [more details about class deployment on Confdroid.com](https://confdroid.com/2017/05/deploying-our-puppet-modules/). diff --git a/manifests/main/config.pp b/manifests/main/config.pp index 10a358b..5de9f5c 100644 --- a/manifests/main/config.pp +++ b/manifests/main/config.pp @@ -26,6 +26,6 @@ class cd_nrpe::main::config ( ) inherits cd_nrpe::params { - include cd_nrpe::main::user + include cd_nrpe::main::service } diff --git a/manifests/main/dirs.pp b/manifests/main/dirs.pp new file mode 100644 index 0000000..cf50cee --- /dev/null +++ b/manifests/main/dirs.pp @@ -0,0 +1,56 @@ +## cd_nrpe::main::dirs.pp +# Module name: cd_nrpe +# Author: Arne Teuke (arne_teuke@ConfDroid.com) +# # License: +# This file is part of cd_nrpe. +# +# cd_nrpe is used for providing automatic configuration of +# +# 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 . +# @summary Class manages all directories required for cd_nrpe. +############################################################################### +class cd_nrpe::main::dirs ( + +) inherits cd_nrpe::params { + + require cd_nrpe::main::user + + # manage main conf_d_dir + + file { $ne_main_conf_d_dir: + ensure => directory, + path => $ne_main_conf_d_dir, + owner => 'root', + group => 'root', + mode => '0755', + selrange => s0, + selrole => object_r, + seltype => etc_t, + seluser => system_u, + } + + file { $ne_run_dir: + ensure => directory, + path => $ne_run_dir, + owner => $ne_user, + group => $ne_user, + mode => '0755', + selrange => s0, + selrole => object_r, + seltype => var_run_t, + seluser => system_u, + } + +} diff --git a/manifests/main/files.pp b/manifests/main/files.pp new file mode 100644 index 0000000..cc817b8 --- /dev/null +++ b/manifests/main/files.pp @@ -0,0 +1,44 @@ +## cd_nrpe::main::files.pp +# Module name: cd_nrpe +# Author: Arne Teuke (arne_teuke@ConfDroid.com) +# # License: +# This file is part of cd_nrpe. +# +# cd_nrpe is used for providing automatic configuration of +# +# 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 . +# @summary Class manages all configuration files required for cd_nrpe. +############################################################################## +class cd_nrpe::main::files ( + +) inherits cd_nrpe::params { + + require cd_nrpe::main::dirs + + file { $ne_main_conf_file: + ensure => file, + path => ne_main_conf_file, + owner => 'root', + group => 'root', + mode => '0640', + selrange => s0, + selrole => object_r, + seltype => nrpe_etc_t, + seluser => system_u, + content => template($ne_main_conf_file), + notify => Service[$ne_service], + } + +} diff --git a/manifests/main/service.pp b/manifests/main/service.pp new file mode 100644 index 0000000..782b110 --- /dev/null +++ b/manifests/main/service.pp @@ -0,0 +1,37 @@ +## cd_nrpe::main::service.pp +# Module name: cd_nrpe +# Author: Arne Teuke (arne_teuke@ConfDroid.com) +# # License: +# This file is part of cd_nrpe. +# +# cd_nrpe is used for providing automatic configuration of +# +# 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 . +# @summary Class manages the service(s) for cd_nrpe. +############################################################################# +class cd_nrpe::main::service ( + +) inherits cd_nrpe::params { + + require cd_nrpe::main::files + + service { $ne_service: + ensure => running, + hasstatus => true, + hasrestart => true, + enable => true, + } + +} diff --git a/manifests/params.pp b/manifests/params.pp index 35343cf..0c8add9 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -24,7 +24,66 @@ # @param [string] pkg_ensure # which [package type](https://confdroid.com/2017/05/puppet-type-package/) # to choose, i.e. `latest` or `present`. -############################################################################## +# @param [string] ne_log_facility the log facility to use. +# @param [string] ne_log_file If a log file is specified in this option, +# nrpe will write to that file instead of using syslog. i.e. /var/run/nrpe.log +# @param [string] ne_debug Whether debugging messages are logged to the +# syslog facility. +# @param [string] ne_nrpe_port the NRPE port. used in firewall ( optional) +# and configuration file. +# @param [string] ne_listen_queue_size Listen queue size (backlog) for +# serving incoming connections. +# @param [string] ne_nagios_server ipaddress of the nagios server to be allowed +# to connect to NRPE service. Default is to look up a global parameter from +# ENC. +# @param [string] ne_dont_blame_nrpe whether or not the NRPE daemon will +# allow clients to specify arguments to commands that are executed. +# @param [string] ne_allow_bash_cmd_subst whether or not the NRPE daemon will +# allow clients to specify arguments that contain bash command substitutions +# of the form $(...). +# @param [boolean] ne_allow_sudo Whether to allow sudo access. used in nrpe.cfg +# as well as for creating a sudo role. +# @param [string] command_prefix allows you to prefix all commands with a +# user-defined string. +# @param [string] ne_incl_fw Whether to include firewall rules +# @param [string] ne_command_timeout maximum number of seconds that the NRPE +# daemon will allow plugins to finish executing before killing them off. +# @param [string] ne_connection_timeout maximum number of seconds that the +# NRPE daemon will wait for a connection to be established before exiting. +# @param [string] ne_ssl_version These directives allow you to specify how to +# use SSL/TLS. +# @param [string] ne_ssl_use_adh This is for backward compatibility and is +# DEPRECATED. Set to 1 to enable ADH or 2 to require ADH. 1 is currently the +# default but will be changed in a later version. +# @param [string] ne_ssl_cipher_list ciphers can be used. For backward +# compatibility, this defaults to 'ssl_cipher_list=ALL:!MD5:@STRENGTH' in +# this version but will be changed in a later version of NRPE. +# @param [string] ne_ssl_cacert_file path and name of the ssl certificate +# authority ( ca) file / chain. must be full path. +# @param [string] ne_ssl_cert_file path and name of the server ssl certificate. +# must include full path. +# @param [string] ne_ssl_privatekey_filepath and name of the server ssl +# private key. Must include full path. +# @param [string] ne_ssl_client_certs determines client certificate usage. +# Values: 0 = Don't ask for or require client certificates +# 1 = Ask for client certificates +# 2 = Require client certificates +# @param [string] ne_ssl_logging determines which SSL messages are send to +# syslog. OR values together to specify multiple options. +# Values: 0x00 (0) = No additional logging (default) +# 0x01 (1) = Log startup SSL/TLS parameters +# 0x02 (2) = Log remote IP address +# 0x04 (4) = Log SSL/TLS version of connections +# 0x08 (8) = Log which cipher is being used for the connection +# 0x10 (16) = Log if client has a certificate +# 0x20 (32) = Log details of client's certificate if it has one +# -1 or 0xff or 0x2f = All of the above +# @param [string] ne_nasty_metachars list of characters that cannot +# be passed to the NRPE daemon. +# @param [string] ne_include_file include definitions from an external +# config file. +# @param [string] ne_include_dir +############################################################################### class cd_nrpe::params ( $pkg_ensure = 'latest', @@ -33,10 +92,42 @@ $pkg_ensure = 'latest', $ne_user = 'nrpe', $ne_user_comment = 'NRPE service user', $ne_user_uid = '1005', -$ne_user_home = '/var/run/nagios', +$ne_user_home = '/var/run/nrpe', $ne_user_groups = undef, $ne_user_shell = '/sbin/nologin', +# nrpe.cfg +$ne_log_facility = 'daemon' +$ne_log_file = '', +$ne_debug = '0', +$ne_nrpe_port = '5666', +$ne_server_address = '127.0.0.1', +$ne_listen_queue_size = '5', +$ne_nagios_server = $::nagios_server, +$ne_dont_blame_nrpe = '1', +$ne_allow_bash_cmd_subst = '1', +$ne_allow_sudo = true, +$ne_command_prefix = '/usr/bin/sudo', +$ne_command_timeout = '60', +$ne_connection_timeout = '300', +$ne_allow_weak_rnd_seed = '1', +$ne_ssl_version = 'TLSv1.1+', +$ne_ssl_use_adh = '1', +$ne_ssl_cipher_list = 'ALL:!aNULL:!eNULL:!SSLv2:!LOW:!EXP:!RC4:!MD5:@STRENGTH', +$ne_ssl_cacert_file = '/etc/pki/tls/certs/ca-chain.crt.pem', +$ne_ssl_cert_file = "/etc/pki/tls/certs/${::fqdn}.crt.pem", +$ne_ssl_privatekey_file = "/etc/pki/tls/private/${::fqdn}.key.pem", +$ne_ssl_client_certs = '2', +$ne_ssl_logging = '0x00', +$ne_nasty_metachars = '\"|`&><\'\\[]{};\r\n\"', +$ne_include_file = '', + + +# firewall +$ne_incl_fw = true, + + + ) { # installation section @@ -44,6 +135,18 @@ $reqpackages = $::operatingsystem ? { /(?i-mx:centos|fedora|redhat)/ => ['nrpe'], } +# service +$ne_service = 'nrpe' + +# directories +$ne_main_conf_d_dir = '/etc/nrpe.d' +$ne_run_dir = '/var/run/nrpe' + +# files +$ne_main_conf_file = '/etc/nagios/nrpe.cfg' +$ne_nrpe_conf_head_erb = 'cd_nrpe/nrpe_cfg_head.erb' +$ne_nrpe_pid_file = "${ne_run_dir}/nrpe.pid" + # includes must be last include cd_nrpe::main::config diff --git a/templates/nrpe_cfg_head.erb b/templates/nrpe_cfg_head.erb new file mode 100644 index 0000000..896d7e8 --- /dev/null +++ b/templates/nrpe_cfg_head.erb @@ -0,0 +1,59 @@ +################################################################################ +########## nrpe.cfg managed by Puppet ########## +########## manual changes will be overwritten !!! ########## +################################################################################ +########## full reference is available at ########## +########## https://confdroid.com/2017/07/nrpe-nrpe-cfg/ ########## +################################################################################ + +log_facility=<%= @ne_log_facility %> + +<% unless @ne_log_file.empty ? %> +log_file=<%= @ne_log_file %> +<% end %> + +debug=<%= @ne_debug %> + +pid_file=<% @ne_nrpe_pid_file %> +server_port=<%= @ne_nrpe_port %> + +server_address=<%= @ne_server_address %> +listen_queue_size=<%= @ne_listen_queue_size %> + +nrpe_user=<%= @ne_user %> +nrpe_group=<%= @ne_user %> + +allowed_hosts=127.0.0.1,::1,<%= @ne_nagios_server %> +dont_blame_nrpe=<%= @ne_dont_blame_nrpe %> +allow_bash_command_substitution=<%= @ne_allow_bash_cmd_subst %> + +<%= if @$ne_allow_sudo == true %> +command_prefix=<%= @ne_command_prefix %> +<% end %> + +command_timeout=<%= @ne_command_timeout %> +connection_timeout=<%= @ne_connection_timeout %> + +allow_weak_random_seed=<%= @ne_allow_weak_rnd_seed %> + +ssl_version=<%= @ne_ssl_version %> +ssl_use_adh=<%= @ne_ssl_use_adh %> +ssl_cipher_list=<%= @ne_ssl_cipher_list %> + +ssl_cacert_file=<%= @ne_ssl_cacert_file %> +ssl_cert_file=<%= @ne_ssl_cert_file %> +ssl_privatekey_file=<%= @ne_ssl_privatekey_file %> + +ssl_client_certs=<%= @ne_ssl_client_certs %> +ssl_logging=<%= @ne_ssl_logging %> + +nasty_metachars=<$= @ne_nasty_metachars %> + +<% unless @ne_include_file.empty? %> +include=<%= @ne_include_file %> +<% end %> + +include_dir=<%= @ne_main_conf_d_dir %> + +### command definitions have been moved to include_dir for easier external +# management From cd81ff2a9cb05efe950241696df62acf9cb1d70a Mon Sep 17 00:00:00 2001 From: Arne Teuke Date: Fri, 28 Jul 2017 16:49:02 +0100 Subject: [PATCH 2/8] included firewall --- manifests/firewall/iptables.pp | 35 ++++++++++++++++++++++++++++++++++ manifests/main/config.pp | 3 +-- manifests/main/dirs.pp | 3 +-- manifests/main/files.pp | 3 +-- manifests/main/install.pp | 3 +-- manifests/main/service.pp | 7 +++++-- manifests/main/user.pp | 3 +-- manifests/params.pp | 7 ++++--- 8 files changed, 49 insertions(+), 15 deletions(-) create mode 100644 manifests/firewall/iptables.pp diff --git a/manifests/firewall/iptables.pp b/manifests/firewall/iptables.pp new file mode 100644 index 0000000..6d6b767 --- /dev/null +++ b/manifests/firewall/iptables.pp @@ -0,0 +1,35 @@ +## cd_nrpe::firewall::iptables.pp +# Module name: cd_nrpe +# Author: Arne Teuke (arne_teuke@ConfDroid.com) +# # License: +# This file is part of cd_nrpe. +# +# cd_nrpe is used for providing automatic configuration of NRPE. +# 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 . +# @summary manage firewall settings through cd_firewall or puppetlabs-firewall +############################################################################### +class cd_nrpe::firewall::iptables ( + +) inherits cd_nrpe::params { + + if $ne_incl_fw == true { + + firewall { "${ne_fw_order_no}${ne_nrpe_port} tcp ${ne_nrpe_port}": + proto => ['tcp','udp'], + dport => $ne_nrpe_port', + action => 'accept', + } + } +} diff --git a/manifests/main/config.pp b/manifests/main/config.pp index 5de9f5c..c703487 100644 --- a/manifests/main/config.pp +++ b/manifests/main/config.pp @@ -4,8 +4,7 @@ # # License: # This file is part of cd_nrpe. # -# cd_nrpe is used for providing automatic configuration of -# +# cd_nrpe is used for providing automatic configuration of NRPE. # 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 diff --git a/manifests/main/dirs.pp b/manifests/main/dirs.pp index cf50cee..5e7ef09 100644 --- a/manifests/main/dirs.pp +++ b/manifests/main/dirs.pp @@ -4,8 +4,7 @@ # # License: # This file is part of cd_nrpe. # -# cd_nrpe is used for providing automatic configuration of -# +# cd_nrpe is used for providing automatic configuration of NRPE. # 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 diff --git a/manifests/main/files.pp b/manifests/main/files.pp index cc817b8..19b999d 100644 --- a/manifests/main/files.pp +++ b/manifests/main/files.pp @@ -4,8 +4,7 @@ # # License: # This file is part of cd_nrpe. # -# cd_nrpe is used for providing automatic configuration of -# +# cd_nrpe is used for providing automatic configuration of NRPE. # 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 diff --git a/manifests/main/install.pp b/manifests/main/install.pp index 9c912c6..1fd4d68 100644 --- a/manifests/main/install.pp +++ b/manifests/main/install.pp @@ -4,8 +4,7 @@ # # License: # This file is part of cd_nrpe. # -# cd_nrpe is used for providing automatic configuration of -# +# cd_nrpe is used for providing automatic configuration of NRPE. # 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 diff --git a/manifests/main/service.pp b/manifests/main/service.pp index 782b110..dcfcc70 100644 --- a/manifests/main/service.pp +++ b/manifests/main/service.pp @@ -4,8 +4,7 @@ # # License: # This file is part of cd_nrpe. # -# cd_nrpe is used for providing automatic configuration of -# +# cd_nrpe is used for providing automatic configuration of NRPE. # 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 @@ -25,6 +24,10 @@ class cd_nrpe::main::service ( ) inherits cd_nrpe::params { + if $ne_incl_fw == true { + require cd_nrpe::firewall::iptables + } + require cd_nrpe::main::files service { $ne_service: diff --git a/manifests/main/user.pp b/manifests/main/user.pp index dc8e409..0544328 100644 --- a/manifests/main/user.pp +++ b/manifests/main/user.pp @@ -4,8 +4,7 @@ # # License: # This file is part of cd_nrpe. # -# cd_nrpe is used for providing automatic configuration of -# +# cd_nrpe is used for providing automatic configuration of NRPE. # 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 diff --git a/manifests/params.pp b/manifests/params.pp index 0c8add9..74f271d 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -4,8 +4,7 @@ # # License: # This file is part of cd_nrpe. # -# cd_nrpe is used for providing automatic configuration of -# +# cd_nrpe is used for providing automatic configuration of NRPE. # 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 @@ -83,6 +82,8 @@ # @param [string] ne_include_file include definitions from an external # config file. # @param [string] ne_include_dir +# @param [string] ne_fw_order_no ordering prefix for he firewall rules. Adjust +# to yoru environment if needed. ############################################################################### class cd_nrpe::params ( @@ -125,7 +126,7 @@ $ne_include_file = '', # firewall $ne_incl_fw = true, - +$ne_fw_order_no = '50', ) { From 8b6098704e8fcde56b4b3877752be6f2e82c25e3 Mon Sep 17 00:00:00 2001 From: Arne Teuke Date: Fri, 28 Jul 2017 16:49:54 +0100 Subject: [PATCH 3/8] syntax --- manifests/params.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/params.pp b/manifests/params.pp index 74f271d..2befa42 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -98,7 +98,7 @@ $ne_user_groups = undef, $ne_user_shell = '/sbin/nologin', # nrpe.cfg -$ne_log_facility = 'daemon' +$ne_log_facility = 'daemon', $ne_log_file = '', $ne_debug = '0', $ne_nrpe_port = '5666', From 23ae33df2a31c0be3d8161c489a9e57de5b4e4dc Mon Sep 17 00:00:00 2001 From: Arne Teuke Date: Fri, 28 Jul 2017 16:52:39 +0100 Subject: [PATCH 4/8] syntax --- manifests/commands/definitions.pp | 27 +++++++++++++++++++++++++++ manifests/firewall/iptables.pp | 2 +- 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 manifests/commands/definitions.pp diff --git a/manifests/commands/definitions.pp b/manifests/commands/definitions.pp new file mode 100644 index 0000000..7834831 --- /dev/null +++ b/manifests/commands/definitions.pp @@ -0,0 +1,27 @@ +## cd_nrpe::commands::definitions.pp +# Module name: cd_nrpe +# Author: Arne Teuke (arne_teuke@ConfDroid.com) +# # License: +# This file is part of cd_nrpe. +# +# cd_nrpe is used for providing automatic configuration of NRPE. +# 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 . +# @summary manage firewall settings through cd_firewall or puppetlabs-firewall +############################################################################### +define cd_nrpe::commands::definitions ( + +) { + +} diff --git a/manifests/firewall/iptables.pp b/manifests/firewall/iptables.pp index 6d6b767..7341a94 100644 --- a/manifests/firewall/iptables.pp +++ b/manifests/firewall/iptables.pp @@ -28,7 +28,7 @@ class cd_nrpe::firewall::iptables ( firewall { "${ne_fw_order_no}${ne_nrpe_port} tcp ${ne_nrpe_port}": proto => ['tcp','udp'], - dport => $ne_nrpe_port', + dport => $ne_nrpe_port, action => 'accept', } } From a8e9b704b1c943930ed13f32a117296246c1dccc Mon Sep 17 00:00:00 2001 From: Arne Teuke Date: Fri, 28 Jul 2017 16:54:28 +0100 Subject: [PATCH 5/8] syntax --- templates/nrpe_cfg_head.erb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/templates/nrpe_cfg_head.erb b/templates/nrpe_cfg_head.erb index 896d7e8..8b4d6eb 100644 --- a/templates/nrpe_cfg_head.erb +++ b/templates/nrpe_cfg_head.erb @@ -8,7 +8,7 @@ log_facility=<%= @ne_log_facility %> -<% unless @ne_log_file.empty ? %> +<% unless @ne_log_file.empty? %> log_file=<%= @ne_log_file %> <% end %> @@ -49,9 +49,9 @@ ssl_logging=<%= @ne_ssl_logging %> nasty_metachars=<$= @ne_nasty_metachars %> -<% unless @ne_include_file.empty? %> +<% unless @ne_include_file.empty? -%> include=<%= @ne_include_file %> -<% end %> +<% end -%> include_dir=<%= @ne_main_conf_d_dir %> From 08693a1e31472cf76a10678f28ed2d954dfcecad Mon Sep 17 00:00:00 2001 From: Arne Teuke Date: Fri, 28 Jul 2017 16:56:18 +0100 Subject: [PATCH 6/8] syntax --- manifests/commands/definitions.pp | 5 ++++- templates/nrpe_cfg_head.erb | 8 ++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/manifests/commands/definitions.pp b/manifests/commands/definitions.pp index 7834831..a34327b 100644 --- a/manifests/commands/definitions.pp +++ b/manifests/commands/definitions.pp @@ -22,6 +22,9 @@ ############################################################################### define cd_nrpe::commands::definitions ( + ) { - + + + } diff --git a/templates/nrpe_cfg_head.erb b/templates/nrpe_cfg_head.erb index 8b4d6eb..9078b0d 100644 --- a/templates/nrpe_cfg_head.erb +++ b/templates/nrpe_cfg_head.erb @@ -8,9 +8,9 @@ log_facility=<%= @ne_log_facility %> -<% unless @ne_log_file.empty? %> +<% unless @ne_log_file.empty? -%> log_file=<%= @ne_log_file %> -<% end %> +<% end -%> debug=<%= @ne_debug %> @@ -27,9 +27,9 @@ allowed_hosts=127.0.0.1,::1,<%= @ne_nagios_server %> dont_blame_nrpe=<%= @ne_dont_blame_nrpe %> allow_bash_command_substitution=<%= @ne_allow_bash_cmd_subst %> -<%= if @$ne_allow_sudo == true %> +<%= if @ne_allow_sudo == true -%> command_prefix=<%= @ne_command_prefix %> -<% end %> +<% end -%> command_timeout=<%= @ne_command_timeout %> connection_timeout=<%= @ne_connection_timeout %> From ff5a3faf9e8e1422a03b734d87b2b24621fd8ce1 Mon Sep 17 00:00:00 2001 From: Arne Teuke Date: Fri, 28 Jul 2017 16:58:16 +0100 Subject: [PATCH 7/8] syntax --- manifests/params.pp | 4 +++- templates/nrpe_cfg_head.erb | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/manifests/params.pp b/manifests/params.pp index 2befa42..8537cdc 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -123,11 +123,13 @@ $ne_ssl_logging = '0x00', $ne_nasty_metachars = '\"|`&><\'\\[]{};\r\n\"', $ne_include_file = '', - # firewall $ne_incl_fw = true, $ne_fw_order_no = '50', +# selinux +$ne_include_selinux = true, + ) { diff --git a/templates/nrpe_cfg_head.erb b/templates/nrpe_cfg_head.erb index 9078b0d..c3a931d 100644 --- a/templates/nrpe_cfg_head.erb +++ b/templates/nrpe_cfg_head.erb @@ -27,7 +27,7 @@ allowed_hosts=127.0.0.1,::1,<%= @ne_nagios_server %> dont_blame_nrpe=<%= @ne_dont_blame_nrpe %> allow_bash_command_substitution=<%= @ne_allow_bash_cmd_subst %> -<%= if @ne_allow_sudo == true -%> +<% if @ne_allow_sudo == true -%> command_prefix=<%= @ne_command_prefix %> <% end -%> From f631534d0aa40a1fb5bd3454321b46f200ca306c Mon Sep 17 00:00:00 2001 From: Jenkins Server Date: Fri, 28 Jul 2017 17:58:08 +0200 Subject: [PATCH 8/8] recommit for updates in build 12 --- CHANGELOG.md | 10 + REPOSTRUCTURE.md | 12 +- doc/_index.html | 46 +- doc/file.README.html | 24 +- doc/index.html | 24 +- doc/puppet_class_list.html | 36 +- doc/puppet_classes/cd_nrpe.html | 2 +- .../cd_nrpe_3A_3Afirewall_3A_3Aiptables.html | 175 +++++ .../cd_nrpe_3A_3Amain_3A_3Aconfig.html | 32 +- .../cd_nrpe_3A_3Amain_3A_3Adirs.html | 215 +++++ .../cd_nrpe_3A_3Amain_3A_3Afiles.html | 191 +++++ .../cd_nrpe_3A_3Amain_3A_3Ainstall.html | 30 +- .../cd_nrpe_3A_3Amain_3A_3Aservice.html | 185 +++++ .../cd_nrpe_3A_3Amain_3A_3Auser.html | 30 +- doc/puppet_classes/cd_nrpe_3A_3Aparams.html | 742 +++++++++++++++++- doc/puppet_defined_type_list.html | 54 ++ ...d_nrpe_3A_3Acommands_3A_3Adefinitions.html | 158 ++++ doc/top-level-namespace.html | 2 +- 18 files changed, 1862 insertions(+), 106 deletions(-) create mode 100644 doc/puppet_classes/cd_nrpe_3A_3Afirewall_3A_3Aiptables.html create mode 100644 doc/puppet_classes/cd_nrpe_3A_3Amain_3A_3Adirs.html create mode 100644 doc/puppet_classes/cd_nrpe_3A_3Amain_3A_3Afiles.html create mode 100644 doc/puppet_classes/cd_nrpe_3A_3Amain_3A_3Aservice.html create mode 100644 doc/puppet_defined_type_list.html create mode 100644 doc/puppet_defined_types/cd_nrpe_3A_3Acommands_3A_3Adefinitions.html diff --git a/CHANGELOG.md b/CHANGELOG.md index 31f6c78..2b79761 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,16 @@ Changelog of Git Changelog.

No issue

+bcfcbb00723a92c Arne Teuke 2017-07-28 13:42:53 +

+

fixed typo

+ +

+f26ae810d105694 Jenkins Server 2017-07-28 13:42:40 +

+

recommit for updates in build 5

+ +

a6a5d13eeda19ca Arne Teuke 2017-07-28 13:40:27

fixed typo

diff --git a/REPOSTRUCTURE.md b/REPOSTRUCTURE.md index c51b92c..97a25df 100644 --- a/REPOSTRUCTURE.md +++ b/REPOSTRUCTURE.md @@ -11,6 +11,7 @@ | |-- puppet_classes | | |-- cd_nrpe_3A_3Amain_3A_3Aconfig.html | | |-- cd_nrpe_3A_3Amain_3A_3Ainstall.html +| | |-- cd_nrpe_3A_3Amain_3A_3Auser.html | | |-- cd_nrpe_3A_3Amainn_3A_3Auser.html | | |-- cd_nrpe_3A_3Aparams.html | | |-- cd_nrpe_3A_3Auser.html @@ -22,12 +23,21 @@ | |-- puppet_class_list.html | `-- top-level-namespace.html |-- manifests +| |-- commands +| | `-- definitions.pp +| |-- firewall +| | `-- iptables.pp | |-- main | | |-- config.pp +| | |-- dirs.pp +| | |-- files.pp | | |-- install.pp +| | |-- service.pp | | `-- user.pp | |-- init.pp | `-- params.pp +|-- templates +| `-- nrpe_cfg_head.erb |-- tests | `-- UTF_Files |-- CHANGELOG.md @@ -38,4 +48,4 @@ |-- README.md `-- REPOSTRUCTURE.md -7 directories, 31 files +10 directories, 38 files diff --git a/doc/_index.html b/doc/_index.html index 94b4d71..7a60b55 100644 --- a/doc/_index.html +++ b/doc/_index.html @@ -73,16 +73,36 @@ +
  • + cd_nrpe::firewall::iptables + +
  • +
  • cd_nrpe::main::config
  • +
  • + cd_nrpe::main::dirs + +
  • + +
  • + cd_nrpe::main::files + +
  • +
  • cd_nrpe::main::install
  • +
  • + cd_nrpe::main::service + +
  • +
  • cd_nrpe::main::user @@ -101,6 +121,30 @@ +

    Defined Type Listing A-Z

    + + + + + + +
    + + + + +
    + @@ -122,7 +166,7 @@ diff --git a/doc/file.README.html b/doc/file.README.html index 038112b..cf06ceb 100644 --- a/doc/file.README.html +++ b/doc/file.README.html @@ -120,11 +120,13 @@ href="https://gitlab.puppetsoft.com/12WW1160/cd_nrpe/blob/master/CHANGELOG.md">C

    Features

    INSTALLATION -* install binaries

    +* install nrpe binaries

    CONFIGURATION -* manage directory structure (file system permissions, -selinux context)

    +* manage NRPE service user properties +* manage directory +structure (file system permissions, selinux context) +*

    SERVICE

    @@ -139,10 +141,22 @@ selinux context)

    cd_resources to manage YUM repositories.

    +
  • +

    cd_stdlib or +puppetlabs +stdlib to facilitate concat

    +
  • +

    cd_concat or +puppetlabs +concat for concatenating files

  • Deployment

    +

    cd_nrpe does typically not need to be specifically declared. +It will be auto-required by cd_nagios with default settings. +Only if you want to override settings declare it specifically.

    +
    native Puppet deployment

    via site.pp or nodes.pp

    @@ -155,7 +169,7 @@ to manage YUM repositories.

    In order to apply parameters through Foreman, cd_nrpe::params must be added to the host or hostgroup in -question.

    +question, unless the defaults are fully acceptable across the estate.

    See more @@ -227,7 +241,7 @@ environments.

    diff --git a/doc/index.html b/doc/index.html index 6c119a2..b74a471 100644 --- a/doc/index.html +++ b/doc/index.html @@ -120,11 +120,13 @@ href="https://gitlab.puppetsoft.com/12WW1160/cd_nrpe/blob/master/CHANGELOG.md">C

    Features

    INSTALLATION -* install binaries

    +* install nrpe binaries

    CONFIGURATION -* manage directory structure (file system permissions, -selinux context)

    +* manage NRPE service user properties +* manage directory +structure (file system permissions, selinux context) +*

    SERVICE

    @@ -139,10 +141,22 @@ selinux context)

    cd_resources to manage YUM repositories.

    +
  • +

    cd_stdlib or +puppetlabs +stdlib to facilitate concat

    +
  • +

    cd_concat or +puppetlabs +concat for concatenating files

  • Deployment

    +

    cd_nrpe does typically not need to be specifically declared. +It will be auto-required by cd_nagios with default settings. +Only if you want to override settings declare it specifically.

    +
    native Puppet deployment

    via site.pp or nodes.pp

    @@ -155,7 +169,7 @@ to manage YUM repositories.

    In order to apply parameters through Foreman, cd_nrpe::params must be added to the host or hostgroup in -question.

    +question, unless the defaults are fully acceptable across the estate.

    See more @@ -227,7 +241,7 @@ environments.

    diff --git a/doc/puppet_class_list.html b/doc/puppet_class_list.html index 5adc7bc..aaf8948 100644 --- a/doc/puppet_class_list.html +++ b/doc/puppet_class_list.html @@ -28,6 +28,10 @@ Puppet Classes + + Defined Types + + @@ -43,20 +47,48 @@ -
  • +
  • + +
  • + + +
  • -
  • +
  • + +
  • + + +
  • + +
  • + + +
  • +
  • + +
  • + +
  • cd_nrpe::main::user diff --git a/doc/puppet_classes/cd_nrpe.html b/doc/puppet_classes/cd_nrpe.html index 81f901f..5fdd51f 100644 --- a/doc/puppet_classes/cd_nrpe.html +++ b/doc/puppet_classes/cd_nrpe.html @@ -140,7 +140,7 @@ class cd_nrpe {
    diff --git a/doc/puppet_classes/cd_nrpe_3A_3Afirewall_3A_3Aiptables.html b/doc/puppet_classes/cd_nrpe_3A_3Afirewall_3A_3Aiptables.html new file mode 100644 index 0000000..cefd9ab --- /dev/null +++ b/doc/puppet_classes/cd_nrpe_3A_3Afirewall_3A_3Aiptables.html @@ -0,0 +1,175 @@ + + + + + + + Puppet Class: cd_nrpe::firewall::iptables + + — Documentation by YARD 0.9.9 + + + + + + + + + + + + + + + + + + + +
    + + +

    Puppet Class: cd_nrpe::firewall::iptables

    +
    + +
    +
    Inherits:
    +
    cd_nrpe::params
    +
    + + +
    +
    Defined in:
    +
    + manifests/firewall/iptables.pp +
    +
    +
    + +

    Summary

    + manage firewall settings through cd_firewall or puppetlabs-firewall + +

    Overview

    +
    +
    + +

    cd_nrpe::firewall::iptables.pp +Module name: cd_nrpe +Author: Arne Teuke +(arne_teuke@ConfDroid.com)

    + +

    License:

    + +

    This file is part of cd_nrpe.

    + +

    cd_nrpe is used for providing automatic configuration of NRPE. + 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 www.gnu.org/licenses/.

    + +
    +
    +
    + + +
    + + + + + +
    +
    +
    +
    +23
    +24
    +25
    +26
    +27
    +28
    +29
    +30
    +31
    +32
    +33
    +34
    +35
    +
    +
    # File 'manifests/firewall/iptables.pp', line 23
    +
    +class cd_nrpe::firewall::iptables (
    +
    +) inherits cd_nrpe::params {
    +
    +  if $ne_incl_fw == true {
    +
    +    firewall { "${ne_fw_order_no}${ne_nrpe_port} tcp ${ne_nrpe_port}":
    +      proto   => ['tcp','udp'],
    +      dport   => $ne_nrpe_port,
    +      action  => 'accept',
    +    }
    +  }
    +}
    +
    +
    +
    + + + +
    + + \ No newline at end of file diff --git a/doc/puppet_classes/cd_nrpe_3A_3Amain_3A_3Aconfig.html b/doc/puppet_classes/cd_nrpe_3A_3Amain_3A_3Aconfig.html index 0b225d5..acd0656 100644 --- a/doc/puppet_classes/cd_nrpe_3A_3Amain_3A_3Aconfig.html +++ b/doc/puppet_classes/cd_nrpe_3A_3Amain_3A_3Aconfig.html @@ -93,18 +93,16 @@ Author: Arne Teuke

    This file is part of cd_nrpe.

    -

    cd_nrpe is used for providing automatic configuration of - <service / -purpose> - 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.

    +

    cd_nrpe is used for providing automatic configuration of NRPE. + 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 @@ -131,22 +129,22 @@ href="http://www.gnu.org/licenses">www.gnu.org/licenses/.

     
     
    +24
     25
     26
     27
     28
     29
    -30
    -31
    +30 -
    # File 'manifests/main/config.pp', line 25
    +        
    # File 'manifests/main/config.pp', line 24
     
     class cd_nrpe::main::config (
     
     ) inherits cd_nrpe::params {
     
    -  include cd_nrpe::main::user
    +  include cd_nrpe::main::service
     
     }
    @@ -156,7 +154,7 @@ class cd_nrpe::main::config ( diff --git a/doc/puppet_classes/cd_nrpe_3A_3Amain_3A_3Adirs.html b/doc/puppet_classes/cd_nrpe_3A_3Amain_3A_3Adirs.html new file mode 100644 index 0000000..7c86ce1 --- /dev/null +++ b/doc/puppet_classes/cd_nrpe_3A_3Amain_3A_3Adirs.html @@ -0,0 +1,215 @@ + + + + + + + Puppet Class: cd_nrpe::main::dirs + + — Documentation by YARD 0.9.9 + + + + + + + + + + + + + + + + + + + +
    + + +

    Puppet Class: cd_nrpe::main::dirs

    +
    + +
    +
    Inherits:
    +
    cd_nrpe::params
    +
    + + +
    +
    Defined in:
    +
    + manifests/main/dirs.pp +
    +
    +
    + +

    Summary

    + Class manages all directories required for cd_nrpe. + +

    Overview

    +
    +
    + +

    cd_nrpe::main::dirs.pp +Module name: cd_nrpe +Author: Arne Teuke +(arne_teuke@ConfDroid.com)

    + +

    License:

    + +

    This file is part of cd_nrpe.

    + +

    cd_nrpe is used for providing automatic configuration of NRPE. + 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 www.gnu.org/licenses/.

    + +
    +
    +
    + + +
    + + + + + +
    +
    +
    +
    +23
    +24
    +25
    +26
    +27
    +28
    +29
    +30
    +31
    +32
    +33
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +
    +
    # File 'manifests/main/dirs.pp', line 23
    +
    +class cd_nrpe::main::dirs (
    +
    +) inherits cd_nrpe::params {
    +
    +  require cd_nrpe::main::user
    +
    +  # manage main conf_d_dir
    +
    +  file { $ne_main_conf_d_dir:
    +    ensure    =>  directory,
    +    path      =>  $ne_main_conf_d_dir,
    +    owner     =>  'root',
    +    group     =>  'root',
    +    mode      =>  '0755',
    +    selrange  =>  s0,
    +    selrole   =>  object_r,
    +    seltype   =>  etc_t,
    +    seluser   =>  system_u,
    +  }
    +
    +  file { $ne_run_dir:
    +    ensure    =>  directory,
    +    path      =>  $ne_run_dir,
    +    owner     =>  $ne_user,
    +    group     =>  $ne_user,
    +    mode      =>  '0755',
    +    selrange  =>  s0,
    +    selrole   =>  object_r,
    +    seltype   =>  var_run_t,
    +    seluser   =>  system_u,
    +  }
    +
    +}
    +
    +
    +
    + + + +
    + + \ No newline at end of file diff --git a/doc/puppet_classes/cd_nrpe_3A_3Amain_3A_3Afiles.html b/doc/puppet_classes/cd_nrpe_3A_3Amain_3A_3Afiles.html new file mode 100644 index 0000000..eec9f92 --- /dev/null +++ b/doc/puppet_classes/cd_nrpe_3A_3Amain_3A_3Afiles.html @@ -0,0 +1,191 @@ + + + + + + + Puppet Class: cd_nrpe::main::files + + — Documentation by YARD 0.9.9 + + + + + + + + + + + + + + + + + + + +
    + + +

    Puppet Class: cd_nrpe::main::files

    +
    + +
    +
    Inherits:
    +
    cd_nrpe::params
    +
    + + +
    +
    Defined in:
    +
    + manifests/main/files.pp +
    +
    +
    + +

    Summary

    + Class manages all configuration files required for cd_nrpe. + +

    Overview

    +
    +
    + +

    cd_nrpe::main::files.pp +Module name: cd_nrpe +Author: Arne Teuke +(arne_teuke@ConfDroid.com)

    + +

    License:

    + +

    This file is part of cd_nrpe.

    + +

    cd_nrpe is used for providing automatic configuration of NRPE. + 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 www.gnu.org/licenses/.

    + +
    +
    +
    + + +
    + + + + + +
    +
    +
    +
    +23
    +24
    +25
    +26
    +27
    +28
    +29
    +30
    +31
    +32
    +33
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +
    +
    # File 'manifests/main/files.pp', line 23
    +
    +class cd_nrpe::main::files (
    +
    +) inherits cd_nrpe::params {
    +
    +  require cd_nrpe::main::dirs
    +
    +  file { $ne_main_conf_file:
    +    ensure    =>  file,
    +    path      =>  ne_main_conf_file,
    +    owner     =>  'root',
    +    group     =>  'root',
    +    mode      =>  '0640',
    +    selrange  =>  s0,
    +    selrole   =>  object_r,
    +    seltype   =>  nrpe_etc_t,
    +    seluser   =>  system_u,
    +    content   =>  template($ne_main_conf_file),
    +    notify    =>  Service[$ne_service],
    +  }
    +
    +}
    +
    +
    +
    + + + +
    + + \ No newline at end of file diff --git a/doc/puppet_classes/cd_nrpe_3A_3Amain_3A_3Ainstall.html b/doc/puppet_classes/cd_nrpe_3A_3Amain_3A_3Ainstall.html index c8c6cdd..a632bcb 100644 --- a/doc/puppet_classes/cd_nrpe_3A_3Amain_3A_3Ainstall.html +++ b/doc/puppet_classes/cd_nrpe_3A_3Amain_3A_3Ainstall.html @@ -93,18 +93,16 @@ Author: Arne Teuke

    This file is part of cd_nrpe.

    -

    cd_nrpe is used for providing automatic configuration of - <service / -purpose> - 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.

    +

    cd_nrpe is used for providing automatic configuration of NRPE. + 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 @@ -131,6 +129,7 @@ href="http://www.gnu.org/licenses">www.gnu.org/licenses/.

     
     
    +24
     25
     26
     27
    @@ -139,11 +138,10 @@ href="http://www.gnu.org/licenses">www.gnu.org/licenses/.

    30 31 32 -33 -34
    +33
    -
    # File 'manifests/main/install.pp', line 25
    +        
    # File 'manifests/main/install.pp', line 24
     
     class cd_nrpe::main::install (
     
    @@ -162,7 +160,7 @@ class cd_nrpe::main::install (
     
     
           
    diff --git a/doc/puppet_classes/cd_nrpe_3A_3Amain_3A_3Aservice.html b/doc/puppet_classes/cd_nrpe_3A_3Amain_3A_3Aservice.html
    new file mode 100644
    index 0000000..8bd0dc4
    --- /dev/null
    +++ b/doc/puppet_classes/cd_nrpe_3A_3Amain_3A_3Aservice.html
    @@ -0,0 +1,185 @@
    +
    +
    +  
    +    
    +
    +
    +  Puppet Class: cd_nrpe::main::service
    +  
    +    — Documentation by YARD 0.9.9
    +  
    +
    +
    +  
    +
    +  
    +
    +
    +
    +
    +  
    +
    +  
    +
    +
    +  
    +  
    +    
    +
    +    
    + + +

    Puppet Class: cd_nrpe::main::service

    +
    + +
    +
    Inherits:
    +
    cd_nrpe::params
    +
    + + +
    +
    Defined in:
    +
    + manifests/main/service.pp +
    +
    +
    + +

    Summary

    + Class manages the service(s) for cd_nrpe. + +

    Overview

    +
    +
    + +

    cd_nrpe::main::service.pp +Module name: cd_nrpe +Author: Arne Teuke +(arne_teuke@ConfDroid.com)

    + +

    License:

    + +

    This file is part of cd_nrpe.

    + +

    cd_nrpe is used for providing automatic configuration of NRPE. + 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 www.gnu.org/licenses/.

    + +
    +
    +
    + + +
    + + + + + +
    +
    +
    +
    +23
    +24
    +25
    +26
    +27
    +28
    +29
    +30
    +31
    +32
    +33
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +
    +
    # File 'manifests/main/service.pp', line 23
    +
    +class cd_nrpe::main::service (
    +
    +) inherits cd_nrpe::params {
    +
    +  if $ne_incl_fw == true  {
    +    require cd_nrpe::firewall::iptables
    +  }
    +
    +  require cd_nrpe::main::files
    +
    +  service { $ne_service:
    +    ensure      => running,
    +    hasstatus   => true,
    +    hasrestart  => true,
    +    enable      => true,
    +  }
    +
    +}
    +
    +
    +
    + + + +
    + + \ No newline at end of file diff --git a/doc/puppet_classes/cd_nrpe_3A_3Amain_3A_3Auser.html b/doc/puppet_classes/cd_nrpe_3A_3Amain_3A_3Auser.html index 8a5741c..518fd1f 100644 --- a/doc/puppet_classes/cd_nrpe_3A_3Amain_3A_3Auser.html +++ b/doc/puppet_classes/cd_nrpe_3A_3Amain_3A_3Auser.html @@ -92,18 +92,16 @@ Author: Arne Teuke

    This file is part of cd_nrpe.

    -

    cd_nrpe is used for providing automatic configuration of - <service / -purpose> - 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.

    +

    cd_nrpe is used for providing automatic configuration of NRPE. + 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 @@ -130,6 +128,7 @@ href="http://www.gnu.org/licenses">www.gnu.org/licenses/.

     
     
    +23
     24
     25
     26
    @@ -155,11 +154,10 @@ href="http://www.gnu.org/licenses">www.gnu.org/licenses/.

    46 47 48 -49 -50
    +49
    -
    # File 'manifests/main/user.pp', line 24
    +        
    # File 'manifests/main/user.pp', line 23
     
     class cd_nrpe::main::user (
     
    @@ -195,7 +193,7 @@ class cd_nrpe::main::user (
     
     
           
    diff --git a/doc/puppet_classes/cd_nrpe_3A_3Aparams.html b/doc/puppet_classes/cd_nrpe_3A_3Aparams.html
    index 77a946e..b69f97d 100644
    --- a/doc/puppet_classes/cd_nrpe_3A_3Aparams.html
    +++ b/doc/puppet_classes/cd_nrpe_3A_3Aparams.html
    @@ -67,12 +67,20 @@
         
    Inherited by:
    + cd_nrpe::main::dirs
    + cd_nrpe::main::user
    + cd_nrpe::main::files
    + cd_nrpe::main::config
    cd_nrpe::main::install
    + cd_nrpe::main::service
    + + cd_nrpe::firewall::iptables
    +
    @@ -101,18 +109,16 @@ Author: Arne Teuke

    This file is part of cd_nrpe.

    -

    cd_nrpe is used for providing automatic configuration of - <service / -purpose> - 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.

    +

    cd_nrpe is used for providing automatic configuration of NRPE. + 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 @@ -125,7 +131,9 @@ for more details.

    You should have received a copy of the GNU General Public License along with this program. If not, see www.gnu.org/licenses/.

    +href="http://www.gnu.org/licenses">www.gnu.org/licenses/. +be passed to +the NRPE daemon.

    @@ -153,6 +161,501 @@ to choose, i.e. latest or present.

  • +
  • + + ne_log_facility + + + (string) + + + (defaults to: 'daemon') + + + — +
    +

    the log facility to use.

    +
    + +
  • + +
  • + + ne_log_file + + + (string) + + + (defaults to: '') + + + — +
    +

    If a log file is specified in this option, +nrpe will write to that file +instead of using syslog. i.e. /var/run/nrpe.log

    +
    + +
  • + +
  • + + ne_debug + + + (string) + + + (defaults to: '0') + + + — +
    +

    Whether debugging messages are logged to the +syslog facility.

    +
    + +
  • + +
  • + + ne_nrpe_port + + + (string) + + + (defaults to: '5666') + + + — +
    +

    the NRPE port. used in firewall ( optional) +and configuration file.

    +
    + +
  • + +
  • + + ne_listen_queue_size + + + (string) + + + (defaults to: '5') + + + — +
    +

    Listen queue size (backlog) for +serving incoming connections.

    +
    + +
  • + +
  • + + ne_nagios_server + + + (string) + + + (defaults to: $::nagios_server) + + + — +
    +

    ipaddress of the nagios server to be allowed +to connect to NRPE service. +Default is to look up a global parameter from +ENC.

    +
    + +
  • + +
  • + + ne_dont_blame_nrpe + + + (string) + + + (defaults to: '1') + + + — +
    +

    whether or not the NRPE daemon will +allow clients to specify arguments to +commands that are executed.

    +
    + +
  • + +
  • + + ne_allow_bash_cmd_subst + + + (string) + + + (defaults to: '1') + + + — +
    +

    whether or not the NRPE daemon will +allow clients to specify arguments that +contain bash command substitutions +of the form $(...).

    +
    + +
  • + +
  • + + ne_allow_sudo + + + (boolean) + + + (defaults to: true) + + + — +
    +

    Whether to allow sudo access. used in nrpe.cfg +as well as for creating a +sudo role.

    +
    + +
  • + +
  • + + command_prefix + + + (string) + + + + — +
    +

    allows you to prefix all commands with a +user-defined string.

    +
    + +
  • + +
  • + + ne_incl_fw + + + (string) + + + (defaults to: true) + + + — +
    +

    Whether to include firewall rules

    +
    + +
  • + +
  • + + ne_command_timeout + + + (string) + + + (defaults to: '60') + + + — +
    +

    maximum number of seconds that the NRPE +daemon will allow plugins to finish +executing before killing them off.

    +
    + +
  • + +
  • + + ne_connection_timeout + + + (string) + + + (defaults to: '300') + + + — +
    +

    maximum number of seconds that the +NRPE daemon will wait for a connection +to be established before exiting.

    +
    + +
  • + +
  • + + ne_ssl_version + + + (string) + + + (defaults to: 'TLSv1.1+') + + + — +
    +

    These directives allow you to specify how to +use SSL/TLS.

    +
    + +
  • + +
  • + + ne_ssl_use_adh + + + (string) + + + (defaults to: '1') + + + — +
    +

    This is for backward compatibility and is +DEPRECATED. Set to 1 to enable +ADH or 2 to require ADH. 1 is currently the +default but will be changed in +a later version.

    +
    + +
  • + +
  • + + ne_ssl_cipher_list + + + (string) + + + (defaults to: 'ALL:!aNULL:!eNULL:!SSLv2:!LOW:!EXP:!RC4:!MD5:@STRENGTH') + + + — +
    +

    ciphers can be used. For backward +compatibility, this defaults to +'ssl_cipher_list=ALL:!MD5:@STRENGTH' in +this version but will be +changed in a later version of NRPE.

    +
    + +
  • + +
  • + + ne_ssl_cacert_file + + + (string) + + + (defaults to: '/etc/pki/tls/certs/ca-chain.crt.pem') + + + — +
    +

    path and name of the ssl certificate +authority ( ca) file / chain. must be +full path.

    +
    + +
  • + +
  • + + ne_ssl_cert_file + + + (string) + + + (defaults to: "/etc/pki/tls/certs/${::fqdn}.crt.pem") + + + — +
    +

    path and name of the server ssl certificate. +must include full path.

    +
    + +
  • + +
  • + + ne_ssl_privatekey_filepath + + + (string) + + + + — +
    +

    and name of the server ssl +private key. Must include full path.

    +
    + +
  • + +
  • + + ne_ssl_client_certs + + + (string) + + + (defaults to: '2') + + + — +
    +

    determines client certificate usage. +Values: 0 = Don't ask for or +require client certificates +1 = Ask for client certificates +2 = Require +client certificates

    +
    + +
  • + +
  • + + ne_ssl_logging + + + (string) + + + (defaults to: '0x00') + + + — +
    +

    determines which SSL messages are send to +syslog. OR values together to +specify multiple options. +Values: 0x00 (0) = No additional logging +(default) +0x01 (1) = Log startup SSL/TLS parameters +0x02 (2) = Log remote +IP address +0x04 (4) = Log SSL/TLS version of connections +0x08 (8) = Log +which cipher is being used for the connection +0x10 (16) = Log if client has +a certificate +0x20 (32) = Log details of client's certificate if it has +one +-1 or 0xff or 0x2f = All of the above

    +
    + +
  • + +
  • + + ne_nasty_metachars + + + (string) + + + (defaults to: '\"|`&><\'\\[]{};\r\n\"') + + + — +
    +

    list of characters that cannot

    +
    + +
  • + +
  • + + ne_include_file + + + (string) + + + (defaults to: '') + + + — +
    +

    include definitions from an external +config file.

    +
    + +
  • + +
  • + + ne_include_dir + + + (string) + + + +
  • + +
  • + + ne_fw_order_no + + + (string) + + + (defaults to: '50') + + + — +
    +

    ordering prefix for he firewall rules. Adjust +to yoru environment if +needed.

    +
    + +
  • +
  • ne_user @@ -200,7 +703,7 @@ to choose, i.e. latest or present.

    (Any) - (defaults to: '/var/run/nagios') + (defaults to: '/var/run/nrpe')
  • @@ -231,6 +734,71 @@ to choose, i.e. latest or present.

    +
  • + + ne_server_address + + + (Any) + + + (defaults to: '127.0.0.1') + + +
  • + +
  • + + ne_command_prefix + + + (Any) + + + (defaults to: '/usr/bin/sudo') + + +
  • + +
  • + + ne_allow_weak_rnd_seed + + + (Any) + + + (defaults to: '1') + + +
  • + +
  • + + ne_ssl_privatekey_file + + + (Any) + + + (defaults to: "/etc/pki/tls/private/${::fqdn}.key.pem") + + +
  • + +
  • + + ne_include_selinux + + + (Any) + + + (defaults to: true) + + +
  • + @@ -241,33 +809,79 @@ to choose, i.e. latest or present.

     
     
    -28
    -29
    -30
    -31
    -32
    -33
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 -
    # File 'manifests/params.pp', line 28
    +        
    # File 'manifests/params.pp', line 88
     
     class cd_nrpe::params (
     
    @@ -277,10 +891,44 @@ $pkg_ensure                 = 'latest',
     $ne_user                    = 'nrpe',
     $ne_user_comment            = 'NRPE service user',
     $ne_user_uid                = '1005',
    -$ne_user_home               = '/var/run/nagios',
    +$ne_user_home               = '/var/run/nrpe',
     $ne_user_groups             = undef,
     $ne_user_shell              = '/sbin/nologin',
     
    +# nrpe.cfg
    +$ne_log_facility            = 'daemon',
    +$ne_log_file                = '',
    +$ne_debug                   = '0',
    +$ne_nrpe_port               = '5666',
    +$ne_server_address          = '127.0.0.1',
    +$ne_listen_queue_size       = '5',
    +$ne_nagios_server           = $::nagios_server,
    +$ne_dont_blame_nrpe         = '1',
    +$ne_allow_bash_cmd_subst    = '1',
    +$ne_allow_sudo              = true,
    +$ne_command_prefix          = '/usr/bin/sudo',
    +$ne_command_timeout         = '60',
    +$ne_connection_timeout      = '300',
    +$ne_allow_weak_rnd_seed     = '1',
    +$ne_ssl_version             = 'TLSv1.1+',
    +$ne_ssl_use_adh             = '1',
    +$ne_ssl_cipher_list         = 'ALL:!aNULL:!eNULL:!SSLv2:!LOW:!EXP:!RC4:!MD5:@STRENGTH',
    +$ne_ssl_cacert_file         = '/etc/pki/tls/certs/ca-chain.crt.pem',
    +$ne_ssl_cert_file           = "/etc/pki/tls/certs/${::fqdn}.crt.pem",
    +$ne_ssl_privatekey_file     = "/etc/pki/tls/private/${::fqdn}.key.pem",
    +$ne_ssl_client_certs        = '2',
    +$ne_ssl_logging             = '0x00',
    +$ne_nasty_metachars         = '\"|`&><\'\\[]{};\r\n\"',
    +$ne_include_file            = '',
    +
    +# firewall
    +$ne_incl_fw                 = true,
    +$ne_fw_order_no             = '50',
    +
    +# selinux
    +$ne_include_selinux         = true,
    +
    +
     ) {
     
     # installation section
    @@ -288,6 +936,18 @@ $reqpackages  = $::operatingsystem ? {
         /(?i-mx:centos|fedora|redhat)/ => ['nrpe'],
       }
     
    +# service
    +$ne_service                 = 'nrpe'
    +
    +# directories
    +$ne_main_conf_d_dir         = '/etc/nrpe.d'
    +$ne_run_dir                 = '/var/run/nrpe'
    +
    +# files
    +$ne_main_conf_file          = '/etc/nagios/nrpe.cfg'
    +$ne_nrpe_conf_head_erb      = 'cd_nrpe/nrpe_cfg_head.erb'
    +$ne_nrpe_pid_file           = "${ne_run_dir}/nrpe.pid"
    +
     # includes must be last
     
       include cd_nrpe::main::config
    @@ -300,7 +960,7 @@ $reqpackages  = $::operatingsystem ? {
     
     
           
    diff --git a/doc/puppet_defined_type_list.html b/doc/puppet_defined_type_list.html
    new file mode 100644
    index 0000000..c4d216e
    --- /dev/null
    +++ b/doc/puppet_defined_type_list.html
    @@ -0,0 +1,54 @@
    +
    +
    +  
    +    
    +    
    +    
    +      
    +    
    +      
    +    
    +
    +    
    +      
    +    
    +      
    +    
    +
    +    Defined Type List
    +    
    +  
    +  
    +    
    +
    +

    Defined Type List

    + + + +
    + + +
    + + diff --git a/doc/puppet_defined_types/cd_nrpe_3A_3Acommands_3A_3Adefinitions.html b/doc/puppet_defined_types/cd_nrpe_3A_3Acommands_3A_3Adefinitions.html new file mode 100644 index 0000000..e64e54a --- /dev/null +++ b/doc/puppet_defined_types/cd_nrpe_3A_3Acommands_3A_3Adefinitions.html @@ -0,0 +1,158 @@ + + + + + + + Defined Type: cd_nrpe::commands::definitions + + — Documentation by YARD 0.9.9 + + + + + + + + + + + + + + + + + + + +
    + + +

    Defined Type: cd_nrpe::commands::definitions

    +
    +
    +
    Defined in:
    +
    + manifests/commands/definitions.pp +
    +
    +
    + +

    Summary

    + manage firewall settings through cd_firewall or puppetlabs-firewall + +

    Overview

    +
    +
    + +

    cd_nrpe::commands::definitions.pp +Module name: cd_nrpe +Author: Arne Teuke +(arne_teuke@ConfDroid.com)

    + +

    License:

    + +

    This file is part of cd_nrpe.

    + +

    cd_nrpe is used for providing automatic configuration of NRPE. + 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 www.gnu.org/licenses/.

    + +
    +
    +
    + + +
    + + + + + +
    +
    +
    +
    +23
    +24
    +25
    +26
    +27
    +28
    +29
    +30
    +
    +
    # File 'manifests/commands/definitions.pp', line 23
    +
    +define cd_nrpe::commands::definitions (
    +
    +
    +) {
    +
    +
    +
    +}
    +
    +
    +
    + + + +
    + + \ No newline at end of file diff --git a/doc/top-level-namespace.html b/doc/top-level-namespace.html index b7da8ce..ba084e7 100644 --- a/doc/top-level-namespace.html +++ b/doc/top-level-namespace.html @@ -90,7 +90,7 @@