diff --git a/Jenkinsfile b/Jenkinsfile deleted file mode 100644 index 4538b55..0000000 --- a/Jenkinsfile +++ /dev/null @@ -1,128 +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_puppet \ - -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_puppet.git - git -c credential.helper="!f() { echo username=${GITEA_USER}; echo password=${GITEA_TOKEN}; }; f" \ - push master --mirror - ''' - } - } - } - } - } - } -} diff --git a/doc/file.README.html b/doc/file.README.html index 959bfe6..4c3e8f6 100644 --- a/doc/file.README.html +++ b/doc/file.README.html @@ -76,6 +76,8 @@
  • Directories, Files and Services

  • +

    Nagios monitoring

    +
  • Optional

  • R10k service

    @@ -147,6 +149,17 @@

    start services as required

  • +

    Nagios monitoring

    + +

    When $pt_manage_nagios is true, the module exports a Puppet agent check on every node and a Puppet Server check on the Puppet Server node. The target Nagios installation must provide the NRPE command alias used by the export. The Puppet Server check can use the standard check_procs plugin:

    + +
    command[check_puppet_server]=/usr/lib64/nagios/plugins/check_procs -c $ARG1$ -a $ARG2$
    +
    + +

    With the exported command, check_puppet_server!1:!puppetserver alerts when no running process has puppetserver in its full command line. It does not check whether the systemd service is enabled.

    + +

    The modules confdroid_nagios and confdroid_nrpe include the proper commands already.

    +

    Optional

    R10k service

    diff --git a/doc/index.html b/doc/index.html index d71ce2c..3f56da6 100644 --- a/doc/index.html +++ b/doc/index.html @@ -76,6 +76,8 @@
  • Directories, Files and Services

  • +

    Nagios monitoring

    +
  • Optional

  • R10k service

    @@ -147,6 +149,17 @@

    start services as required

  • +

    Nagios monitoring

    + +

    When $pt_manage_nagios is true, the module exports a Puppet agent check on every node and a Puppet Server check on the Puppet Server node. The target Nagios installation must provide the NRPE command alias used by the export. The Puppet Server check can use the standard check_procs plugin:

    + +
    command[check_puppet_server]=/usr/lib64/nagios/plugins/check_procs -c $ARG1$ -a $ARG2$
    +
    + +

    With the exported command, check_puppet_server!1:!puppetserver alerts when no running process has puppetserver in its full command line. It does not check whether the systemd service is enabled.

    + +

    The modules confdroid_nagios and confdroid_nrpe include the proper commands already.

    +

    Optional

    R10k service

    diff --git a/doc/puppet_classes/confdroid_puppet_3A_3Amonitoring_3A_3Atarget.html b/doc/puppet_classes/confdroid_puppet_3A_3Amonitoring_3A_3Atarget.html index 59ba328..ea055f1 100644 --- a/doc/puppet_classes/confdroid_puppet_3A_3Amonitoring_3A_3Atarget.html +++ b/doc/puppet_classes/confdroid_puppet_3A_3Amonitoring_3A_3Atarget.html @@ -118,7 +118,24 @@ 20 21 22 -23 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40
    # File 'manifests/monitoring/target.pp', line 6
    @@ -127,6 +144,7 @@ class confdroid_puppet::monitoring::target (
     
     ) inherits confdroid_puppet::params {
       if $pt_manage_nagios == true {
    +    # puppet agent service
         @@nagios_service { "check_puppet_${fqdn}":
           check_command       => "check_nrpe!check_puppet!${pt_procs_allowed}!puppet",
           use                 => 'generic-service',
    @@ -139,6 +157,22 @@ class confdroid_puppet::monitoring::target (
           mode                => '0640',
           contacts            => $pt_target_contacts,
         }
    +
    +    if $fqdn == $pt_pm_fqdn {
    +      # puppet server service
    +      @@nagios_service { "check_puppet_server_${fqdn}":
    +        check_command       => "check_nrpe!check_puppet_server!${pt_procs_allowed}!puppet",
    +        use                 => 'generic-service',
    +        host_name           => $fqdn,
    +        notification_period => '24x7',
    +        service_description => "${fqdn}_check_puppet_server",
    +        target              => $pt_target_service,
    +        owner               => 'nagios',
    +        group               => 'nagios',
    +        mode                => '0640',
    +        contacts            => $pt_target_contacts,
    +      }
    +    }
       }
     }