Recommit for updates in build 135

This commit is contained in:
Jenkins Server
2026-03-02 15:03:25 +01:00
parent 2561a3cc7c
commit e9c06c3384
5 changed files with 298 additions and 63 deletions

View File

@@ -195,7 +195,7 @@ Re-type new password:
<h3 id="label-Additional+UI+users">Additional UI users</h3>
<p>The main user is automatically created. If you want to add more users, this should be done via the define confdroid_nagios::server::access. In your control repo, site.pp etc. address the access define like this:</p>
<p>The main user is automatically created. If you want to add more users, this should be done via the define <code>confdroid_nagios::server::access</code>. In your control repo, site.pp etc. address the access define like this:</p>
<pre class="code ruby"><code class="ruby">confdroid_nagios::server::access { &#39;example&#39;:
ng_htpasswd_user =&gt; &#39;example_user&#39;,
@@ -217,6 +217,24 @@ Re-type new password:
<p>This requires the contact groups to be in place as well.</p>
<p>Alternatively you also can create a custom class within this module and use the export command like this:</p>
<pre class="code ruby"><code class="ruby">@@nagios_contact { &#39;ops&#39;:
ensure =&gt; present,
alias =&gt; &#39;Operations&#39;,
contact_name =&gt; &#39;ops&#39;,
contactgroups =&gt; &#39;operations&#39;,
email =&gt; &#39;ops@example.net&#39;,
can_submit_commands =&gt; &#39;1&#39;,
register =&gt; &#39;1&#39;,
use =&gt; &#39;generic-contact&#39;,
target =&gt; $ng_target_base_contact,
owner =&gt; $ng_user,
group =&gt; $ng_user,
mode =&gt; &#39;0640&#39;,
}
</code></pre>
<h3 id="label-Adding+contact+groups">Adding contact groups</h3>
<p>In order to add contact groups for the notifications, address the define <code>confdroid_nagios::nagios::objects::add_contactgroups</code> in your config repo, site.pp etc. like this:</p>
@@ -228,6 +246,20 @@ Re-type new password:
}
</code></pre>
<p>Alternatively you also can create a custom class within this module and use the export command like this:</p>
<pre class="code ruby"><code class="ruby">@@nagios_contactgroup { &#39;operations&#39;:
ensure =&gt; present,
alias =&gt; &#39;Operations Team&#39;,
contactgroup_name =&gt; &#39;operations&#39;,
owner =&gt; $ng_user,
group =&gt; $ng_user,
mode =&gt; &#39;0640&#39;,
register =&gt; &#39;1&#39;,
target =&gt; $ng_tgt_contactgroup_base,
}
</code></pre>
<h3 id="label-Adding+host+groups">Adding host groups</h3>
<p>In order to add host groups, address the define <code>confdroid_nagios::nagios::objects::add_hostgroups</code> in your config repo, site.pp etc. like this:</p>
@@ -238,22 +270,109 @@ Re-type new password:
}
</code></pre>
<p>Hosts will be populated through the target.pp dynamically.</p>
<p>Alternatively you also can create a custom class within this module and use the export command like this:</p>
<pre class="code ruby"><code class="ruby">@@nagios_hostgroup { &#39;rhel-servers&#39;:
ensure =&gt; present,
hostgroup_name =&gt; &#39;rhel-servers&#39;,
alias =&gt; &#39;RHEL Servers&#39;,
owner =&gt; $ng_user,
group =&gt; $ng_user,
mode =&gt; &#39;0640&#39;,
register =&gt; &#39;1&#39;,
target =&gt; $ng_target_hostgroup_base,
}
</code></pre>
<p>Hosts themselves will be populated through the target.pp dynamically.</p>
<h3 id="label-Adding+service+groups">Adding service groups</h3>
<p>ToDo</p>
<p>In order to add service groups, address the define <code>confdroid_nagios::nagios::objects::add_servicegroups</code> in your config repo, site.pp etc. like this:</p>
<pre class="code ruby"><code class="ruby">confdroid_nagios::nagios::objects::add_servicegroups { &#39;example_servicegroup&#39;:
ng_servicegroup_name =&gt; &#39;example_servicegroup&#39;,
ng_servicegroup_alias =&gt; &#39;Example servicegroup&#39;,
}
</code></pre>
<p>Alternatively you also can create a custom class within this module and use the export command like this:</p>
<pre class="code ruby"><code class="ruby">@@nagios_servicegroup { &#39;network-services&#39;:
ensure =&gt; present,
servicegroup_name =&gt; &#39;network-services&#39;,
alias =&gt; &#39;Network Services&#39;,
owner =&gt; $ng_user,
group =&gt; $ng_user,
mode =&gt; &#39;0640&#39;,
register =&gt; &#39;1&#39;,
target =&gt; $ng_target_svcgrp_base,
}
</code></pre>
<h3 id="label-Adding+time+periods">Adding time periods</h3>
<p>ToDo</p>
<p>In order to add time periods, address the define <code>confdroid_nagios::nagios::objects::add_timeperiods</code> in your config repo, site.pp etc. like this:</p>
<pre class="code ruby"><code class="ruby">confdroid_nagios::nagios::objects::add_timeperiods { &#39;example_timeperiod&#39;:
ng_timep_name =&gt; &#39;example_timeperiod&#39;,
ng_timep_alias =&gt; &#39;Example timeperiod&#39;,
ng_timep_monday =&gt; &#39;00:00-00:00&#39;,
ng_timep_tuesday =&gt; &#39;00:00-00:00&#39;,
ng_timep_wednesday =&gt; &#39;00:00-00:00&#39;,
ng_timep_thursday =&gt; &#39;00:00-00:00&#39;,
ng_timep_friday =&gt; &#39;00:00-00:00&#39;,
ng_timep_saturday =&gt; &#39;00:00-00:00&#39;,
ng_timep_sunday =&gt; &#39;00:00-00:00&#39;,
}
</code></pre>
<p>Alternatively you also can create a custom class within this module and use the export command like this:</p>
<pre class="code ruby"><code class="ruby">@@nagios_timeperiod { &#39;office_hours&#39;:
ensure =&gt; present,
timeperiod_name =&gt; &#39;office_hours&#39;,
alias =&gt; &#39;Office hours only, 5 Days A Week 09-05&#39;,
monday =&gt; &#39;09:00-17:00&#39;,
tuesday =&gt; &#39;09:00-17:00&#39;,
wednesday =&gt; &#39;09:00-17:00&#39;,
thursday =&gt; &#39;09:00-17:00&#39;,
friday =&gt; &#39;09:00-17:00&#39;,
saturday =&gt; &#39;00:00-00:00&#39;,
sunday =&gt; &#39;00:00-00:00&#39;,
owner =&gt; $ng_user,
group =&gt; $ng_user,
mode =&gt; &#39;0640&#39;,
register =&gt; &#39;1&#39;,
target =&gt; $ng_tgt_timeperiods_base,
}
</code></pre>
<h3 id="label-Adding+custom+commands">Adding custom commands</h3>
<p>ToDo</p>
<p>Commands are defined in <code>confdroid_nagios::nagios::objects::commands</code> and deployed /etc/nagios/conf.d/nagios_commands_base.cfg through PuppetDB exports like this:</p>
<pre class="code ruby"><code class="ruby">@@nagios_command { &#39;check_disk&#39;:
ensure =&gt; present,
command_name =&gt; &#39;check_disk&#39;,
command_line =&gt; &#39;$USER1$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$&#39;,
owner =&gt; $ng_user,
group =&gt; $ng_user,
mode =&gt; &#39;0640&#39;,
target =&gt; $ng_target_command,
}
</code></pre>
<h3 id="label-Adding+templates">Adding templates</h3>
<p>In order to add time periods, address the define <code>confdroid_nagios::nagios::objects::add_templates</code> in your config repo, site.pp etc. like this:</p>
<pre class="code ruby"><code class="ruby">confdroid_nagios::nagios::objects::templates { &#39;generic contact&#39;:
ng_template_object =&gt; &#39;contact&#39;,
ng_template_object_name =&gt; &#39;generic-contact&#39;,
}
</code></pre>
<h2 id="label-PuppetDB">PuppetDB</h2>
<p>A working instance of PuppetDB connected to the Puppet master is required for this to work. Installation and configuration of PuppetDB is out of scope for this module, however <a href="https://gitlab.confdroid.com/puppet/cd_puppetdb">cd_puppetdb</a> is available to automate this task for you as well within a few minutes.</p>