adjust Parameter types, Jenkinsfile and Readme

This commit is contained in:
Arne Teuke
2025-05-06 15:08:37 +02:00
parent b792fcb679
commit e88f3c344d
27 changed files with 87 additions and 3350 deletions

View File

@@ -1,84 +1,64 @@
## cd_clamav::params.pp
# Module name: cd_clamav
# Author: Arne Teuke (arne_teuke@confdroid.com)
# License:
# This file is part of cd_clamav.
#
# cd_clamav is used for providing automatic configuration of Clamav.
# Copyright (C) 2019 confdroid (copyright@confdroid.com)
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# @summary Class holds all parameters for the cd_clamav module and is
# inherited by all classes except defines.
# @param [string] reqpackages List of packages to install.
# @param [string] pkg_ensure
# @param [String] reqpackages List of packages to install.
# @param [String] pkg_ensure
# which [package type](https://confdroid.com/2017/05/puppet-type-package/)
# to choose, i.e. `latest` or `present`.
# @param [string] cv_logfile where to log messages for the clamd service.
# @param [string] cv_logfileunlock whether log file should be locked for
# writing -the lock protects againstrunning clamd multiple times
# @param [string] cv_logfilemaxsize themax size for the logfile. This also
# @param [String] cv_logfile where to log messages for the clamd service.
# @param [String] cv_logfileunlock whether log file should be locked for
# writing -the lock protects against running clamd multiple times
# @param [String] cv_logfilemaxsize the max size for the logfile. This also
# enables logrotation.
# @param [string] cv_logtime Whether to log the time with each message.
# @param [string] cv_logclean whether to log clean files. Useful in debugging
# @param [String] cv_logtime Whether to log the time with each message.
# @param [String] cv_logclean whether to log clean files. Useful in debugging
# but drastically increases the log size.
# @param [string] cv_logsyslog Use system logger (can work together with
# @param [String] cv_logsyslog Use system logger (can work together with
# LogFile).
# @param [string] cv_logfacility type of syslog messages - please refer to
# @param [String] cv_logfacility type of syslog messages - please refer to
# 'man syslog'for facility names
# @param [string] cv_logverbose Whether to log verbose.
# @param [string] cv_logrotate whether to enable log rotation. Always enabled
# @param [String] cv_logverbose Whether to log verbose.
# @param [String] cv_logrotate whether to enable log rotation. Always enabled
# when LogFileMaxSize is enabled.
# @param [string] cv_preludeenable whether to enable prelude output.
# @param [string] cv_preludeanalyzername name of the analyzer used by
# @param [String] cv_preludeenable whether to enable prelude output.
# @param [String] cv_preludeanalyzername name of the analyzer used by
# prelude-admin.
##############################################################################
class cd_clamav::params (
# installation
$reqpackages = ['clamav','clamav-update','clamd'],
$pkg_ensure = 'present',
String $reqpackages = ['clamav','clamav-update','clamd'],
String $pkg_ensure = 'present',
# clamd
$cv_logfile = '/var/log/clamd.scan',
$cv_logfileunlock = 'no',
$cv_logfilemaxsize = '2M',
$cv_logtime = 'yes',
$cv_logclean = 'no',
$cv_logsyslog = 'yes',
$cv_logfacility = 'LOG_MAIL',
$cv_logverbose = 'no',
$cv_logrotate = 'yes',
$cv_preludeenable = 'no',
$cv_preludeanalyzername = 'ClamAV',
String $cv_logfile = '/var/log/clamd.scan',
String $cv_logfileunlock = 'no',
String $cv_logfilemaxsize = '2M',
String $cv_logtime = 'yes',
String $cv_logclean = 'no',
String $cv_logsyslog = 'yes',
String $cv_logfacility = 'LOG_MAIL',
String $cv_logverbose = 'no',
String $cv_logrotate = 'yes',
String $cv_preludeenable = 'no',
String $cv_preludeanalyzername = 'ClamAV',
) {
# service
$cv_service = 'clamd@.service'
# service
$cv_service = 'clamd@.service'
# dirs
$cv_config_d_dir = '/etc/clamd.d'
# dirs
$cv_config_d_dir = '/etc/clamd.d'
# files
$cv_clamd_config_file = "${cv_config_d_dir}/scan.conf"
$cv_clamd_config_erb = 'cd_clamav/scan_conf.erb'
$cv_freshclam_file = '/etc/freshclam.conf'
$cv_freshclam_erb = 'cd_clamav/freshclam_conf.erb'
# files
$cv_clamd_config_file = "${cv_config_d_dir}/scan.conf"
$cv_clamd_config_erb = 'cd_clamav/scan_conf.erb'
$cv_freshclam_file = '/etc/freshclam.conf'
$cv_freshclam_erb = 'cd_clamav/freshclam_conf.erb'
# includes must be last
# includes must be last
include cd_clamav::main::config
}