From 4417ca45877774feae30127a463dd1da13d15b03 Mon Sep 17 00:00:00 2001 From: 12ww1160 Date: Mon, 15 Dec 2025 12:51:15 +0100 Subject: [PATCH] add content --- Jenkinsfile | 104 ---------------------------------------------------- README.md | 11 +++++- 2 files changed, 10 insertions(+), 105 deletions(-) delete mode 100644 Jenkinsfile diff --git a/Jenkinsfile b/Jenkinsfile deleted file mode 100644 index a4b1133..0000000 --- a/Jenkinsfile +++ /dev/null @@ -1,104 +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('SonarScan') { - steps { - withCredentials([string(credentialsId: 'sonar-token', variable: 'SONAR_TOKEN')]) { - sh ''' - /opt/sonar-scanner/bin/sonar-scanner \ - -Dsonar.projectKey=puppet_collection \ - -Dsonar.sources=. \ - -Dsonar.host.url=https://sonarqube.confdroid.com \ - -Dsonar.token=$SONAR_TOKEN - ''' - } - } - } - - 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 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 commit --amend --no-edit --allow-empty - git remote add master https://gitea.confdroid.com/confdroid/puppet_collection.git - git -c credential.helper="!f() { echo username=${GITEA_USER}; echo password=${GITEA_TOKEN}; }; f" \ - push master --mirror - ''' - } - } - } - } - - stage('Mirror to Github') { - steps { - sshagent(['edd05eb6-26b5-4c7b-a5cc-ea2ab899f4fa']) { - sh ''' - git remote set-url --push master git@github.com:grizzlycoda/puppet_collection.git - git push master --mirror - ''' - } - } - } - } -} diff --git a/README.md b/README.md index 9a70fa6..9336210 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@ - [**puppet\_cd**](#puppet_cd) - [**confdroid\_prometheus**](#confdroid_prometheus) - [**confdroid\_postgresql**](#confdroid_postgresql) +- [FAQ](#faq) # Summary @@ -32,7 +33,10 @@ A Puppet module to configure a puppet environment: * Puppet master ready to work with Foreman as ENC (Foreman not installed by module) * Puppet agents * configures firewall ports, files and directories including selinux contexts. - * Optionally: PuppetDB, r10k and a webhook listener + * Optionally: + * PuppetDB + * r10k deployment service + * webhook listener to trigger r10k ## [**confdroid_prometheus**](https://gitea.confdroid.com/confdroid/confdroid_prometheus) @@ -51,3 +55,8 @@ Automate installation, configuration and management of all aspects of PostgreSQL * manage extensions (set `pl_manage_extensions` to true) * install and manage pg_bouncer (set `pl_use_pg_bouncer` to true) * enable SL / TLS manage TLS certificates (set `pl_ssl_enabled` to true and populate content externally through variables) + + +# FAQ +* Q: "Why are the names of the modules using underscore instead of hyphens?" + A: The modules are best deployed through the [R10k](https://github.com/puppetlabs/r10k) service using a Puppetfile. The deployment process using Puppetfile would convert the name of say "confdroid-postgresql" into a module called "confdroid" locally on the puppet server, cutting off everything after the hyphen. It also would then not deploy more than one module, because they all would be called "confdroid" \ No newline at end of file