adjust Parameter types, Jenkinsfile and Readme
This commit is contained in:
@@ -1,29 +1,12 @@
|
||||
## cd_clamav::init.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 initializes the cd_clamav Module.
|
||||
##############################################################################
|
||||
class cd_clamav {
|
||||
include cd_clamav::params
|
||||
|
||||
resources { 'firewall':
|
||||
purge => true
|
||||
purge => true,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,30 +1,11 @@
|
||||
## cd_clamav::main::config.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 manages all aspects of configuring the module logic for
|
||||
# cd_clamav.
|
||||
##############################################################################
|
||||
class cd_clamav::main::config (
|
||||
|
||||
) inherits cd_clamav::params {
|
||||
|
||||
include cd_clamav::main::service
|
||||
|
||||
}
|
||||
|
||||
@@ -1,41 +1,22 @@
|
||||
## cd_clamav::main::dirs.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 manages all directories required for cd_clamav.
|
||||
###############################################################################
|
||||
class cd_clamav::main::dirs (
|
||||
|
||||
) inherits cd_clamav::params {
|
||||
|
||||
require cd_clamav::main::install
|
||||
|
||||
# config.d dir
|
||||
file { $cv_config_d_dir:
|
||||
ensure => directory,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0755',
|
||||
selrange => s0,
|
||||
selrole => object_r,
|
||||
seltype => etc_t,
|
||||
seluser => system_u,
|
||||
ensure => directory,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0755',
|
||||
selrange => s0,
|
||||
selrole => object_r,
|
||||
seltype => etc_t,
|
||||
seluser => system_u,
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,55 +1,37 @@
|
||||
## cd_clamav::main::files.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 manages all configuration files required for cd_clamav.
|
||||
##############################################################################
|
||||
class cd_clamav::main::files (
|
||||
|
||||
) inherits cd_clamav::params {
|
||||
|
||||
require cd_clamav::main::dirs
|
||||
|
||||
# clamd config file
|
||||
file { $cv_clamd_config_file:
|
||||
ensure => file,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
selrange => s0,
|
||||
selrole => object_r,
|
||||
seltype => etc_t,
|
||||
seluser => system_u,
|
||||
content => template($cv_clamd_config_erb),
|
||||
# notify => Service[$cv_service],
|
||||
ensure => file,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
selrange => s0,
|
||||
selrole => object_r,
|
||||
seltype => etc_t,
|
||||
seluser => system_u,
|
||||
content => template($cv_clamd_config_erb),
|
||||
# notify => Service[$cv_service],
|
||||
}
|
||||
|
||||
# freshclam config file
|
||||
file { $cv_freshclam_file:
|
||||
ensure => file,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0600',
|
||||
selrange => s0,
|
||||
selrole => object_r,
|
||||
seltype => etc_t,
|
||||
seluser => system_u,
|
||||
content => template($cv_freshclam_erb),
|
||||
ensure => file,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0600',
|
||||
selrange => s0,
|
||||
selrole => object_r,
|
||||
seltype => etc_t,
|
||||
seluser => system_u,
|
||||
content => template($cv_freshclam_erb),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,31 +1,13 @@
|
||||
## cd_clamav ::main::install.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 manage all aspects of installing binaries required for
|
||||
# cd_clamav
|
||||
###############################################################################
|
||||
class cd_clamav::main::install (
|
||||
|
||||
) inherits cd_clamav::params {
|
||||
|
||||
package {$reqpackages:
|
||||
package { $reqpackages:
|
||||
ensure => $pkg_ensure,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,36 +1,17 @@
|
||||
## cd_clamav::main::service.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 manages the service(s) for cd_clamav.
|
||||
#############################################################################
|
||||
class cd_clamav::main::service (
|
||||
|
||||
) inherits cd_clamav::params {
|
||||
|
||||
require cd_clamav::main::files
|
||||
|
||||
# service { $cv_service:
|
||||
# ensure => running,
|
||||
# hasstatus => true,
|
||||
# hasrestart => true,
|
||||
# enable => true,
|
||||
# ensure => running,
|
||||
# hasstatus => true,
|
||||
# hasrestart => true,
|
||||
# enable => true,
|
||||
# }
|
||||
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user