diff --git a/.vscode/settings.json b/.vscode/settings.json
deleted file mode 100644
index 2da8375..0000000
--- a/.vscode/settings.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "cSpell.words": [
- "allowdupe",
- "dontlognull",
- "dport",
- "forwardfor",
- "getsebool",
- "httplog",
- "managehome",
- "maxconn",
- "nagiosadmin",
- "nologin",
- "onlyif",
- "pidfile",
- "procs",
- "redispatch",
- "roundrobin",
- "sess",
- "setsebool",
- "tcplog",
- "userlist"
- ]
-}
\ No newline at end of file
diff --git a/Jenkinsfile b/Jenkinsfile
deleted file mode 100644
index 512e8e6..0000000
--- a/Jenkinsfile
+++ /dev/null
@@ -1,127 +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_haproxy \
- -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 {
- 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_haproxy.git
- git -c credential.helper="!f() { echo username=${GITEA_USER}; echo password=${GITEA_TOKEN}; }; f" \
- push master --mirror
- '''
- }
- }
- }
- }
- }
- }
-}
\ No newline at end of file
diff --git a/doc/_index.html b/doc/_index.html
index 656546b..6bad324 100644
--- a/doc/_index.html
+++ b/doc/_index.html
@@ -108,6 +108,11 @@
+
diff --git a/doc/puppet_classes/confdroid_haproxy_3A_3Amain_3A_3Aconfig.html b/doc/puppet_classes/confdroid_haproxy_3A_3Amain_3A_3Aconfig.html
index 96826d2..6464875 100644
--- a/doc/puppet_classes/confdroid_haproxy_3A_3Amain_3A_3Aconfig.html
+++ b/doc/puppet_classes/confdroid_haproxy_3A_3Amain_3A_3Aconfig.html
@@ -116,7 +116,11 @@
18
19
20
-21
+21
+22
+23
+24
+25
# File 'manifests/main/config.pp', line 6
@@ -130,6 +134,10 @@ class confdroid_haproxy::main::config (
include confdroid_haproxy::monitoring::fail2ban
}
+ if $hy_manage_nagios == true {
+ include confdroid_haproxy::monitoring::target
+ }
+
if $hy_selinux_allow_stats == true {
exec { 'setsebool haproxy_connect_any on':
path => ['/bin', '/usr/bin', '/sbin', '/usr/sbin'],
diff --git a/doc/puppet_classes/confdroid_haproxy_3A_3Amonitoring_3A_3Atarget.html b/doc/puppet_classes/confdroid_haproxy_3A_3Amonitoring_3A_3Atarget.html
new file mode 100644
index 0000000..52496ee
--- /dev/null
+++ b/doc/puppet_classes/confdroid_haproxy_3A_3Amonitoring_3A_3Atarget.html
@@ -0,0 +1,156 @@
+
+
+
+
+
+
+ Puppet Class: confdroid_haproxy::monitoring::target
+
+ — Documentation by YARD 0.9.36
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Puppet Class: confdroid_haproxy::monitoring::target
+
+
+ Summary
+ class manages exports for nagios monitoring
+
+ Overview
+
+
+
+ confdroid_haproxy::monitoring::target.pp Module name: confdroid_haproxy Author: 12ww1160 (12ww1160@puppetsoft.com)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+ |
+
+ # File 'manifests/monitoring/target.pp', line 6
+
+class confdroid_haproxy::monitoring::target (
+
+) inherits confdroid_haproxy::params {
+ if $hy_manage_nagios == true {
+ @@nagios_service { "check_haproxy_${fqdn}":
+ check_command => "check_nrpe!check_haproxy!${hy_procs_allowed}!haproxy",
+ use => 'generic-service',
+ host_name => $fqdn,
+ notification_period => '24x7',
+ service_description => "${fqdn}_check_haproxy",
+ target => $hy_target_service,
+ owner => 'nagios',
+ group => 'nagios',
+ mode => '0640',
+ contacts => $hy_target_contacts,
+ }
+ }
+}
+ |
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/doc/puppet_classes/confdroid_haproxy_3A_3Aparams.html b/doc/puppet_classes/confdroid_haproxy_3A_3Aparams.html
index 925d2fe..0f49c2f 100644
--- a/doc/puppet_classes/confdroid_haproxy_3A_3Aparams.html
+++ b/doc/puppet_classes/confdroid_haproxy_3A_3Aparams.html
@@ -81,6 +81,8 @@
confdroid_haproxy::firewall::iptables
+ confdroid_haproxy::monitoring::target
+
confdroid_haproxy::monitoring::fail2ban
@@ -883,6 +885,73 @@
+
+
+ hy_manage_nagios
+
+
+ (Boolean)
+
+
+ (defaults to: false)
+
+
+ —
+
+ whether to manage nagios service checks
+
+
+
+
+
+
+ hy_target_service
+
+
+ (String)
+
+
+ (defaults to: '/etc/nagios/conf.d/haproxy_service.cfg')
+
+
+ —
+
+ the path to the nagios service check file
+
+
+
+
+
+
+ hy_target_contacts
+
+
+ (Array)
+
+
+ (defaults to: ['nagiosadmin'])
+
+
+ —
+
+ the contacts to use for nagios service checks
+
+
+
+
+
+
+ hy_procs_allowed
+
+
+ (String)
+
+
+ (defaults to: '1:1')
+
+
+
+
@@ -894,9 +963,6 @@
-59
-60
-61
62
63
64
@@ -985,10 +1051,19 @@
147
148
149
-150
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
|
- # File 'manifests/params.pp', line 59
+ # File 'manifests/params.pp', line 62
class confdroid_haproxy::params (
@@ -1049,6 +1124,12 @@ class confdroid_haproxy::params (
Boolean $hy_manage_be_users = false,
String $hy_be_userlist = '####',
+# nagios
+ Boolean $hy_manage_nagios = false,
+ String $hy_target_service = '/etc/nagios/conf.d/haproxy_service.cfg',
+ Array $hy_target_contacts = ['nagiosadmin'],
+ String $hy_procs_allowed = '1:1'
+
) {
$fqdn = $facts['networking']['fqdn']
|