21 Commits

Author SHA1 Message Date
Jenkins
a86d771abc Merge branch 'jenkins-build-244' into 'master'
Auto-merge for build 244

See merge request puppet/confdroid_nagios!9
2026-09-08 13:40:03 +02:00
Jenkins Server
e8d714b01a Recommit for updates in build 244 2026-09-08 13:09:26 +02:00
Jenkins Server
4091b41e46 Merge remote-tracking branch 'origin/master' into jenkins-build-244 2026-09-08 13:09:26 +02:00
475f7d096f OP#672 add service target for puppet_server 2026-09-08 13:06:52 +02:00
Jenkins
17a05df50e Merge branch 'jenkins-build-243' into 'master'
Auto-merge for build 243

See merge request puppet/confdroid_nagios!8
2026-09-08 09:36:52 +00:00
Jenkins Server
75b2b96baa Recommit for updates in build 243 2026-09-08 11:36:45 +02:00
Jenkins Server
0bf44dc0d2 Merge remote-tracking branch 'origin/master' into jenkins-build-243 2026-09-08 11:36:45 +02:00
2ba6a788b5 OP#672 add service target for puppet_server 2026-09-08 11:34:25 +02:00
Jenkins
c8dafcd98a Merge branch 'jenkins-build-242' into 'master'
Auto-merge for build 242

See merge request puppet/confdroid_nagios!7
2026-09-07 14:34:19 +00:00
Jenkins Server
e56945b959 Recommit for updates in build 242 2026-09-07 16:34:13 +02:00
Jenkins Server
cb4a10a00a Merge remote-tracking branch 'origin/master' into jenkins-build-242 2026-09-07 16:34:13 +02:00
5325accc03 OP#672 add check_puppet command 2026-09-07 16:31:49 +02:00
Jenkins
b991426eb5 Merge branch 'jenkins-build-241' into 'master'
Auto-merge for build 241

See merge request puppet/confdroid_nagios!6
2026-09-07 13:48:12 +00:00
Jenkins Server
6b8c6e3635 Recommit for updates in build 241 2026-09-07 15:48:01 +02:00
Jenkins Server
2ae8a29521 Merge remote-tracking branch 'origin/master' into jenkins-build-241 2026-09-07 15:48:01 +02:00
d15e97f718 OP#672 add check_haproxy command 2026-09-07 15:46:07 +02:00
Jenkins
aeac168318 Merge branch 'jenkins-build-240' into 'master'
Auto-merge for build 240

See merge request puppet/confdroid_nagios!5
2026-09-07 12:22:51 +00:00
Jenkins Server
4b9b1becbf Recommit for updates in build 240 2026-09-07 14:22:45 +02:00
Jenkins Server
dd9428d66b Merge remote-tracking branch 'origin/master' into jenkins-build-240 2026-09-07 14:22:45 +02:00
5640358c19 OP#672 add check_alloy command and update Readme 2026-09-07 14:20:47 +02:00
Jenkins
0cd6d6f761 Merge branch 'jenkins-build-239' into 'master'
Auto-merge for build 239

See merge request puppet/confdroid_nagios!4
2026-09-07 12:13:16 +00:00
6 changed files with 218 additions and 136 deletions

135
Jenkinsfile vendored
View File

@@ -1,135 +0,0 @@
pipeline {
agent {
label 'puppet'
}
post {
always {
deleteDir() /* clean up our workspace */
}
success {
updateGitlabCommitStatus state: 'success'
}
failure {
updateGitlabCommitStatus state: 'failed'
step([$class: 'Mailer', notifyEveryUnstableBuild: true, recipients: 'support@confdroid.com', sendToIndividuals: true])
}
}
options {
gitLabConnection('gitlab.confdroid.com')
}
stages {
stage('pull master') {
steps {
sshagent(['edd05eb6-26b5-4c7b-a5cc-ea2ab899f4fa']) {
sh '''
git config user.name "Jenkins Server"
git config user.email jenkins@confdroid.com
# Ensure we're on the development branch (triggered by push)
git checkout development
# Create jenkins branch from development
git checkout -b jenkins-build-$BUILD_NUMBER
# Optionally merge master into jenkins to ensure compatibility
git merge origin/master --no-ff || { echo "Merge conflict detected"; exit 1; }
'''
}
}
}
stage('puppet parser') {
steps {
sh '''for file in $(find . -iname \'*.pp\'); do
/opt/puppetlabs/bin/puppet parser validate --color false --render-as s --modulepath=modules $file || exit 1;
done;'''
}
}
stage('check templates') {
steps{
sh '''for file in $(find . -iname \'*.erb\');
do erb -P -x -T "-" $file | ruby -c || exit 1;
done;'''
}
}
stage('puppet-lint') {
steps {
sh '''/usr/local/bin/puppet-lint . \\
--no-variable_scope-check \\
|| { echo "Puppet lint failed"; exit 1; }
'''
}
}
stage('SonarScan') {
steps {
withCredentials([string(credentialsId: 'sonar-token', variable: 'SONAR_TOKEN')]) {
sh '''
/opt/sonar-scanner/bin/sonar-scanner \
-Dsonar.projectKey=confdroid_nagios \
-Dsonar.sources=. \
-Dsonar.host.url=https://sonarqube.confdroid.com \
-Dsonar.token=$SONAR_TOKEN
'''
}
}
}
stage('create Puppet documentation') {
steps {
sh '/opt/puppetlabs/bin/puppet strings'
}
}
stage('update repo') {
steps {
sshagent(['edd05eb6-26b5-4c7b-a5cc-ea2ab899f4fa']) {
sh '''
git config user.name "Jenkins Server"
git config user.email jenkins@confdroid.com
git rm -r --cached .vscode || echo "No .vscode to remove from git"
git commit --amend --no-edit --allow-empty
git add -A && git commit -am "Recommit for updates in build $BUILD_NUMBER" || echo "No changes to commit"
git push -o merge_request.create \
-o merge_request.target=master \
-o merge_request.title="Auto-merge for build $BUILD_NUMBER" \
-o merge_request.description="Automated changes from Jenkins build $BUILD_NUMBER" \
-o merge_request.merge_when_pipeline_succeeds=true \
origin jenkins-build-$BUILD_NUMBER
'''
}
}
}
stage('Mirror to Gitea') {
steps {
sshagent(['edd05eb6-26b5-4c7b-a5cc-ea2ab899f4fa']) {
withCredentials([usernamePassword(
credentialsId: 'Jenkins-gitea',
usernameVariable: 'GITEA_USER',
passwordVariable: 'GITEA_TOKEN')]) {
script {
// Checkout from GitLab (already done implicitly)
sh '''
git checkout master
git pull origin master
git branch -D development
git branch -D jenkins-build-$BUILD_NUMBER
git rm -f Jenkinsfile
git rm -r --cached .vscode || echo "No .vscode to remove from git"
git commit --amend --no-edit --allow-empty
git remote add master https://sourcecode.confdroid.com/confdroid/confdroid_nagios.git
git -c credential.helper="!f() { echo username=${GITEA_USER}; echo password=${GITEA_TOKEN}; }; f" \
push master --mirror
'''
}
}
}
}
}
}
}

View File

@@ -8,6 +8,7 @@
- [Synopsis](#synopsis) - [Synopsis](#synopsis)
- [WARNING](#warning) - [WARNING](#warning)
- [Features](#features) - [Features](#features)
- [Currently included custom checks](#currently-included-custom-checks)
- [Repo Documentation](#repo-documentation) - [Repo Documentation](#repo-documentation)
- [Dependencies](#dependencies) - [Dependencies](#dependencies)
- [Deployment](#deployment) - [Deployment](#deployment)
@@ -52,6 +53,32 @@ At this stage, the module is being redeveloped and being built to the latest sta
- if `ng_include_nrpe`is set to `true`, the confdroid_nrpe module is automatically applied on clients ([confdroid_nrpe](https://sourcecode.confdroid.com/confdroid/confdroid_nrpe) must be in the catalogue then) - if `ng_include_nrpe`is set to `true`, the confdroid_nrpe module is automatically applied on clients ([confdroid_nrpe](https://sourcecode.confdroid.com/confdroid/confdroid_nrpe) must be in the catalogue then)
- if `ng_enable_fail2ban`is set to `true`, a fail2ban jail and filter will be added for the Nagios service (requires confdroid_fail2ban). - if `ng_enable_fail2ban`is set to `true`, a fail2ban jail and filter will be added for the Nagios service (requires confdroid_fail2ban).
### Currently included custom checks
The current nagios checks are included via `manifests/nagios/commands.pp`:
- `check-host-alive`
- `check_disk`
- `check_local_load`
- `check_local_procs`
- `check_local_users`
- `check_local_swap`
- `check_ftp`
- `check_snmp`
- `check_http`
- `check_ssh`
- `check_ping`
- `check_tcp`
- `check_udp`
- `check_nrpe`
- `check_nagios`
- `check_bandwidth`
- `process-service-perfdata-file`
- `process-host-perfdata-file`
- `check_ntp_time`
- `check_fail2ban`
- `check_alloy`
## Repo Documentation ## Repo Documentation
See the full Puppet documentation including parameters in `docs/index.html` See the full Puppet documentation including parameters in `docs/index.html`

View File

@@ -69,6 +69,9 @@
<p><a href="#warning">WARNING</a></p> <p><a href="#warning">WARNING</a></p>
</li><li> </li><li>
<p><a href="#features">Features</a></p> <p><a href="#features">Features</a></p>
<ul><li>
<p><a href="#currently-included-custom-checks">Currently included custom checks</a></p>
</li></ul>
</li><li> </li><li>
<p><a href="#repo-documentation">Repo Documentation</a></p> <p><a href="#repo-documentation">Repo Documentation</a></p>
</li><li> </li><li>
@@ -145,6 +148,53 @@
<p>if <code>ng_enable_fail2ban</code>is set to <code>true</code>, a fail2ban jail and filter will be added for the Nagios service (requires confdroid_fail2ban).</p> <p>if <code>ng_enable_fail2ban</code>is set to <code>true</code>, a fail2ban jail and filter will be added for the Nagios service (requires confdroid_fail2ban).</p>
</li></ul> </li></ul>
<h3 id="label-Currently+included+custom+checks">Currently included custom checks</h3>
<p>The current nagios checks are included via <code>manifests/nagios/commands.pp</code>:</p>
<ul><li>
<p><code>check-host-alive</code></p>
</li><li>
<p><code>check_disk</code></p>
</li><li>
<p><code>check_local_load</code></p>
</li><li>
<p><code>check_local_procs</code></p>
</li><li>
<p><code>check_local_users</code></p>
</li><li>
<p><code>check_local_swap</code></p>
</li><li>
<p><code>check_ftp</code></p>
</li><li>
<p><code>check_snmp</code></p>
</li><li>
<p><code>check_http</code></p>
</li><li>
<p><code>check_ssh</code></p>
</li><li>
<p><code>check_ping</code></p>
</li><li>
<p><code>check_tcp</code></p>
</li><li>
<p><code>check_udp</code></p>
</li><li>
<p><code>check_nrpe</code></p>
</li><li>
<p><code>check_nagios</code></p>
</li><li>
<p><code>check_bandwidth</code></p>
</li><li>
<p><code>process-service-perfdata-file</code></p>
</li><li>
<p><code>process-host-perfdata-file</code></p>
</li><li>
<p><code>check_ntp_time</code></p>
</li><li>
<p><code>check_fail2ban</code></p>
</li><li>
<p><code>check_alloy</code></p>
</li></ul>
<h2 id="label-Repo+Documentation">Repo Documentation</h2> <h2 id="label-Repo+Documentation">Repo Documentation</h2>
<p>See the full Puppet documentation including parameters in <code>docs/index.html</code></p> <p>See the full Puppet documentation including parameters in <code>docs/index.html</code></p>

View File

@@ -69,6 +69,9 @@
<p><a href="#warning">WARNING</a></p> <p><a href="#warning">WARNING</a></p>
</li><li> </li><li>
<p><a href="#features">Features</a></p> <p><a href="#features">Features</a></p>
<ul><li>
<p><a href="#currently-included-custom-checks">Currently included custom checks</a></p>
</li></ul>
</li><li> </li><li>
<p><a href="#repo-documentation">Repo Documentation</a></p> <p><a href="#repo-documentation">Repo Documentation</a></p>
</li><li> </li><li>
@@ -145,6 +148,53 @@
<p>if <code>ng_enable_fail2ban</code>is set to <code>true</code>, a fail2ban jail and filter will be added for the Nagios service (requires confdroid_fail2ban).</p> <p>if <code>ng_enable_fail2ban</code>is set to <code>true</code>, a fail2ban jail and filter will be added for the Nagios service (requires confdroid_fail2ban).</p>
</li></ul> </li></ul>
<h3 id="label-Currently+included+custom+checks">Currently included custom checks</h3>
<p>The current nagios checks are included via <code>manifests/nagios/commands.pp</code>:</p>
<ul><li>
<p><code>check-host-alive</code></p>
</li><li>
<p><code>check_disk</code></p>
</li><li>
<p><code>check_local_load</code></p>
</li><li>
<p><code>check_local_procs</code></p>
</li><li>
<p><code>check_local_users</code></p>
</li><li>
<p><code>check_local_swap</code></p>
</li><li>
<p><code>check_ftp</code></p>
</li><li>
<p><code>check_snmp</code></p>
</li><li>
<p><code>check_http</code></p>
</li><li>
<p><code>check_ssh</code></p>
</li><li>
<p><code>check_ping</code></p>
</li><li>
<p><code>check_tcp</code></p>
</li><li>
<p><code>check_udp</code></p>
</li><li>
<p><code>check_nrpe</code></p>
</li><li>
<p><code>check_nagios</code></p>
</li><li>
<p><code>check_bandwidth</code></p>
</li><li>
<p><code>process-service-perfdata-file</code></p>
</li><li>
<p><code>process-host-perfdata-file</code></p>
</li><li>
<p><code>check_ntp_time</code></p>
</li><li>
<p><code>check_fail2ban</code></p>
</li><li>
<p><code>check_alloy</code></p>
</li></ul>
<h2 id="label-Repo+Documentation">Repo Documentation</h2> <h2 id="label-Repo+Documentation">Repo Documentation</h2>
<p>See the full Puppet documentation including parameters in <code>docs/index.html</code></p> <p>See the full Puppet documentation including parameters in <code>docs/index.html</code></p>

View File

@@ -334,7 +334,37 @@ and populates /etc/nagios/conf.d/nagios_commands.cfg.
239 239
240 240
241 241
242</pre> 242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272</pre>
</td> </td>
<td> <td>
<pre class="code"><span class="info file"># File 'manifests/nagios/objects/commands.pp', line 8</span> <pre class="code"><span class="info file"># File 'manifests/nagios/objects/commands.pp', line 8</span>
@@ -572,6 +602,36 @@ class confdroid_nagios::nagios::objects::commands (
mode =&gt; &#39;0640&#39;, mode =&gt; &#39;0640&#39;,
target =&gt; $ng_target_command, target =&gt; $ng_target_command,
} }
@@nagios_command { &#39;check_haproxy&#39;:
ensure =&gt; present,
command_name =&gt; &#39;check_haproxy&#39;,
command_line =&gt; &#39;$USER1$/check_procs -c $ARG1$ -C $ARG2$&#39;,
owner =&gt; $ng_user,
group =&gt; $ng_user,
mode =&gt; &#39;0640&#39;,
target =&gt; $ng_target_command,
}
@@nagios_command { &#39;check_puppet&#39;:
ensure =&gt; present,
command_name =&gt; &#39;check_puppet&#39;,
command_line =&gt; &#39;$USER1$/check_procs -c $ARG1$ -C $ARG2$&#39;,
owner =&gt; $ng_user,
group =&gt; $ng_user,
mode =&gt; &#39;0640&#39;,
target =&gt; $ng_target_command,
}
@@nagios_command { &#39;check_puppet_server&#39;:
ensure =&gt; present,
command_name =&gt; &#39;check_puppet_server&#39;,
command_line =&gt; &#39;$USER1$/check_procs -c $ARG1$ -a $ARG2$&#39;,
owner =&gt; $ng_user,
group =&gt; $ng_user,
mode =&gt; &#39;0640&#39;,
target =&gt; $ng_target_command,
}
} }
}</pre> }</pre>
</td> </td>

View File

@@ -238,5 +238,35 @@ class confdroid_nagios::nagios::objects::commands (
mode => '0640', mode => '0640',
target => $ng_target_command, target => $ng_target_command,
} }
@@nagios_command { 'check_haproxy':
ensure => present,
command_name => 'check_haproxy',
command_line => '$USER1$/check_procs -c $ARG1$ -C $ARG2$',
owner => $ng_user,
group => $ng_user,
mode => '0640',
target => $ng_target_command,
}
@@nagios_command { 'check_puppet':
ensure => present,
command_name => 'check_puppet',
command_line => '$USER1$/check_procs -c $ARG1$ -C $ARG2$',
owner => $ng_user,
group => $ng_user,
mode => '0640',
target => $ng_target_command,
}
@@nagios_command { 'check_puppet_server':
ensure => present,
command_name => 'check_puppet_server',
command_line => '$USER1$/check_procs -c $ARG1$ -a $ARG2$',
owner => $ng_user,
group => $ng_user,
mode => '0640',
target => $ng_target_command,
}
} }
} }