diff --git a/CHANGELOG.md b/CHANGELOG.md index 6971968..215c319 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,21 @@ Changelog of Git Changelog.

No issue

+62feddee64c23f9 Jenkins Server 2017-07-25 18:04:08 +

+

recommit for updates in build 96

+ +

+099828e47a377d2 Arne Teuke 2017-07-25 18:02:29 +

+

testing templates

+ +

+336e03f6090e222 Arne Teuke 2017-07-25 18:01:03 +

+

testing templates

+ +

a23722a67a2afb6 Jenkins Server 2017-07-25 17:56:39

recommit for updates in build 93

diff --git a/README.md b/README.md index c2de47d..0a1f15d 100644 --- a/README.md +++ b/README.md @@ -46,6 +46,8 @@ Configuration * manage nagios.cfg through parameters * manage Nagios users through external Puppet rules via define * manage Nagios commands through Puppet exports +* manage Nagios template definitions through external Puppet rules via define +* manage Nagios main contacts through Puppet exports. Additional contacts can be created through external Puppet rules via define, to avoid having to alter the module code. * configure NRPE on clients (optional) * configure firewall (optional) * configure selinux policies (optional) @@ -67,6 +69,8 @@ All dependencies must be included in the catalogue. * [cd_firewall](https://gitlab.puppetsoft.com/12WW1160/cd_firewall) or [puppetlabs firewall](https://github.com/puppetlabs/puppetlabs-firewall) (optional) * [cd_selinux](https://gitlab.puppetsoft.com/12WW1160/cd_selinux) for selinux policy adjustments * [cd_certbot](https://gitlab.puppetsoft.com/12WW1160/cd_certbot) to auto-manage TLS certificates (optional) +* [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) to concatenate configuration files from different sources. ### Deployment diff --git a/REPOSTRUCTURE.md b/REPOSTRUCTURE.md index 0ed4ca0..d3de3ff 100644 --- a/REPOSTRUCTURE.md +++ b/REPOSTRUCTURE.md @@ -49,7 +49,11 @@ | | `-- user.pp | |-- nagios | | `-- objects +| | |-- add_contact.pp +| | |-- add_contact_rules.pp | | |-- commands.pp +| | |-- config.pp +| | |-- contacts.pp | | |-- template_rules.pp | | `-- templates.pp | |-- selinux @@ -72,9 +76,11 @@ | | `-- nagios_ssl_vhost.erb | |-- nagios | | |-- cgi_cfg.erb +| | |-- contacts_cfg.erb +| | |-- contacts_cfg_head.erb +| | |-- contacts_cfg_rule.erb | | |-- htpasswd_rule.erb | | |-- nagios_cfg.erb -| | |-- templates_cfg.erb | | |-- templates_cfg_head.erb | | `-- templates_cfg_rule.erb | `-- selinux @@ -90,4 +96,4 @@ |-- README.md `-- REPOSTRUCTURE.md -20 directories, 70 files +20 directories, 76 files diff --git a/doc/_index.html b/doc/_index.html index 64a6a02..04af5c1 100644 --- a/doc/_index.html +++ b/doc/_index.html @@ -108,11 +108,26 @@ +
  • + cd_nagios::nagios::objects::add_contact_rules + +
  • +
  • cd_nagios::nagios::objects::commands
  • +
  • + cd_nagios::nagios::objects::config + +
  • + +
  • + cd_nagios::nagios::objects::contacts + +
  • +
  • cd_nagios::nagios::objects::template_rules @@ -163,6 +178,11 @@
  • C
  • Deployment

    @@ -338,7 +352,7 @@ environments.

    diff --git a/doc/index.html b/doc/index.html index 43a545d..8873d0e 100644 --- a/doc/index.html +++ b/doc/index.html @@ -145,14 +145,20 @@ parameters through external Puppet rules via define * manage Nagios commands through Puppet exports -* configure NRPE on clients (optional) -* configure firewall -(optional) -* configure selinux policies (optional) -* configure forwarding -http to https including accesing the /nagios url directly (optional) -* -manage TLS certificates through certbot (optional)

    +* manage Nagios template definitions through external Puppet +rules via define +* manage Nagios main contacts through Puppet exports. +Additional contacts can be created through external Puppet rules via +define, to avoid having to alter the module code. +* configure NRPE on +clients (optional) +* configure firewall (optional) +* configure selinux +policies (optional) +* configure forwarding http to https including accesing +the /nagios url directly (optional) +* manage TLS certificates through +certbot (optional)

    Service * manage Nagios service on server @@ -184,6 +190,14 @@ for selinux policy adjustments

  • cd_certbot to auto-manage TLS certificates (optional)

    +
  • +

    cd_stdlib or +puppetlabs +stdlib to facilitate concat

    +
  • +

    cd-concat or +puppetlabs +concat to concatenate configuration files from different sources.

  • Deployment

    @@ -338,7 +352,7 @@ environments.

    diff --git a/doc/puppet_class_list.html b/doc/puppet_class_list.html index 4a0751b..ef22ac1 100644 --- a/doc/puppet_class_list.html +++ b/doc/puppet_class_list.html @@ -96,49 +96,70 @@ -
  • +
  • +
    + cd_nagios::nagios::objects::add_contact_rules +
    +
  • + + +
  • cd_nagios::nagios::objects::commands
  • -
  • +
  • +
    + cd_nagios::nagios::objects::config +
    +
  • + + +
  • +
    + cd_nagios::nagios::objects::contacts +
    +
  • + + +
  • cd_nagios::nagios::objects::template_rules
  • -
  • +
  • cd_nagios::params
  • -
  • +
  • cd_nagios::selinux::config
  • -
  • +
  • cd_nagios::server::access_rules
  • -
  • +
  • cd_nagios::server::files
  • -
  • +
  • cd_nagios::server::service
    diff --git a/doc/puppet_classes/cd_nagios.html b/doc/puppet_classes/cd_nagios.html index d3f995c..0b79a94 100644 --- a/doc/puppet_classes/cd_nagios.html +++ b/doc/puppet_classes/cd_nagios.html @@ -139,7 +139,7 @@ class cd_nagios { diff --git a/doc/puppet_classes/cd_nagios_3A_3Acertbot_3A_3Acerts.html b/doc/puppet_classes/cd_nagios_3A_3Acertbot_3A_3Acerts.html index 8b06151..bcd384a 100644 --- a/doc/puppet_classes/cd_nagios_3A_3Acertbot_3A_3Acerts.html +++ b/doc/puppet_classes/cd_nagios_3A_3Acertbot_3A_3Acerts.html @@ -230,7 +230,7 @@ class cd_nagios::certbot::certs ( diff --git a/doc/puppet_classes/cd_nagios_3A_3Aclient_3A_3Atarget.html b/doc/puppet_classes/cd_nagios_3A_3Aclient_3A_3Atarget.html index 72934df..6d6a6b6 100644 --- a/doc/puppet_classes/cd_nagios_3A_3Aclient_3A_3Atarget.html +++ b/doc/puppet_classes/cd_nagios_3A_3Aclient_3A_3Atarget.html @@ -368,7 +368,7 @@ class cd_nagios::client::target ( diff --git a/doc/puppet_classes/cd_nagios_3A_3Afirewall_3A_3Aiptables.html b/doc/puppet_classes/cd_nagios_3A_3Afirewall_3A_3Aiptables.html index 0781ded..4155ac2 100644 --- a/doc/puppet_classes/cd_nagios_3A_3Afirewall_3A_3Aiptables.html +++ b/doc/puppet_classes/cd_nagios_3A_3Afirewall_3A_3Aiptables.html @@ -207,7 +207,7 @@ class cd_nagios::firewall::iptables ( diff --git a/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Aconfig.html b/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Aconfig.html index 27c2b69..50981cb 100644 --- a/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Aconfig.html +++ b/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Aconfig.html @@ -195,7 +195,7 @@ class cd_nagios::main::config ( diff --git a/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Adirs.html b/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Adirs.html index a05034f..cba2537 100644 --- a/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Adirs.html +++ b/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Adirs.html @@ -468,7 +468,7 @@ class cd_nagios::main::dirs ( diff --git a/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Ainstall.html b/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Ainstall.html index 4ec13a9..64bc256 100644 --- a/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Ainstall.html +++ b/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Ainstall.html @@ -235,7 +235,7 @@ class cd_nagios::main::install ( diff --git a/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Auser.html b/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Auser.html index 75db801..e38567e 100644 --- a/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Auser.html +++ b/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Auser.html @@ -200,7 +200,7 @@ class cd_nagios::main::user ( diff --git a/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_contact_rules.html b/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_contact_rules.html new file mode 100644 index 0000000..4e4fe93 --- /dev/null +++ b/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_contact_rules.html @@ -0,0 +1,238 @@ + + + + + + + Puppet Class: cd_nagios::nagios::objects::add_contact_rules + + — Documentation by YARD 0.9.9 + + + + + + + + + + + + + + + + + + + +
    + + +

    Puppet Class: cd_nagios::nagios::objects::add_contact_rules

    +
    + +
    +
    Inherits:
    +
    cd_nagios::params
    +
    + + +
    +
    Defined in:
    +
    + manifests/nagios/objects/add_contact_rules.pp +
    +
    +
    + +

    Summary

    + Class manages /etc/nagios/conf.d/nagios_add_contact.cfg through +concat. + +

    Overview

    +
    +
    + +

    cd_nagios::nagios::objects::add_contact_rules.pp +Module name: +cd_nagios +Author: Arne Teuke (arne_teuke@ConfDroid.com)

    + +

    License:

    + +

    This file is part of cd_nagios.

    + +

    cd_nagios is used for providing automatic configuration of Nagios + +Copyright (C) 2016 ConfDroid (copyright@ConfDroid.com) + This program is +free software: you can redistribute it and/or modify + it under the terms of +the GNU General Public License as published by + the Free Software +Foundation, either version 3 of the License, or + (at your option) any later +version.

    + +

    This program is distributed in the hope that it will be useful, + but +WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License +for more details.

    + +

    You should have received a copy of the GNU General Public License + along +with this program. If not, see www.gnu.org/licenses/. +cd_nagios::nagios::objects::add_contact +{ 'example_user': + ng_contact_name => 'example_user', + +ng_contact_alias => 'Example User', + ng_contact_groups => +'admins', + ng_contact_email => 'example@example.net', + }

    + +
    +
    +
    + + +
    + + + + + +
    +
    +
    +
    +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
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +
    +
    # File 'manifests/nagios/objects/add_contact_rules.pp', line 31
    +
    +class cd_nagios::nagios::objects::add_contact_rules (
    +
    +) inherits cd_nagios::params {
    +
    +  if $::fqdn == $ng_nagios_server {
    +
    +    # manage /etc/nagios/conf.d/nagios_add_contacts.cfg
    +
    +    concat { $ng_target_add_contact:
    +      ensure    =>  present,
    +      path      =>  $ng_target_add_contact,
    +      owner     =>  $ng_user,
    +      group     =>  $ng_user,
    +      mode      =>  '0640',
    +      selrange  =>  s0,
    +      selrole   =>  object_r,
    +      seltype   =>  nagios_etc_t,
    +      seluser   =>  system_u,
    +      notify    =>  Service[$ng_service],
    +    }
    +
    +    # manage file header
    +
    +    concat::fragment { 'header':
    +      target    =>  $ng_target_add_contact,
    +      content   =>  template($ng_contacts_head_erb),
    +      order     =>  '000',
    +    }
    +
    +    # example rule for testing
    +
    +    cd_nagios::nagios::objects::add_contact { 'example_user':
    +      ng_contact_name   =>  'example_user',
    +      ng_contact_alias  =>  'Example User',
    +      ng_contact_groups =>  'admins',
    +      ng_contact_email  =>  'example@example.net',
    +    }
    +  }
    +}
    +
    +
    +
    + + + +
    + + \ No newline at end of file diff --git a/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Acommands.html b/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Acommands.html index 4c5f71c..b6d49bd 100644 --- a/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Acommands.html +++ b/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Acommands.html @@ -595,7 +595,7 @@ class cd_nagios::nagios::objects::commands ( diff --git a/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aconfig.html b/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aconfig.html new file mode 100644 index 0000000..455ab7e --- /dev/null +++ b/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aconfig.html @@ -0,0 +1,174 @@ + + + + + + + Puppet Class: cd_nagios::nagios::objects::config + + — Documentation by YARD 0.9.9 + + + + + + + + + + + + + + + + + + + +
    + + +

    Puppet Class: cd_nagios::nagios::objects::config

    +
    + +
    +
    Inherits:
    +
    cd_nagios::params
    +
    + + +
    +
    Defined in:
    +
    + manifests/nagios/objects/config.pp +
    +
    +
    + +

    Summary

    + Class manages the nagios objects definitions. + +

    Overview

    +
    +
    + +

    cd_nagios::server::nagios::objects::config.pp +Module name: +cd_nagios +Author: Arne Teuke (arne_teuke@ConfDroid.com)

    + +

    License:

    + +

    This file is part of cd_nagios.

    + +

    cd_nagios is used for providing automatic configuration of Nagios + +Copyright (C) 2016 ConfDroid (copyright@ConfDroid.com) + This program is +free software: you can redistribute it and/or modify + it under the terms of +the GNU General Public License as published by + the Free Software +Foundation, either version 3 of the License, or + (at your option) any later +version.

    + +

    This program is distributed in the hope that it will be useful, + but +WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License +for more details.

    + +

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

    + +
    +
    +
    + + +
    + + + + + +
    +
    +
    +
    +23
    +24
    +25
    +26
    +27
    +28
    +29
    +30
    +31
    +32
    +33
    +34
    +
    +
    # File 'manifests/nagios/objects/config.pp', line 23
    +
    +class cd_nagios::nagios::objects::config (
    +
    +) inherits cd_nagios::params {
    +
    +  if $::fqdn == $ng_nagios_server {
    +
    +    require cd_nagios::nagios::objects::commands
    +    require cd_nagios::nagios::objects::template_rules
    +    require cd_nagios::nagios::objects::add_contact_rules
    +
    +  }
    +}
    +
    +
    +
    + + + +
    + + \ No newline at end of file diff --git a/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Acontacts.html b/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Acontacts.html new file mode 100644 index 0000000..c6e9de2 --- /dev/null +++ b/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Acontacts.html @@ -0,0 +1,290 @@ + + + + + + + Puppet Class: cd_nagios::nagios::objects::contacts + + — Documentation by YARD 0.9.9 + + + + + + + + + + + + + + + + + + + +
    + + +

    Puppet Class: cd_nagios::nagios::objects::contacts

    +
    + +
    +
    Inherits:
    +
    cd_nagios::params
    +
    + + +
    +
    Defined in:
    +
    + manifests/nagios/objects/contacts.pp +
    +
    +
    + +

    Summary

    + Class manages basic contacts known to NAGIOS through Puppet exports, +and populates /etc/nagios/conf.d/nagios_base_contacts.cfg. + +

    Overview

    +
    +
    + +

    cd_nagios::nagios::objects::contacts.pp +Module name: cd_nagios +Author: Arne +Teuke (arne_teuke@ConfDroid.com)

    + +

    License:

    + +

    This file is part of cd_nagios.

    + +

    cd_nagios is used for providing automatic configuration of Nagios + +Copyright (C) 2016 ConfDroid (copyright@ConfDroid.com) + This program is +free software: you can redistribute it and/or modify + it under the terms of +the GNU General Public License as published by + the Free Software +Foundation, either version 3 of the License, or + (at your option) any later +version.

    + +

    This program is distributed in the hope that it will be useful, + but +WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License +for more details.

    + +

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

    + +
    +
    +
    + +
    +

    Examples:

    + + +
    @@nagios_contact { 'admin':
    +  ensure              =>  present,
    +  alias               =>  'Nagios Admin',
    +  contact_name        =>  'admin',
    +  contactgroups       =>  'admins',
    +  email               =>  "admin@${::domain}",
    +  can_submit_commands =>  '1',
    +  register            =>  '1',
    +  use                 =>  'generic-contact',
    +  target              =>  $ng_target_base_contact,
    +  owner               =>  'root',
    +  group               =>  'nagios',
    +  mode                =>  '0664',
    +}
    + +
    + + +
    + + + + + +
    +
    +
    +
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +
    +
    # File 'manifests/nagios/objects/contacts.pp', line 39
    +
    +class cd_nagios::nagios::objects::contacts (
    +
    +
    +) inherits cd_nagios::params {
    +
    +  if $::fqdn == $ng_nagios_server {
    +
    +    #  admin contact
    +
    +    @@nagios_contact { 'admin':
    +      ensure              =>  present,
    +      alias               =>  'Nagios Admin',
    +      contact_name        =>  'admin',
    +      contactgroups       =>  'admins',
    +      email               =>  "admin@${::domain}",
    +      can_submit_commands =>  '1',
    +      register            =>  '1',
    +      use                 =>  'generic-contact',
    +      target              =>  $ng_target_base_contact,
    +      owner               =>  $ng_user,
    +      group               =>  $ng_user,
    +      mode                =>  '0640',
    +    }
    +
    +    # ops contact
    +
    +    @@nagios_contact { 'ops':
    +      ensure              =>  present,
    +      alias               =>  'Operations',
    +      contact_name        =>  'ops',
    +      contactgroups       =>  'operations',
    +      email               =>  "ops@${::domain}",
    +      can_submit_commands =>  '1',
    +      register            =>  '1',
    +      use                 =>  'generic-contact',
    +      target              =>  $ng_target_base_contact,
    +      owner               =>  $ng_user,
    +      group               =>  $ng_user,
    +      mode                =>  '0640',
    +    }
    +
    +   # support contact
    +
    +    @@nagios_contact { 'support':
    +      ensure              =>  present,
    +      alias               =>  'support',
    +      contact_name        =>  'support',
    +      contactgroups       =>  'support',
    +      email               =>  "support@${::domain}",
    +      can_submit_commands =>  '1',
    +      register            =>  '1',
    +      use                 =>  'generic-contact',
    +      target              =>  $ng_target_base_contact,
    +      owner               =>  $ng_user,
    +      group               =>  $ng_user,
    +      mode                =>  '0640',
    +    }
    +  }
    +}
    +
    +
    +
    + + + +
    + + \ No newline at end of file diff --git a/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Atemplate_rules.html b/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Atemplate_rules.html index 9784b65..6f0c5c9 100644 --- a/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Atemplate_rules.html +++ b/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Atemplate_rules.html @@ -77,7 +77,8 @@

    Summary

    - Class manages /etc/nagios/conf.d/templates.cfg through concat. + Class manages /etc/nagios/conf.d/nagios_templates.cfg through +concat.

    Overview

    @@ -143,7 +144,6 @@ ng_template_object_name => 'generic-contact',
     
     
    -27
     28
     29
     30
    @@ -216,10 +216,11 @@ ng_template_object_name =>  'generic-contact',
     97
     98
     99
    -100
    +100 +101 -
    # File 'manifests/nagios/objects/template_rules.pp', line 27
    +        
    # File 'manifests/nagios/objects/template_rules.pp', line 28
     
     class cd_nagios::nagios::objects::template_rules (
     
    @@ -302,7 +303,7 @@ class cd_nagios::nagios::objects::template_rules (
     
    diff --git a/doc/puppet_classes/cd_nagios_3A_3Aparams.html b/doc/puppet_classes/cd_nagios_3A_3Aparams.html index 8b7de87..9c7ed13 100644 --- a/doc/puppet_classes/cd_nagios_3A_3Aparams.html +++ b/doc/puppet_classes/cd_nagios_3A_3Aparams.html @@ -89,10 +89,16 @@ cd_nagios::server::access_rules
    + cd_nagios::nagios::objects::config
    + cd_nagios::nagios::objects::commands
    + cd_nagios::nagios::objects::contacts
    + cd_nagios::nagios::objects::template_rules
    + cd_nagios::nagios::objects::add_contact_rules
    + @@ -5207,7 +5213,10 @@ up

    980 981 982 -983 +983 +984 +985 +986
    # File 'manifests/params.pp', line 646
    @@ -5528,7 +5537,7 @@ $ng_certbot_check         = "${ng_certbot_archive}/${ng_webserver_name}/cer
     $ng_certbot_live          = "${ng_certbot_main_dir}/live"
     
     # nagios
    -$ng_target_templates      = "${ng_conf_d_dir}/templates.cfg"
    +$ng_target_templates      = "${ng_conf_d_dir}/nagios_templates.cfg"
     $ng_templates_head_erb    = 'cd_nagios/nagios/templates_cfg_head.erb'
     $ng_templates_rule_erb    = 'cd_nagios/nagios/templates_cfg_rule.erb'
     $ng_target_timeperiods    = "${ng_conf_d_dir}/timeperiods.cfg"
    @@ -5540,7 +5549,10 @@ $ng_target_hostesc        = "${ng_conf_d_dir}/nagios_hostescalation.cfg&quo
     $ng_target_hostext        = "${ng_conf_d_dir}/nagios_hostextinfo.cfg"
     $ng_target_service        = "${ng_conf_d_dir}/nagios_service.cfg"
     $ng_target_servicegroup   = "${ng_conf_d_dir}/nagios_servicegroup.cfg"
    -$ng_target_contact        = "${ng_conf_d_dir}/nagios_contact.cfg"
    +$ng_target_base_contact   = "${ng_conf_d_dir}/nagios_base_contact.cfg"
    +$ng_target_add_contact    = "${ng_conf_d_dir}/nagios_add_contact.cfg"
    +$ng_contacts_head_erb     = 'cd_nagios/nagios/contacts_cfg_head.erb'
    +$ng_contact_rule_erb      = 'cd_nagios/nagios/contact_cfg_rule.erb'
     $ng_target_contactgroup   = "${ng_conf_d_dir}/nagios_contactgroup.cfg"
     $ng_target_command        = "${ng_conf_d_dir}/nagios_command.cfg"
     
    @@ -5557,7 +5569,7 @@ $ng_target_command        = "${ng_conf_d_dir}/nagios_command.cfg"
     
     
           
    diff --git a/doc/puppet_classes/cd_nagios_3A_3Aselinux_3A_3Aconfig.html b/doc/puppet_classes/cd_nagios_3A_3Aselinux_3A_3Aconfig.html
    index a7b27c0..84db028 100644
    --- a/doc/puppet_classes/cd_nagios_3A_3Aselinux_3A_3Aconfig.html
    +++ b/doc/puppet_classes/cd_nagios_3A_3Aselinux_3A_3Aconfig.html
    @@ -249,7 +249,7 @@ class cd_nagios::selinux::config (
     
     
           
    diff --git a/doc/puppet_classes/cd_nagios_3A_3Aserver_3A_3Aaccess_rules.html b/doc/puppet_classes/cd_nagios_3A_3Aserver_3A_3Aaccess_rules.html
    index 461c1a9..72b76b8 100644
    --- a/doc/puppet_classes/cd_nagios_3A_3Aserver_3A_3Aaccess_rules.html
    +++ b/doc/puppet_classes/cd_nagios_3A_3Aserver_3A_3Aaccess_rules.html
    @@ -195,7 +195,7 @@ class cd_nagios::server::access_rules (
     
     
           
    diff --git a/doc/puppet_classes/cd_nagios_3A_3Aserver_3A_3Afiles.html b/doc/puppet_classes/cd_nagios_3A_3Aserver_3A_3Afiles.html
    index 948a9c2..28df8a5 100644
    --- a/doc/puppet_classes/cd_nagios_3A_3Aserver_3A_3Afiles.html
    +++ b/doc/puppet_classes/cd_nagios_3A_3Aserver_3A_3Afiles.html
    @@ -334,7 +334,7 @@ class cd_nagios::server::files (
     
     
           
    diff --git a/doc/puppet_classes/cd_nagios_3A_3Aserver_3A_3Aservice.html b/doc/puppet_classes/cd_nagios_3A_3Aserver_3A_3Aservice.html
    index c4b28b2..2c40cda 100644
    --- a/doc/puppet_classes/cd_nagios_3A_3Aserver_3A_3Aservice.html
    +++ b/doc/puppet_classes/cd_nagios_3A_3Aserver_3A_3Aservice.html
    @@ -192,8 +192,7 @@ href="http://www.gnu.org/licenses">www.gnu.org/licenses/.

    83 84 85 -86 -87
    +86
    # File 'manifests/server/service.pp', line 23
    @@ -206,8 +205,7 @@ class cd_nagios::server::service (
     
         require cd_nagios::server::files
         require cd_nagios::server::access_rules
    -    require cd_nagios::nagios::objects::commands
    -    require cd_nagios::nagios::objects::template_rules
    +    require cd_nagios::nagios::objects::config
     
         service { $ng_service:
           ensure      => running,
    @@ -270,7 +268,7 @@ class cd_nagios::server::service (
     
     
           
    diff --git a/doc/puppet_defined_type_list.html b/doc/puppet_defined_type_list.html
    index cf5fe31..c86cc98 100644
    --- a/doc/puppet_defined_type_list.html
    +++ b/doc/puppet_defined_type_list.html
    @@ -40,14 +40,21 @@