Compare commits

...

10 Commits

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

See merge request puppet/confdroid_automatic!8
2026-04-30 11:52:32 +02:00
Jenkins Server
2c27a98db4 Recommit for updates in build 10 2026-03-31 15:52:51 +02:00
Jenkins Server
4d6eae4599 Merge remote-tracking branch 'origin/master' into jenkins-build-10 2026-03-31 15:52:51 +02:00
c4a63073f8 add deepwiki badge 2026-03-31 15:48:49 +02:00
Jenkins
c66e4db8fe Merge branch 'jenkins-build-8' into 'master'
Auto-merge for build 8

See merge request puppet/confdroid_automatic!7
2026-03-30 12:19:14 +00:00
Jenkins Server
354656bbb4 Recommit for updates in build 8 2026-03-30 14:19:07 +02:00
Jenkins Server
cabf393a0f Merge remote-tracking branch 'origin/master' into jenkins-build-8 2026-03-30 14:19:07 +02:00
cfd45de3d8 OP#547 update Readme 2026-03-30 14:18:06 +02:00
aae0f70464 OP#547 update Readme 2026-03-30 13:54:12 +02:00
Jenkins
10d06872c3 Merge branch 'jenkins-build-6' into 'master'
Auto-merge for build 6

See merge request puppet/confdroid_automatic!5
2026-03-30 11:51:02 +00:00
4 changed files with 21 additions and 190 deletions

130
Jenkinsfile vendored
View File

@@ -1,130 +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_automatic \
-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 {
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_automatic.git
git -c credential.helper="!f() { echo username=${GITEA_USER}; echo password=${GITEA_TOKEN}; }; f" \
push master --mirror
'''
}
}
}
}
}
}

View File

@@ -2,7 +2,7 @@
[![Build Status](https://jenkins.confdroid.com/buildStatus/icon?job=confdroid_automatic&style=plastic)](https://jenkins.confdroid.com/job/confdroid_automatic/)
[![Security Hotspots](https://sonarqube.confdroid.com/api/project_badges/measure?project=confdroid_automatic&metric=security_hotspots&token=sqb_c40a62afc3787918ade945dbc43089bb68ea7ab1)](https://sonarqube.confdroid.com/dashboard?id=confdroid_automatic)
[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/grizzlycoda/puppet_collection)
- [Readme](#readme)
- [Synopsis](#synopsis)
- [WARNING](#warning)
@@ -20,7 +20,9 @@
dnf-automatic is a mechanism to allow automatic OS updates for Rocky 9 and similar RHEL 9 based operating systems.
`confdroid_automatic` manages dnf-automatic installations and configurations.
`confdroid_automatic` manages dnf-automatic installations and configurations.
Choose the required update and reboot policy per host, host group, environment etc. Set the email notification about updates, that's all it needs.
## WARNING
@@ -29,7 +31,7 @@ dnf-automatic is a mechanism to allow automatic OS updates for Rocky 9 and simil
## Features
- install required binaries,
- mane files and directories with proper selinux context
- manage files and directories with proper selinux context
- manage main configurations files via parameters
- manage service
@@ -56,7 +58,7 @@ via site.pp or nodes.pp
```ruby
node 'example.example.net' {
include automatic
include confdroid_automatic
}
```
@@ -74,6 +76,7 @@ See [more details about class deployment on confdroid.com](https://confdroid.com
- Puppet Parser
- ERB Template Parser
- Sonar Quality Gate
- End-to-end deployments in Rocky-9 environments
## Contact Us

View File

@@ -60,32 +60,7 @@
<div id="content"><div id='filecontents'>
<h1 id="label-Readme">Readme</h1>
<p><a href="https://jenkins.confdroid.com/job/confdroid_automatic/"><img src="https://jenkins.confdroid.com/buildStatus/icon?job=confdroid_automatic&amp;style=plastic"></a> <a href="https://sonarqube.confdroid.com/dashboard?id=confdroid_automatic"><img src="https://sonarqube.confdroid.com/api/project_badges/measure?project=confdroid_automatic&amp;metric=security_hotspots&amp;token=sqb_c40a62afc3787918ade945dbc43089bb68ea7ab1"></a></p>
<ul><li>
<p><a href="#readme">Readme</a></p>
</li><li>
<p><a href="#synopsis">Synopsis</a></p>
</li><li>
<p><a href="#warning">WARNING</a></p>
</li><li>
<p><a href="#features">Features</a></p>
</li><li>
<p><a href="#dependencies">Dependencies</a></p>
</li><li>
<p><a href="#support">Support</a></p>
</li><li>
<p><a href="#parameter-inheritance">Parameter Inheritance</a></p>
</li><li>
<p><a href="#selinux">SELINUX</a></p>
</li><li>
<p><a href="#deployment">Deployment</a></p>
</li><li>
<p><a href="#tests">Tests</a></p>
</li><li>
<p><a href="#contact-us">Contact Us</a></p>
</li><li>
<p><a href="#disclaimer">Disclaimer</a></p>
</li></ul>
<p><a href="https://jenkins.confdroid.com/job/confdroid_automatic/"><img src="https://jenkins.confdroid.com/buildStatus/icon?job=confdroid_automatic&amp;style=plastic"></a> <a href="https://sonarqube.confdroid.com/dashboard?id=confdroid_automatic"><img src="https://sonarqube.confdroid.com/api/project_badges/measure?project=confdroid_automatic&amp;metric=security_hotspots&amp;token=sqb_c40a62afc3787918ade945dbc43089bb68ea7ab1"></a> <a href="https://deepwiki.com/grizzlycoda/puppet_collection"><img src="https://deepwiki.com/badge.svg"></a> - <a href="#readme">Readme</a> - <a href="#synopsis">Synopsis</a> - <a href="#warning">WARNING</a> - <a href="#features">Features</a> - <a href="#dependencies">Dependencies</a> - <a href="#support">Support</a> - <a href="#parameter-inheritance">Parameter Inheritance</a> - <a href="#selinux">SELINUX</a> - <a href="#deployment">Deployment</a> - <a href="#tests">Tests</a> - <a href="#contact-us">Contact Us</a> - <a href="#disclaimer">Disclaimer</a></p>
<h2 id="label-Synopsis">Synopsis</h2>
@@ -93,6 +68,8 @@
<p><code>confdroid_automatic</code> manages dnf-automatic installations and configurations.</p>
<p>Choose the required update and reboot policy per host, host group, environment etc. Set the email notification about updates, thats all it needs.</p>
<h2 id="label-WARNING">WARNING</h2>
<blockquote>
@@ -103,7 +80,7 @@
<ul><li>
<p>install required binaries,</p>
</li><li>
<p>mane files and directories with proper selinux context</p>
<p>manage files and directories with proper selinux context</p>
</li><li>
<p>manage main configurations files via parameters</p>
</li><li>
@@ -135,7 +112,7 @@
<p>via site.pp or nodes.pp</p>
<pre class="code ruby"><code class="ruby">node &#39;example.example.net&#39; {
include automatic
include confdroid_automatic
}
</code></pre>
<ul><li>
@@ -160,6 +137,8 @@
<p>ERB Template Parser</p>
</li><li>
<p>Sonar Quality Gate</p>
</li><li>
<p>End-to-end deployments in Rocky-9 environments</p>
</li></ul>
<h2 id="label-Contact+Us">Contact Us</h2>

View File

@@ -60,32 +60,7 @@
<div id="content"><div id='filecontents'>
<h1 id="label-Readme">Readme</h1>
<p><a href="https://jenkins.confdroid.com/job/confdroid_automatic/"><img src="https://jenkins.confdroid.com/buildStatus/icon?job=confdroid_automatic&amp;style=plastic"></a> <a href="https://sonarqube.confdroid.com/dashboard?id=confdroid_automatic"><img src="https://sonarqube.confdroid.com/api/project_badges/measure?project=confdroid_automatic&amp;metric=security_hotspots&amp;token=sqb_c40a62afc3787918ade945dbc43089bb68ea7ab1"></a></p>
<ul><li>
<p><a href="#readme">Readme</a></p>
</li><li>
<p><a href="#synopsis">Synopsis</a></p>
</li><li>
<p><a href="#warning">WARNING</a></p>
</li><li>
<p><a href="#features">Features</a></p>
</li><li>
<p><a href="#dependencies">Dependencies</a></p>
</li><li>
<p><a href="#support">Support</a></p>
</li><li>
<p><a href="#parameter-inheritance">Parameter Inheritance</a></p>
</li><li>
<p><a href="#selinux">SELINUX</a></p>
</li><li>
<p><a href="#deployment">Deployment</a></p>
</li><li>
<p><a href="#tests">Tests</a></p>
</li><li>
<p><a href="#contact-us">Contact Us</a></p>
</li><li>
<p><a href="#disclaimer">Disclaimer</a></p>
</li></ul>
<p><a href="https://jenkins.confdroid.com/job/confdroid_automatic/"><img src="https://jenkins.confdroid.com/buildStatus/icon?job=confdroid_automatic&amp;style=plastic"></a> <a href="https://sonarqube.confdroid.com/dashboard?id=confdroid_automatic"><img src="https://sonarqube.confdroid.com/api/project_badges/measure?project=confdroid_automatic&amp;metric=security_hotspots&amp;token=sqb_c40a62afc3787918ade945dbc43089bb68ea7ab1"></a> <a href="https://deepwiki.com/grizzlycoda/puppet_collection"><img src="https://deepwiki.com/badge.svg"></a> - <a href="#readme">Readme</a> - <a href="#synopsis">Synopsis</a> - <a href="#warning">WARNING</a> - <a href="#features">Features</a> - <a href="#dependencies">Dependencies</a> - <a href="#support">Support</a> - <a href="#parameter-inheritance">Parameter Inheritance</a> - <a href="#selinux">SELINUX</a> - <a href="#deployment">Deployment</a> - <a href="#tests">Tests</a> - <a href="#contact-us">Contact Us</a> - <a href="#disclaimer">Disclaimer</a></p>
<h2 id="label-Synopsis">Synopsis</h2>
@@ -93,6 +68,8 @@
<p><code>confdroid_automatic</code> manages dnf-automatic installations and configurations.</p>
<p>Choose the required update and reboot policy per host, host group, environment etc. Set the email notification about updates, thats all it needs.</p>
<h2 id="label-WARNING">WARNING</h2>
<blockquote>
@@ -103,7 +80,7 @@
<ul><li>
<p>install required binaries,</p>
</li><li>
<p>mane files and directories with proper selinux context</p>
<p>manage files and directories with proper selinux context</p>
</li><li>
<p>manage main configurations files via parameters</p>
</li><li>
@@ -135,7 +112,7 @@
<p>via site.pp or nodes.pp</p>
<pre class="code ruby"><code class="ruby">node &#39;example.example.net&#39; {
include automatic
include confdroid_automatic
}
</code></pre>
<ul><li>
@@ -160,6 +137,8 @@
<p>ERB Template Parser</p>
</li><li>
<p>Sonar Quality Gate</p>
</li><li>
<p>End-to-end deployments in Rocky-9 environments</p>
</li></ul>
<h2 id="label-Contact+Us">Contact Us</h2>