Compare commits
3 Commits
6f291e48f8
...
b0dff6b793
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b0dff6b793 | ||
| c5ddc3d578 | |||
|
|
34c682d3b4 |
124
Jenkinsfile
vendored
124
Jenkinsfile
vendored
@@ -1,124 +0,0 @@
|
||||
pipeline {
|
||||
agent any
|
||||
|
||||
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_nrpe \
|
||||
-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 add -A && git commit -am "Recommit for updates in build $BUILD_NUMBER" || echo "No changes to commit"
|
||||
git push origin HEAD:master
|
||||
'''
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('Mirror to Gitea') {
|
||||
steps {
|
||||
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_nrpe.git
|
||||
git -c credential.helper="!f() { echo username=${GITEA_USER}; echo password=${GITEA_TOKEN}; }; f" \
|
||||
push master --mirror
|
||||
'''
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -193,14 +193,22 @@
|
||||
|
||||
<h2 id="label-managing+TLS+certificates">managing TLS certificates</h2>
|
||||
|
||||
<p>When <code>ne_enable_ssl</code> is enabled (default), the certificates for the ca (root if standalone or intermediate), the nagios server and the key for the nagios server have to be provided through the following values:</p>
|
||||
<ul><li>
|
||||
<p><code>ne_ssl_ca_cert_pem</code></p>
|
||||
</li><li>
|
||||
<p><code>ne_ssl_cert_pem</code></p>
|
||||
</li><li>
|
||||
<p><code>ne_ssl_privatekey_pem</code></p>
|
||||
</li></ul>
|
||||
|
||||
<p>via Hiera (if you use it) or ENC.</p>
|
||||
|
||||
<h2 id="label-SELINUX">SELINUX</h2>
|
||||
|
||||
<p>All files and directories are configured with correct selinux context. If selinux is disabled, these contexts are ignored.</p>
|
||||
|
||||
<h2 id="label-Known+Problems">Known Problems</h2>
|
||||
<ul><li>
|
||||
<p>SSL/TLS support: Version 3 of NRPE supposedly has support for SSL/ TLs. However, at the time of writing this module, this seems to be buggy, as I was unable to start the NRPE service as soon as the <code>ssl_cert_file</code> line was uncommented in the configuration file, despite having valid certs in the right position on the node. This happened when installing manually, not through this Puppet module. For that reason I included the <code>$ne_enable_ssl</code> boolean parameter, which is set to <code>false</code> by default, hence disabling SSL/TLS options until this has been fixed upstream, or a valid workaround has been found. Setting this option to <code>true</code> will include all SSL / TLS settings.</p>
|
||||
</li></ul>
|
||||
|
||||
<h2 id="label-Troubleshooting">Troubleshooting</h2>
|
||||
<ul><li>
|
||||
|
||||
@@ -193,14 +193,22 @@
|
||||
|
||||
<h2 id="label-managing+TLS+certificates">managing TLS certificates</h2>
|
||||
|
||||
<p>When <code>ne_enable_ssl</code> is enabled (default), the certificates for the ca (root if standalone or intermediate), the nagios server and the key for the nagios server have to be provided through the following values:</p>
|
||||
<ul><li>
|
||||
<p><code>ne_ssl_ca_cert_pem</code></p>
|
||||
</li><li>
|
||||
<p><code>ne_ssl_cert_pem</code></p>
|
||||
</li><li>
|
||||
<p><code>ne_ssl_privatekey_pem</code></p>
|
||||
</li></ul>
|
||||
|
||||
<p>via Hiera (if you use it) or ENC.</p>
|
||||
|
||||
<h2 id="label-SELINUX">SELINUX</h2>
|
||||
|
||||
<p>All files and directories are configured with correct selinux context. If selinux is disabled, these contexts are ignored.</p>
|
||||
|
||||
<h2 id="label-Known+Problems">Known Problems</h2>
|
||||
<ul><li>
|
||||
<p>SSL/TLS support: Version 3 of NRPE supposedly has support for SSL/ TLs. However, at the time of writing this module, this seems to be buggy, as I was unable to start the NRPE service as soon as the <code>ssl_cert_file</code> line was uncommented in the configuration file, despite having valid certs in the right position on the node. This happened when installing manually, not through this Puppet module. For that reason I included the <code>$ne_enable_ssl</code> boolean parameter, which is set to <code>false</code> by default, hence disabling SSL/TLS options until this has been fixed upstream, or a valid workaround has been found. Setting this option to <code>true</code> will include all SSL / TLS settings.</p>
|
||||
</li></ul>
|
||||
|
||||
<h2 id="label-Troubleshooting">Troubleshooting</h2>
|
||||
<ul><li>
|
||||
|
||||
@@ -207,8 +207,7 @@
|
||||
109
|
||||
110
|
||||
111
|
||||
112
|
||||
113</pre>
|
||||
112</pre>
|
||||
</td>
|
||||
<td>
|
||||
<pre class="code"><span class="info file"># File 'manifests/main/files.pp', line 6</span>
|
||||
@@ -251,7 +250,6 @@ class confdroid_nrpe::main::files (
|
||||
}
|
||||
|
||||
if $ne_allow_sudo == true {
|
||||
|
||||
file { $ne_sudo_file:
|
||||
ensure => file,
|
||||
path => $ne_sudo_file,
|
||||
@@ -279,45 +277,45 @@ class confdroid_nrpe::main::files (
|
||||
content => template($ne_nrpe_te_erb),
|
||||
notify => Exec['create_nrpe_pp'],
|
||||
}
|
||||
}
|
||||
|
||||
# file for ssl certificate
|
||||
if $ne_enable_ssl == true {
|
||||
file { $ne_ssl_cert_file:
|
||||
ensure => file,
|
||||
path => $ne_ssl_cert_file,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
selrange => s0,
|
||||
selrole => object_r,
|
||||
seltype => cert_t,
|
||||
seluser => system_u,
|
||||
content => template($ne_ssl_cert_erb),
|
||||
}
|
||||
file { $ne_ssl_privatekey_file:
|
||||
ensure => file,
|
||||
path => $ne_ssl_privatekey_file,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0600',
|
||||
selrange => s0,
|
||||
selrole => object_r,
|
||||
seltype => cert_t,
|
||||
seluser => system_u,
|
||||
content => template($ne_ssl_privatekey_erb),
|
||||
}
|
||||
file { $ne_ssl_ca_cert_file:
|
||||
ensure => file,
|
||||
path => $ne_ssl_ca_cert_file,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
selrange => s0,
|
||||
selrole => object_r,
|
||||
seltype => cert_t,
|
||||
seluser => system_u,
|
||||
content => template($ne_ssl_ca_cert_erb),
|
||||
}
|
||||
# file for ssl certificate
|
||||
if $ne_enable_ssl == true {
|
||||
file { $ne_ssl_cert_file:
|
||||
ensure => file,
|
||||
path => $ne_ssl_cert_file,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
selrange => s0,
|
||||
selrole => object_r,
|
||||
seltype => cert_t,
|
||||
seluser => system_u,
|
||||
content => template($ne_ssl_cert_erb),
|
||||
}
|
||||
file { $ne_ssl_privatekey_file:
|
||||
ensure => file,
|
||||
path => $ne_ssl_privatekey_file,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0600',
|
||||
selrange => s0,
|
||||
selrole => object_r,
|
||||
seltype => cert_t,
|
||||
seluser => system_u,
|
||||
content => template($ne_ssl_privatekey_erb),
|
||||
}
|
||||
file { $ne_ssl_ca_cert_file:
|
||||
ensure => file,
|
||||
path => $ne_ssl_ca_cert_file,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
selrange => s0,
|
||||
selrole => object_r,
|
||||
seltype => cert_t,
|
||||
seluser => system_u,
|
||||
content => template($ne_ssl_ca_cert_erb),
|
||||
}
|
||||
}
|
||||
}</pre>
|
||||
|
||||
@@ -699,7 +699,7 @@ inherited by all classes except defines.
|
||||
<span class='type'>(<tt>Boolean</tt>)</span>
|
||||
|
||||
|
||||
<em class="default">(defaults to: <tt>false</tt>)</em>
|
||||
<em class="default">(defaults to: <tt>true</tt>)</em>
|
||||
|
||||
|
||||
—
|
||||
@@ -945,7 +945,7 @@ class confdroid_nrpe::params (
|
||||
String $ne_command_timeout = '60',
|
||||
String $ne_connection_timeout = '300',
|
||||
String $ne_allow_weak_rnd_seed = '1',
|
||||
Boolean $ne_enable_ssl = false,
|
||||
Boolean $ne_enable_ssl = true,
|
||||
String $ne_ssl_version = 'TLSv2+',
|
||||
String $ne_ssl_use_adh = '1',
|
||||
String $ne_ssl_cipher_list = 'ALL:!aNULL:!eNULL:!SSLv2:!LOW:!EXP:!RC4:!MD5:@STRENGTH',
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
<% unless @ne_ssl_ca_cert_pem.nil -%>
|
||||
<% unless @ne_ssl_ca_cert_pem.undef -%>
|
||||
<%= @ne_ssl_ca_cert_pem %>
|
||||
<% end -%>
|
||||
@@ -1,3 +1,3 @@
|
||||
<% unless @ne_ssl_cert_pem.nil -%>
|
||||
<% unless @ne_ssl_cert_pem.undef -%>
|
||||
<%= @ne_ssl_cert_pem %>
|
||||
<% end -%>
|
||||
@@ -1,3 +1,3 @@
|
||||
<% unless @ne_ssl_privatekey_pem.nil -%>
|
||||
<% unless @ne_ssl_privatekey_pem.undef -%>
|
||||
<%= @ne_ssl_privatekey_pem %>
|
||||
<% end -%>
|
||||
Reference in New Issue
Block a user