Permalink
Browse files

NextGen Nrpe module

  • Loading branch information...
0 parents commit 377e23174cbda2f7b9d50ca13a4f5c140d2a6afa @alvagante alvagante committed Mar 13, 2012
Showing with 1,117 additions and 0 deletions.
  1. +11 −0 Modulefile
  2. +118 −0 README.rdoc
  3. +9 −0 Rakefile
  4. +501 −0 manifests/init.pp
  5. +149 −0 manifests/params.pp
  6. +22 −0 manifests/spec.pp
  7. +225 −0 spec/classes/nrpe_spec.rb
  8. +23 −0 spec/spec_helper.rb
  9. +9 −0 templates/nrpe-init-debian.erb
  10. +7 −0 templates/nrpe-init-redhat.erb
  11. +35 −0 templates/nrpe.cfg.erb
  12. +8 −0 templates/spec.erb
@@ -0,0 +1,11 @@
+name 'lab42-nrpe'
+version '2.0.7'
+author 'Alessandro Franceschi'
+license 'Apache2'
+project_page 'http://www.example42.com'
+source 'https://github.com/example42/puppet-nrpe'
+summary 'Puppet module for nrpe'
+description 'This module installs and manages nrpe. Check README.rdoc for details. Puppi is required for some common functions: you can install them without using the whole module. Monitor and firewall dependencies are needed only if the relevant features are enabled'
+dependency 'lab42/puppi', '>= 2.0.0'
+dependency 'lab42/monitor', '>= 2.0.0'
+dependency 'lab42/firewall', '>= 2.0.0'
@@ -0,0 +1,118 @@
+= Puppet module: nrpe
+
+This is a Puppet module for nrpe based on the second generation layout ("NextGen") of Example42 Puppet Modules.
+
+Made by Alessandro Franceschi / Lab42
+
+Official site: http://www.example42.com
+
+Official git repository: http://github.com/example42/puppet-nrpe
+
+Released under the terms of Apache 2 License.
+
+This module requires functions provided by the Example42 Puppi module (you need it even if you don't use and install Puppi)
+
+For detailed info about the logic and usage patterns of Example42 modules check the DOCS directory on Example42 main modules set.
+
+== USAGE - Basic management
+
+* Install nrpe with default settings
+
+ class { 'nrpe': }
+
+* Disable nrpe service.
+
+ class { 'nrpe':
+ disable => true
+ }
+
+* Remove nrpe package
+
+ class { 'nrpe':
+ absent => true
+ }
+
+* Enable auditing without without making changes on existing nrpe configuration files
+
+ class { 'nrpe':
+ audit_only => true
+ }
+
+
+== USAGE - Module specific parameters
+
+* Define the hosts allowed to connect to NRPE (typically the Nagios servers)
+ This can be an array. Local host and local IP should be kept
+
+ class { 'nrpe':
+ allowed_hosts => ['127.0.0.1', $::ipaddress , '10.42.42.20' ],
+ }
+
+* Some settings that harden the default configuration. Note that they require proper configuration on the sudoers file
+
+ class { 'nrpe':
+ allowed_hosts => ['127.0.0.1', '10.42.42.20' ],
+ dont_blame_nrpe => '0',
+ command_prefix => '/usr/bin/sudo',
+ use_ssl => true, # Already true by default
+ server_address => $::ipadress_eth1, # Listen only on eth1 interface
+ }
+
+== USAGE - Overrides and Customizations
+* Use custom sources for main config file
+
+ class { 'nrpe':
+ source => [ "puppet:///modules/lab42/nrpe/nrpe.conf-${hostname}" , "puppet:///modules/lab42/nrpe/nrpe.conf" ],
+ }
+
+
+* Use custom source directory for the whole configuration dir
+
+ class { 'nrpe':
+ source_dir => 'puppet:///modules/lab42/nrpe/conf/',
+ source_dir_purge => false, # Set to true to purge any existing file not present in $source_dir
+ }
+
+* Use custom template for main config file. Note that template and source arguments are alternative.
+
+ class { 'nrpe':
+ template => 'example42/nrpe/nrpe.conf.erb',
+ }
+
+* Automatically include a custom subclass
+
+ class { 'nrpe':
+ my_class => 'nrpe::example42',
+ }
+
+
+== USAGE - Example42 extensions management
+* Activate puppi (recommended, but disabled by default)
+
+ class { 'nrpe':
+ puppi => true,
+ }
+
+* Activate puppi and use a custom puppi_helper template (to be provided separately with a puppi::helper define ) to customize the output of puppi commands
+
+ class { 'nrpe':
+ puppi => true,
+ puppi_helper => 'myhelper',
+ }
+
+* Activate automatic monitoring (recommended, but disabled by default). This option requires the usage of Example42 monitor and relevant monitor tools modules
+
+ class { 'nrpe':
+ monitor => true,
+ monitor_tool => [ 'nagios' , 'monit' , 'munin' ],
+ }
+
+* Activate automatic firewalling. This option requires the usage of Example42 firewall and relevant firewall tools modules
+
+ class { 'nrpe':
+ firewall => true,
+ firewall_tool => 'iptables',
+ firewall_src => '10.42.0.0/24',
+ firewall_dst => $ipaddress_eth0,
+ }
+
@@ -0,0 +1,9 @@
+require 'rake'
+require 'rspec/core/rake_task'
+
+RSpec::Core::RakeTask.new(:test) do |t|
+ t.rspec_opts = ["--format", "doc", "--color"]
+ t.pattern = 'spec/*/*_spec.rb'
+end
+
+task :default => :test
Oops, something went wrong.

0 comments on commit 377e231

Please sign in to comment.