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.
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.
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.
+ 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/.
+
+
\ 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
}
+ 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/.
+ 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/.
+
+
\ 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/.
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/.
+
+
\ 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/.
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.
+
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.
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.
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
+ 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/.
+
+
\ 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 @@