Compare commits

...

4 Commits

Author SHA1 Message Date
Jenkins Server
23e21ae0d2 Recommit for updates in build 8 2026-09-22 13:17:49 +02:00
Jenkins Server
442e9070c9 Merge remote-tracking branch 'origin/master' into jenkins-build-8 2026-09-22 13:17:06 +02:00
905676c71a OP#785 fix syntax 2026-09-22 13:16:48 +02:00
Jenkins Server
f9ae014080 Recommit for updates in build 7 2026-09-22 13:15:32 +02:00
7 changed files with 47 additions and 216 deletions

61
.vscode/settings.json vendored
View File

@@ -1,61 +0,0 @@
{
"cSpell.words": [
"ALLMATCHSCAN",
"authenticode",
"behaviour",
"bofh",
"clamav",
"clamd",
"clamdscan",
"clamonacc",
"clamscan",
"Clamuko",
"clamupdate",
"concurrentdatabasereload",
"Dazuko",
"dbname",
"epel",
"excludepaths",
"fanotify",
"fdpass",
"filesize",
"freshclam",
"getsebool",
"INADDR",
"kubelet",
"libclamav",
"logclean",
"logfacility",
"logfile",
"logfilemaxsize",
"logfileunlock",
"logrotation",
"logsyslog",
"logtime",
"logverbose",
"multiscan",
"mypass",
"myproxy",
"myusername",
"NOFILE",
"normalisation",
"PCRE",
"pipefail",
"preludeanalyzername",
"preludeenable",
"recieve",
"RLIMIT",
"safebrowsing",
"setsebool",
"subsig",
"subsigs",
"tcpaddre",
"tcpaddress",
"tcpsocket",
"VIRUSEVENT",
"virusgroup",
"VIRUSNAME",
"XMLDOCS",
"xxxyyzzzz"
]
}

128
Jenkinsfile vendored
View File

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

View File

@@ -33,6 +33,7 @@
- manage required config files
- manage cronjob settings via parameters
- run cron job to scan the file system (by default starting at root, configurable) via clamdscan
- set ConcurrentDatabaseReload option yes/no to optimize RAM consumption
- manage services
## Dependencies

View File

@@ -107,6 +107,8 @@
</li><li>
<p>run cron job to scan the file system (by default starting at root, configurable) via clamdscan</p>
</li><li>
<p>set ConcurrentDatabaseReload option yes/no to optimize RAM consumption</p>
</li><li>
<p>manage services</p>
</li></ul>

View File

@@ -107,6 +107,8 @@
</li><li>
<p>run cron job to scan the file system (by default starting at root, configurable) via clamdscan</p>
</li><li>
<p>set ConcurrentDatabaseReload option yes/no to optimize RAM consumption</p>
</li><li>
<p>manage services</p>
</li></ul>

View File

@@ -539,6 +539,19 @@ inherited by all classes except defines.
</li>
<li>
<span class='name'>cv_concurrentdatabasereload</span>
<span class='type'>(<tt>String</tt>)</span>
<em class="default">(defaults to: <tt>&#39;no&#39;</tt>)</em>
</li>
</ul>
@@ -601,7 +614,8 @@ inherited by all classes except defines.
88
89
90
91</pre>
91
92</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'manifests/params.pp', line 40</span>
@@ -609,32 +623,33 @@ inherited by all classes except defines.
class confdroid_clamav::params (
# installation
Array $cv_reqpackages = [&#39;clamav&#39;,&#39;clamd&#39;,&#39;s-nail&#39;],
String $cv_pkg_ensure = &#39;present&#39;,
Array $cv_reqpackages = [&#39;clamav&#39;,&#39;clamd&#39;,&#39;s-nail&#39;],
String $cv_pkg_ensure = &#39;present&#39;,
# clamd
String $cv_logfile = &#39;/var/log/clamd.scan&#39;,
String $cv_logfileunlock = &#39;no&#39;,
String $cv_logfilemaxsize = &#39;2M&#39;,
String $cv_logtime = &#39;yes&#39;,
String $cv_logclean = &#39;no&#39;,
String $cv_logsyslog = &#39;yes&#39;,
String $cv_logfacility = &#39;LOG_MAIL&#39;,
String $cv_logverbose = &#39;no&#39;,
String $cv_logrotate = &#39;yes&#39;,
String $cv_preludeenable = &#39;no&#39;,
String $cv_preludeanalyzername = &#39;ClamAV&#39;,
String $cv_tcpsocket = &#39;3310&#39;,
String $cv_tcpaddress = &#39;localhost&#39;,
String $cv_alert_email = &#39;you@example.com&#39;,
String $cv_cron_hour = &#39;2&#39;,
String $cv_cron_minute = &#39;0&#39;,
String $cv_cron_user = &#39;root&#39;,
String $cv_scan_dir = &#39;/&#39;,
String $cv_alert_file = &#39;tmp/clamav-alert.txt&#39;,
Boolean $cv_enable_freshclam = true,
Boolean $cv_enable_clamd = true,
Boolean $cv_use_excludepaths = true
String $cv_logfile = &#39;/var/log/clamd.scan&#39;,
String $cv_logfileunlock = &#39;no&#39;,
String $cv_logfilemaxsize = &#39;2M&#39;,
String $cv_logtime = &#39;yes&#39;,
String $cv_logclean = &#39;no&#39;,
String $cv_logsyslog = &#39;yes&#39;,
String $cv_logfacility = &#39;LOG_MAIL&#39;,
String $cv_logverbose = &#39;no&#39;,
String $cv_logrotate = &#39;yes&#39;,
String $cv_preludeenable = &#39;no&#39;,
String $cv_preludeanalyzername = &#39;ClamAV&#39;,
String $cv_tcpsocket = &#39;3310&#39;,
String $cv_tcpaddress = &#39;localhost&#39;,
String $cv_alert_email = &#39;you@example.com&#39;,
String $cv_cron_hour = &#39;2&#39;,
String $cv_cron_minute = &#39;0&#39;,
String $cv_cron_user = &#39;root&#39;,
String $cv_scan_dir = &#39;/&#39;,
String $cv_alert_file = &#39;tmp/clamav-alert.txt&#39;,
Boolean $cv_enable_freshclam = true,
Boolean $cv_enable_clamd = true,
Boolean $cv_use_excludepaths = true,
String $cv_concurrentdatabasereload = &#39;no&#39;,
) {
# service

View File

@@ -65,8 +65,8 @@ class confdroid_clamav::params (
String $cv_alert_file = 'tmp/clamav-alert.txt',
Boolean $cv_enable_freshclam = true,
Boolean $cv_enable_clamd = true,
Boolean $cv_use_excludepaths = true
String $cv_concurrentdatabasereload = 'no'
Boolean $cv_use_excludepaths = true,
String $cv_concurrentdatabasereload = 'no',
) {
# service