Merge branch 'jenkins' into 'master'

Jenkins

See merge request !46
This commit is contained in:
12ww1160
2017-07-25 17:47:31 +02:00
33 changed files with 949 additions and 38 deletions

View File

@@ -8,6 +8,16 @@ Changelog of Git Changelog.
<h2> No issue </h2>
<a href="https://gitlab.puppetsoft.com/12WW1160/git-changelog-lib/commit/b4b3de53a39ef00">b4b3de53a39ef00</a> Jenkins Server <i>2017-07-25 14:48:58</i>
<p>
<h3>recommit for updates in build 84</h3>
</p>
<a href="https://gitlab.puppetsoft.com/12WW1160/git-changelog-lib/commit/3327f6d8692753b">3327f6d8692753b</a> Arne Teuke <i>2017-07-25 14:48:39</i>
<p>
<h3>added commands.pp</h3>
</p>
<a href="https://gitlab.puppetsoft.com/12WW1160/git-changelog-lib/commit/4ae4a056901361a">4ae4a056901361a</a> Jenkins Server <i>2017-07-25 14:34:30</i>
<p>
<h3>recommit for updates in build 83</h3>

View File

@@ -17,6 +17,7 @@
| | |-- cd_nagios_3A_3Amain_3A_3Adirs.html
| | |-- cd_nagios_3A_3Amain_3A_3Ainstall.html
| | |-- cd_nagios_3A_3Amain_3A_3Auser.html
| | |-- cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Acommands.html
| | |-- cd_nagios_3A_3Aparams.html
| | |-- cd_nagios_3A_3Aselinux_3A_3Aconfig.html
| | |-- cd_nagios_3A_3Aserver_3A_3Aaccess_rules.html
@@ -46,7 +47,9 @@
| | `-- user.pp
| |-- nagios
| | `-- objects
| | `-- commands.pp
| | |-- commands.pp
| | |-- template_rules.pp
| | `-- templates.pp
| |-- selinux
| | `-- config.pp
| |-- server
@@ -68,7 +71,10 @@
| |-- nagios
| | |-- cgi_cfg.erb
| | |-- htpasswd_rule.erb
| | `-- nagios_cfg.erb
| | |-- nagios_cfg.erb
| | |-- templates_cfg.erb
| | |-- templates_cfg_head.erb
| | `-- templates_cfg_rule.erb
| `-- selinux
| |-- statuscgi.erb
| `-- taccgi.erb
@@ -82,4 +88,4 @@
|-- README.md
`-- REPOSTRUCTURE.md
20 directories, 62 files
20 directories, 68 files

View File

@@ -113,6 +113,11 @@
</li>
<li>
<span class='object_link'><a href="puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Atemplate_rules.html" title="puppet_classes::cd_nagios::nagios::objects::template_rules (puppet_class)">cd_nagios::nagios::objects::template_rules</a></span>
</li>
<li>
<span class='object_link'><a href="puppet_classes/cd_nagios_3A_3Aparams.html" title="puppet_classes::cd_nagios::params (puppet_class)">cd_nagios::params</a></span>
@@ -158,6 +163,11 @@
<li class="letter">C</li>
<ul>
<li>
<span class='object_link'><a href="puppet_defined_types/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Atemplates.html" title="puppet_defined_types::cd_nagios::nagios::objects::templates (puppet_defined_type)">cd_nagios::nagios::objects::templates</a></span>
</li>
<li>
<span class='object_link'><a href="puppet_defined_types/cd_nagios_3A_3Aserver_3A_3Aaccess.html" title="puppet_defined_types::cd_nagios::server::access (puppet_defined_type)">cd_nagios::server::access</a></span>
@@ -191,7 +201,7 @@
</div>
<div id="footer">
Generated on Tue Jul 25 16:48:48 2017 by
Generated on Tue Jul 25 17:57:18 2017 by
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
0.9.9 (ruby-2.0.0).
</div>

View File

@@ -338,7 +338,7 @@ environments.</p>
</div></div>
<div id="footer">
Generated on Tue Jul 25 16:48:50 2017 by
Generated on Tue Jul 25 17:57:19 2017 by
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
0.9.9 (ruby-2.0.0).
</div>

View File

@@ -338,7 +338,7 @@ environments.</p>
</div></div>
<div id="footer">
Generated on Tue Jul 25 16:48:49 2017 by
Generated on Tue Jul 25 17:57:18 2017 by
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
0.9.9 (ruby-2.0.0).
</div>

View File

@@ -103,35 +103,42 @@
</li>
<li id="object_puppet_classes::cd_nagios::params" class="even">
<li id="object_puppet_classes::cd_nagios::nagios::objects::template_rules" class="even">
<div class="item">
<span class='object_link'><a href="puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Atemplate_rules.html" title="puppet_classes::cd_nagios::nagios::objects::template_rules (puppet_class)">cd_nagios::nagios::objects::template_rules</a></span>
</div>
</li>
<li id="object_puppet_classes::cd_nagios::params" class="odd">
<div class="item">
<span class='object_link'><a href="puppet_classes/cd_nagios_3A_3Aparams.html" title="puppet_classes::cd_nagios::params (puppet_class)">cd_nagios::params</a></span>
</div>
</li>
<li id="object_puppet_classes::cd_nagios::selinux::config" class="odd">
<li id="object_puppet_classes::cd_nagios::selinux::config" class="even">
<div class="item">
<span class='object_link'><a href="puppet_classes/cd_nagios_3A_3Aselinux_3A_3Aconfig.html" title="puppet_classes::cd_nagios::selinux::config (puppet_class)">cd_nagios::selinux::config</a></span>
</div>
</li>
<li id="object_puppet_classes::cd_nagios::server::access_rules" class="even">
<li id="object_puppet_classes::cd_nagios::server::access_rules" class="odd">
<div class="item">
<span class='object_link'><a href="puppet_classes/cd_nagios_3A_3Aserver_3A_3Aaccess_rules.html" title="puppet_classes::cd_nagios::server::access_rules (puppet_class)">cd_nagios::server::access_rules</a></span>
</div>
</li>
<li id="object_puppet_classes::cd_nagios::server::files" class="odd">
<li id="object_puppet_classes::cd_nagios::server::files" class="even">
<div class="item">
<span class='object_link'><a href="puppet_classes/cd_nagios_3A_3Aserver_3A_3Afiles.html" title="puppet_classes::cd_nagios::server::files (puppet_class)">cd_nagios::server::files</a></span>
</div>
</li>
<li id="object_puppet_classes::cd_nagios::server::service" class="even">
<li id="object_puppet_classes::cd_nagios::server::service" class="odd">
<div class="item">
<span class='object_link'><a href="puppet_classes/cd_nagios_3A_3Aserver_3A_3Aservice.html" title="puppet_classes::cd_nagios::server::service (puppet_class)">cd_nagios::server::service</a></span>
</div>

View File

@@ -139,7 +139,7 @@ class cd_nagios {
</div>
<div id="footer">
Generated on Tue Jul 25 16:48:50 2017 by
Generated on Tue Jul 25 17:57:19 2017 by
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
0.9.9 (ruby-2.0.0).
</div>

View File

@@ -230,7 +230,7 @@ class cd_nagios::certbot::certs (
</div>
<div id="footer">
Generated on Tue Jul 25 16:48:54 2017 by
Generated on Tue Jul 25 17:57:23 2017 by
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
0.9.9 (ruby-2.0.0).
</div>

View File

@@ -368,7 +368,7 @@ class cd_nagios::client::target (
</div>
<div id="footer">
Generated on Tue Jul 25 16:48:54 2017 by
Generated on Tue Jul 25 17:57:24 2017 by
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
0.9.9 (ruby-2.0.0).
</div>

View File

@@ -207,7 +207,7 @@ class cd_nagios::firewall::iptables (
</div>
<div id="footer">
Generated on Tue Jul 25 16:48:54 2017 by
Generated on Tue Jul 25 17:57:24 2017 by
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
0.9.9 (ruby-2.0.0).
</div>

View File

@@ -195,7 +195,7 @@ class cd_nagios::main::config (
</div>
<div id="footer">
Generated on Tue Jul 25 16:48:54 2017 by
Generated on Tue Jul 25 17:57:23 2017 by
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
0.9.9 (ruby-2.0.0).
</div>

View File

@@ -468,7 +468,7 @@ class cd_nagios::main::dirs (
</div>
<div id="footer">
Generated on Tue Jul 25 16:48:53 2017 by
Generated on Tue Jul 25 17:57:23 2017 by
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
0.9.9 (ruby-2.0.0).
</div>

View File

@@ -235,7 +235,7 @@ class cd_nagios::main::install (
</div>
<div id="footer">
Generated on Tue Jul 25 16:48:54 2017 by
Generated on Tue Jul 25 17:57:23 2017 by
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
0.9.9 (ruby-2.0.0).
</div>

View File

@@ -200,7 +200,7 @@ class cd_nagios::main::user (
</div>
<div id="footer">
Generated on Tue Jul 25 16:48:53 2017 by
Generated on Tue Jul 25 17:57:23 2017 by
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
0.9.9 (ruby-2.0.0).
</div>

View File

@@ -77,7 +77,8 @@
</div>
<h2>Summary</h2>
Class manages all configuration files required for cd_nagios.
Class manages all commands known to NAGIOS through Puppet exports,
and populates /etc/nagios/conf.d/nagios_commands.cfg.
<h2>Overview</h2>
<div class="docstring">
@@ -129,7 +130,6 @@ href="http://www.gnu.org/licenses">www.gnu.org/licenses</a>/.</p>
<pre class="lines">
23
24
25
26
@@ -355,10 +355,11 @@ href="http://www.gnu.org/licenses">www.gnu.org/licenses</a>/.</p>
246
247
248
249</pre>
249
250</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'manifests/nagios/objects/commands.pp', line 23</span>
<pre class="code"><span class="info file"># File 'manifests/nagios/objects/commands.pp', line 24</span>
class cd_nagios::nagios::objects::commands (
@@ -594,7 +595,7 @@ class cd_nagios::nagios::objects::commands (
</div>
<div id="footer">
Generated on Tue Jul 25 16:48:54 2017 by
Generated on Tue Jul 25 17:57:24 2017 by
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
0.9.9 (ruby-2.0.0).
</div>

View File

@@ -0,0 +1,219 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Puppet Class: cd_nagios::nagios::objects::template_rules
&mdash; Documentation by YARD 0.9.9
</title>
<link rel="stylesheet" href="../css/style.css" type="text/css" charset="utf-8" />
<link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8" />
<script type="text/javascript" charset="utf-8">
pathId = "puppet_classes::cd_nagios::nagios::objects::template_rules";
relpath = '../';
</script>
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
</head>
<body>
<div class="nav_wrap">
<iframe id="nav" src="../puppet_class_list.html?1"></iframe>
<div id="resizer"></div>
</div>
<div id="main" tabindex="-1">
<div id="header">
<div id="menu">
<a href="../_index.html">Index (c)</a> &raquo;
<span class='title'><span class='object_link'>Puppet Classes</span></span>
&raquo;
<span class="title">cd_nagios::nagios::objects::template_rules</span>
</div>
<div id="search">
<a class="full_list_link" id="puppet_class_list_link"
href="../puppet_class_list.html">
<svg width="24" height="24">
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
</svg>
</a>
</div>
<div class="clear"></div>
</div>
<div id="content"><h1>Puppet Class: cd_nagios::nagios::objects::template_rules</h1>
<div class="box_info">
<dl>
<dt>Inherits:</dt>
<dd><span class='object_link'><a href="cd_nagios_3A_3Aparams.html" title="puppet_classes::cd_nagios::params (puppet_class)">cd_nagios::params</a></span></dd>
</dl>
<dl>
<dt>Defined in:</dt>
<dd>
manifests/nagios/objects/template_rules.pp
</dd>
</dl>
</div>
<h2>Summary</h2>
Class manages /etc/nagios/conf.d/templates.cfg through concat.
<h2>Overview</h2>
<div class="docstring">
<div class="discussion">
<p>cd_nagios::nagios::objects::template_rules.pp
Module name:
cd_nagios
Author: Arne Teuke (arne_teuke@ConfDroid.com)</p>
<h1 id="label-License%3A">License:</h1>
<p>This file is part of cd_nagios.</p>
<p>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.</p>
<p>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.</p>
<p>You should have received a copy of the GNU General Public License
along
with this program. If not, see <a
href="http://www.gnu.org/licenses">www.gnu.org/licenses</a>/.
}</p>
</div>
</div>
<div class="tags">
<div class="examples">
<p class="tag_title">Examples:</p>
<p class="example_title"><div class='inline'>
<p>cd_nagios::objects::templates { $name:</p>
</div></p>
<pre class="example code"><code>ng_template_object =&gt; &#39;service&#39;,</code></pre>
</div>
</div><div class="method_details_list">
<table class="source_code">
<tr>
<td>
<pre class="lines">
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</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'manifests/nagios/objects/template_rules.pp', line 26</span>
class cd_nagios::nagios::objects::template_rules (
) inherits cd_nagios::params {
if $::fqdn == $ng_nagios_server {
# create the templates.cfg file
concat { $ng_target_templates:
ensure =&gt; present,
path =&gt; $ng_target_templates,
owner =&gt; $ng_user,
group =&gt; $ng_user,
mode =&gt; &#39;0640&#39;,
selrange =&gt; s0,
selrole =&gt; object_r,
seltype =&gt; nagios_etc_t,
seluser =&gt; system_u,
content =&gt; template[$ng_templates_head_erb],
notify =&gt; Service[$ng_service],
}
# example rule
cd_nagios::objects::templates { $name:
ng_template_object =&gt; &#39;contact&#39;,
}
}
}</pre>
</td>
</tr>
</table>
</div>
</div>
<div id="footer">
Generated on Tue Jul 25 17:57:24 2017 by
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
0.9.9 (ruby-2.0.0).
</div>
</div>
</body>
</html>

View File

@@ -91,6 +91,8 @@
<span class='object_link'><a href="cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Acommands.html" title="puppet_classes::cd_nagios::nagios::objects::commands (puppet_class)">cd_nagios::nagios::objects::commands</a></span><br/>
<span class='object_link'><a href="cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Atemplate_rules.html" title="puppet_classes::cd_nagios::nagios::objects::template_rules (puppet_class)">cd_nagios::nagios::objects::template_rules</a></span><br/>
</dd>
</dl>
@@ -5204,7 +5206,8 @@ up</p>
979
980
981
982</pre>
982
983</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'manifests/params.pp', line 646</span>
@@ -5525,8 +5528,9 @@ $ng_certbot_check = &quot;${ng_certbot_archive}/${ng_webserver_name}/cer
$ng_certbot_live = &quot;${ng_certbot_main_dir}/live&quot;
# nagios
$ng_target_templates = &quot;${ng_conf_d_dir}/templates.cfg&quot;
$ng_templates_head_erb = &#39;cd_nagios/nagios/templates_cfg_head.erb&#39;
$ng_templates_rule_erb = &#39;cd_nagios/nagios/templates_cfg_rule.erb&#39;
$ng_target_timeperiods = &quot;${ng_conf_d_dir}/timeperiods.cfg&quot;
$ng_target_localhost = &quot;${ng_conf_d_dir}/nagios_localhost.cfg&quot;
$ng_target_host = &quot;${ng_conf_d_dir}/nagios_host.cfg&quot;
@@ -5553,7 +5557,7 @@ $ng_target_command = &quot;${ng_conf_d_dir}/nagios_command.cfg&quot;
</div>
<div id="footer">
Generated on Tue Jul 25 16:48:53 2017 by
Generated on Tue Jul 25 17:57:23 2017 by
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
0.9.9 (ruby-2.0.0).
</div>

View File

@@ -249,7 +249,7 @@ class cd_nagios::selinux::config (
</div>
<div id="footer">
Generated on Tue Jul 25 16:48:54 2017 by
Generated on Tue Jul 25 17:57:24 2017 by
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
0.9.9 (ruby-2.0.0).
</div>

View File

@@ -195,7 +195,7 @@ class cd_nagios::server::access_rules (
</div>
<div id="footer">
Generated on Tue Jul 25 16:48:54 2017 by
Generated on Tue Jul 25 17:57:24 2017 by
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
0.9.9 (ruby-2.0.0).
</div>

View File

@@ -334,7 +334,7 @@ class cd_nagios::server::files (
</div>
<div id="footer">
Generated on Tue Jul 25 16:48:54 2017 by
Generated on Tue Jul 25 17:57:23 2017 by
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
0.9.9 (ruby-2.0.0).
</div>

View File

@@ -191,7 +191,9 @@ href="http://www.gnu.org/licenses">www.gnu.org/licenses</a>/.</p>
82
83
84
85</pre>
85
86
87</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'manifests/server/service.pp', line 23</span>
@@ -204,6 +206,8 @@ 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
service { $ng_service:
ensure =&gt; running,
@@ -266,7 +270,7 @@ class cd_nagios::server::service (
</div>
<div id="footer">
Generated on Tue Jul 25 16:48:54 2017 by
Generated on Tue Jul 25 17:57:24 2017 by
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
0.9.9 (ruby-2.0.0).
</div>

View File

@@ -40,7 +40,14 @@
<ul id="full_list" class="puppet_defined_type">
<li id="object_puppet_defined_types::cd_nagios::server::access" class="odd">
<li id="object_puppet_defined_types::cd_nagios::nagios::objects::templates" class="odd">
<div class="item">
<span class='object_link'><a href="puppet_defined_types/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Atemplates.html" title="puppet_defined_types::cd_nagios::nagios::objects::templates (puppet_defined_type)">cd_nagios::nagios::objects::templates</a></span>
</div>
</li>
<li id="object_puppet_defined_types::cd_nagios::server::access" class="even">
<div class="item">
<span class='object_link'><a href="puppet_defined_types/cd_nagios_3A_3Aserver_3A_3Aaccess.html" title="puppet_defined_types::cd_nagios::server::access (puppet_defined_type)">cd_nagios::server::access</a></span>
</div>

View File

@@ -0,0 +1,316 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Defined Type: cd_nagios::nagios::objects::templates
&mdash; Documentation by YARD 0.9.9
</title>
<link rel="stylesheet" href="../css/style.css" type="text/css" charset="utf-8" />
<link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8" />
<script type="text/javascript" charset="utf-8">
pathId = "puppet_defined_types::cd_nagios::nagios::objects::templates";
relpath = '../';
</script>
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
</head>
<body>
<div class="nav_wrap">
<iframe id="nav" src="../puppet_defined_type_list.html?1"></iframe>
<div id="resizer"></div>
</div>
<div id="main" tabindex="-1">
<div id="header">
<div id="menu">
<a href="../_index.html">Index (c)</a> &raquo;
<span class='title'><span class='object_link'>Defined Types</span></span>
&raquo;
<span class="title">cd_nagios::nagios::objects::templates</span>
</div>
<div id="search">
<a class="full_list_link" id="puppet_class_list_link"
href="../puppet_class_list.html">
<svg width="24" height="24">
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
</svg>
</a>
</div>
<div class="clear"></div>
</div>
<div id="content"><h1>Defined Type: cd_nagios::nagios::objects::templates</h1>
<div class="box_info">
<dl>
<dt>Defined in:</dt>
<dd>
manifests/nagios/objects/templates.pp
</dd>
</dl>
</div>
<h2>Summary</h2>
Define manages populates /etc/nagios/conf.d/templates.cfg.
<h2>Overview</h2>
<div class="docstring">
<div class="discussion">
<p>cd_nagios::nagios::objects::templates.pp
Module name: cd_nagios
Author:
Arne Teuke (arne_teuke@ConfDroid.com)</p>
<h1 id="label-License%3A">License:</h1>
<p>This file is part of cd_nagios.</p>
<p>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.</p>
<p>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.</p>
<p>You should have received a copy of the GNU General Public License
along
with this program. If not, see <a
href="http://www.gnu.org/licenses">www.gnu.org/licenses</a>/.</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Parameters:</p>
<ul class="param">
<li>
<span class='name'>ng_template_object</span>
<span class='type'>(<tt>Any</tt>)</span>
<em class="default">(defaults to: <tt>undef</tt>)</em>
</li>
<li>
<span class='name'>ng_template_object_name</span>
<span class='type'>(<tt>Any</tt>)</span>
<em class="default">(defaults to: <tt>undef</tt>)</em>
</li>
<li>
<span class='name'>ng_svc_notification_period</span>
<span class='type'>(<tt>Any</tt>)</span>
<em class="default">(defaults to: <tt>&#39;24x7&#39;</tt>)</em>
</li>
<li>
<span class='name'>ng_host_notification_period</span>
<span class='type'>(<tt>Any</tt>)</span>
<em class="default">(defaults to: <tt>&#39;24x7&#39;</tt>)</em>
</li>
<li>
<span class='name'>ng_service_notification_options</span>
<span class='type'>(<tt>Any</tt>)</span>
<em class="default">(defaults to: <tt>&#39;w,u,c,r,f,s&#39;</tt>)</em>
</li>
<li>
<span class='name'>ng_host_notification_options</span>
<span class='type'>(<tt>Any</tt>)</span>
<em class="default">(defaults to: <tt>&#39;d,u,r,f,s&#39;</tt>)</em>
</li>
<li>
<span class='name'>ng_service_notification_commands</span>
<span class='type'>(<tt>Any</tt>)</span>
<em class="default">(defaults to: <tt>&#39;notify-service-by-email&#39;</tt>)</em>
</li>
<li>
<span class='name'>ng_host_notification_commands</span>
<span class='type'>(<tt>Any</tt>)</span>
<em class="default">(defaults to: <tt>&#39;notify-host-by-email&#39;</tt>)</em>
</li>
<li>
<span class='name'>ng_object_register</span>
<span class='type'>(<tt>Any</tt>)</span>
<em class="default">(defaults to: <tt>&#39;0&#39;</tt>)</em>
</li>
</ul>
</div><div class="method_details_list">
<table class="source_code">
<tr>
<td>
<pre class="lines">
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</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'manifests/nagios/objects/templates.pp', line 23</span>
define cd_nagios::nagios::objects::templates (
$ng_template_object = undef,
$ng_template_object_name = undef,
$ng_svc_notification_period = &#39;24x7&#39;,
$ng_host_notification_period = &#39;24x7&#39;,
$ng_service_notification_options = &#39;w,u,c,r,f,s&#39;,
$ng_host_notification_options = &#39;d,u,r,f,s&#39;,
$ng_service_notification_commands = &#39;notify-service-by-email&#39;,
$ng_host_notification_commands = &#39;notify-host-by-email&#39;,
$ng_object_register = &#39;0&#39;,
) {
$ng_nagios_server = $::cd_nagios::params::ng_nagios_server
$ng_target_templates = $::cd_nagios::params::ng_target_templates
$ng_templates_rule_erb = $::cd_nagios::params::ng_templates_rule_erb
if $::fqdn == $ng_nagios_server {
concat::fragment { $name:
target =&gt; $ng_target_templates,
content =&gt; template($ng_templates_rule_erb),
}
}
}</pre>
</td>
</tr>
</table>
</div>
</div>
<div id="footer">
Generated on Tue Jul 25 17:57:24 2017 by
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
0.9.9 (ruby-2.0.0).
</div>
</div>
</body>
</html>

View File

@@ -220,7 +220,7 @@ $ng_service = $::cd_nagios::params::ng_service
</div>
<div id="footer">
Generated on Tue Jul 25 16:48:54 2017 by
Generated on Tue Jul 25 17:57:24 2017 by
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
0.9.9 (ruby-2.0.0).
</div>

View File

@@ -90,7 +90,7 @@
</div>
<div id="footer">
Generated on Tue Jul 25 16:48:50 2017 by
Generated on Tue Jul 25 17:57:19 2017 by
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
0.9.9 (ruby-2.0.0).
</div>

View File

@@ -18,8 +18,9 @@
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# @summary Class manages all configuration files required for cd_nagios.
##############################################################################
# @summary Class manages all commands known to NAGIOS through Puppet exports,
# and populates /etc/nagios/conf.d/nagios_commands.cfg.
################################################################################
class cd_nagios::nagios::objects::commands (
) inherits cd_nagios::params {

View File

@@ -0,0 +1,53 @@
## cd_nagios::nagios::objects::template_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 <http://www.gnu.org/licenses/>.
# @summary Class manages /etc/nagios/conf.d/templates.cfg through concat.
# @example cd_nagios::objects::templates { $name:
# ng_template_object => 'service',
# }
################################################################################
class cd_nagios::nagios::objects::template_rules (
) inherits cd_nagios::params {
if $::fqdn == $ng_nagios_server {
# create the templates.cfg file
concat { $ng_target_templates:
ensure => present,
path => $ng_target_templates,
owner => $ng_user,
group => $ng_user,
mode => '0640',
selrange => s0,
selrole => object_r,
seltype => nagios_etc_t,
seluser => system_u,
content => template[$ng_templates_head_erb],
notify => Service[$ng_service],
}
# example rule
cd_nagios::objects::templates { $name:
ng_template_object => 'contact',
}
}
}

View File

@@ -0,0 +1,48 @@
## cd_nagios::nagios::objects::templates.pp
# Module name: cd_nagios
# Author: Arne Teuke (arne_teuke@ConfDroid.com)
# # License:
# This file is part of cd_nagios.
#
# cd_nagios is used for providing automatic configuration of Nagios
# Copyright (C) 2016 ConfDroid (copyright@ConfDroid.com)
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# @summary Define manages populates /etc/nagios/conf.d/templates.cfg.
################################################################################
define cd_nagios::nagios::objects::templates (
$ng_template_object = undef,
$ng_template_object_name = undef,
$ng_svc_notification_period = '24x7',
$ng_host_notification_period = '24x7',
$ng_service_notification_options = 'w,u,c,r,f,s',
$ng_host_notification_options = 'd,u,r,f,s',
$ng_service_notification_commands = 'notify-service-by-email',
$ng_host_notification_commands = 'notify-host-by-email',
$ng_object_register = '0',
) {
$ng_nagios_server = $::cd_nagios::params::ng_nagios_server
$ng_target_templates = $::cd_nagios::params::ng_target_templates
$ng_templates_rule_erb = $::cd_nagios::params::ng_templates_rule_erb
if $::fqdn == $ng_nagios_server {
concat::fragment { $name:
target => $ng_target_templates,
content => template($ng_templates_rule_erb),
}
}
}

View File

@@ -959,8 +959,9 @@ $ng_certbot_check = "${ng_certbot_archive}/${ng_webserver_name}/cert1.pe
$ng_certbot_live = "${ng_certbot_main_dir}/live"
# nagios
$ng_target_templates = "${ng_conf_d_dir}/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"
$ng_target_localhost = "${ng_conf_d_dir}/nagios_localhost.cfg"
$ng_target_host = "${ng_conf_d_dir}/nagios_host.cfg"

View File

@@ -28,6 +28,8 @@ 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
service { $ng_service:
ensure => running,

View File

@@ -0,0 +1,197 @@
###############################################################################
# TEMPLATES.CFG - SAMPLE OBJECT TEMPLATES
#
#
# NOTES: This config file provides you with some example object definition
# templates that are refered by other host, service, contact, etc.
# definitions in other config files.
#
# You don't need to keep these definitions in a separate file from your
# other object definitions. This has been done just to make things
# easier to understand.
#
###############################################################################
###############################################################################
###############################################################################
#
# CONTACT TEMPLATES
#
###############################################################################
###############################################################################
# Generic contact definition template - This is NOT a real contact, just a template!
define contact{
name generic-contact ; The name of this contact template
service_notification_period 24x7 ; service notifications can be sent anytime
host_notification_period 24x7 ; host notifications can be sent anytime
service_notification_options w,u,c,r,f,s ; send notifications for all service states, flapping events, and scheduled downtime events
host_notification_options d,u,r,f,s ; send notifications for all host states, flapping events, and scheduled downtime events
service_notification_commands notify-service-by-email ; send service notifications via email
host_notification_commands notify-host-by-email ; send host notifications via email
register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL CONTACT, JUST A TEMPLATE!
}
###############################################################################
###############################################################################
#
# HOST TEMPLATES
#
###############################################################################
###############################################################################
# Generic host definition template - This is NOT a real host, just a template!
define host{
name generic-host ; The name of this host template
notifications_enabled 1 ; Host notifications are enabled
event_handler_enabled 1 ; Host event handler is enabled
flap_detection_enabled 1 ; Flap detection is enabled
process_perf_data 1 ; Process performance data
retain_status_information 1 ; Retain status information across program restarts
retain_nonstatus_information 1 ; Retain non-status information across program restarts
notification_period 24x7 ; Send host notifications at any time
register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE!
}
# Linux host definition template - This is NOT a real host, just a template!
define host{
name linux-server ; The name of this host template
use generic-host ; This template inherits other values from the generic-host template
check_period 24x7 ; By default, Linux hosts are checked round the clock
check_interval 5 ; Actively check the host every 5 minutes
retry_interval 1 ; Schedule host check retries at 1 minute intervals
max_check_attempts 10 ; Check each Linux host 10 times (max)
check_command check-host-alive ; Default command to check Linux hosts
notification_period workhours ; Linux admins hate to be woken up, so we only notify during the day
; Note that the notification_period variable is being overridden from
; the value that is inherited from the generic-host template!
notification_interval 120 ; Resend notifications every 2 hours
notification_options d,u,r ; Only send notifications for specific host states
contact_groups admins ; Notifications get sent to the admins by default
register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE!
}
# Windows host definition template - This is NOT a real host, just a template!
define host{
name windows-server ; The name of this host template
use generic-host ; Inherit default values from the generic-host template
check_period 24x7 ; By default, Windows servers are monitored round the clock
check_interval 5 ; Actively check the server every 5 minutes
retry_interval 1 ; Schedule host check retries at 1 minute intervals
max_check_attempts 10 ; Check each server 10 times (max)
check_command check-host-alive ; Default command to check if servers are "alive"
notification_period 24x7 ; Send notification out at any time - day or night
notification_interval 30 ; Resend notifications every 30 minutes
notification_options d,r ; Only send notifications for specific host states
contact_groups admins ; Notifications get sent to the admins by default
hostgroups windows-servers ; Host groups that Windows servers should be a member of
register 0 ; DONT REGISTER THIS - ITS JUST A TEMPLATE
}
# We define a generic printer template that can be used for most printers we monitor
define host{
name generic-printer ; The name of this host template
use generic-host ; Inherit default values from the generic-host template
check_period 24x7 ; By default, printers are monitored round the clock
check_interval 5 ; Actively check the printer every 5 minutes
retry_interval 1 ; Schedule host check retries at 1 minute intervals
max_check_attempts 10 ; Check each printer 10 times (max)
check_command check-host-alive ; Default command to check if printers are "alive"
notification_period workhours ; Printers are only used during the workday
notification_interval 30 ; Resend notifications every 30 minutes
notification_options d,r ; Only send notifications for specific host states
contact_groups admins ; Notifications get sent to the admins by default
statusmap_image printer.png
register 0 ; DONT REGISTER THIS - ITS JUST A TEMPLATE
}
# Define a template for switches that we can reuse
define host{
name generic-switch ; The name of this host template
use generic-host ; Inherit default values from the generic-host template
check_period 24x7 ; By default, switches are monitored round the clock
check_interval 5 ; Switches are checked every 5 minutes
retry_interval 1 ; Schedule host check retries at 1 minute intervals
max_check_attempts 10 ; Check each switch 10 times (max)
check_command check-host-alive ; Default command to check if routers are "alive"
notification_period 24x7 ; Send notifications at any time
notification_interval 30 ; Resend notifications every 30 minutes
notification_options d,r ; Only send notifications for specific host states
contact_groups admins ; Notifications get sent to the admins by default
statusmap_image switch.png
register 0 ; DONT REGISTER THIS - ITS JUST A TEMPLATE
}
# Define a template for routers that we can reuse
define host{
name generic-router ; The name of this host template
use generic-switch ; Inherit default values from the generic-host template
statusmap_image router.png
register 0 ; DONT REGISTER THIS - ITS JUST A TEMPLATE
}
###############################################################################
###############################################################################
#
# SERVICE TEMPLATES
#
###############################################################################
###############################################################################
# Generic service definition template - This is NOT a real service, just a template!
define service{
name generic-service ; The 'name' of this service template
active_checks_enabled 1 ; Active service checks are enabled
passive_checks_enabled 1 ; Passive service checks are enabled/accepted
parallelize_check 1 ; Active service checks should be parallelized (disabling this can lead to major performance problems)
obsess_over_service 1 ; We should obsess over this service (if necessary)
check_freshness 0 ; Default is to NOT check service 'freshness'
notifications_enabled 1 ; Service notifications are enabled
event_handler_enabled 1 ; Service event handler is enabled
flap_detection_enabled 1 ; Flap detection is enabled
process_perf_data 1 ; Process performance data
retain_status_information 1 ; Retain status information across program restarts
retain_nonstatus_information 1 ; Retain non-status information across program restarts
is_volatile 0 ; The service is not volatile
check_period 24x7 ; The service can be checked at any time of the day
max_check_attempts 3 ; Re-check the service up to 3 times in order to determine its final (hard) state
check_interval 10 ; Check the service every 10 minutes under normal conditions
retry_interval 2 ; Re-check the service every two minutes until a hard state can be determined
contact_groups admins ; Notifications get sent out to everyone in the 'admins' group
notification_options w,u,c,r ; Send notifications about warning, unknown, critical, and recovery events
notification_interval 60 ; Re-notify about service problems every hour
notification_period 24x7 ; Notifications can be sent out at any time
register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE!
}
# Local service definition template - This is NOT a real service, just a template!
define service{
name local-service ; The name of this service template
use generic-service ; Inherit default values from the generic-service definition
max_check_attempts 4 ; Re-check the service up to 4 times in order to determine its final (hard) state
check_interval 5 ; Check the service every 5 minutes under normal conditions
retry_interval 1 ; Re-check the service every minute until a hard state can be determined
register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE!
}

View File

@@ -0,0 +1,7 @@
###############################################################################
### templates.cfg generated by Puppet | manual changes will be overwritten! ###
###############################################################################
########## Full reference file available at ##########
########## https://confdroid.com/2017/07/nagios-templates-cfg/ ##########
###############################################################################
# rules are created below by external puppet rules.

View File

@@ -0,0 +1,18 @@
<% if @ng_template_object == 'contact' -%>
define <%= @ng_template_object %>{
name <%= @ng_template_object_name %> ;
service_notification_period <%= @ng_svc_notification_period %> ;
host_notification_period <%= @ng_host_notification_period %> ;
service_notification_options <%= @ng_service_notification_options %> ;
host_notification_options <%= @ng_host_notification_options %> ;
service_notification_commands <%= @ng_service_notification_commands %> ;
host_notification_commands <%= @ng_host_notification_commands %> ;
register <%= @ng_object_register %> ;
}
<% elsif @ng_template_object == 'host' -%>
<% elsif @ng_template_object == 'service' -%>
<% end -%>