Skip to content

Commit eafda97

Browse files
committed
Puppet >= 4 validations
1 parent c3cf761 commit eafda97

6 files changed

Lines changed: 46 additions & 61 deletions

File tree

.sync.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ appveyor.yml:
66

77
.travis.yml:
88
user: edestecd
9-
secure: "JWjiBcix532wh5nWMxIXj9aIVzJyMZLuL5kN5bRfwY4iJkWQ4VdTKbu9jHN7QRT7/BSmVzypeGQkLuPDgPWhFJp01577u0/4ruVJTlHHuNrfgFKFiBcI0L4ezHurX9kHRmr3pNOQioVT+bg+R8yYsZU92R8Pfyt1y1XB2XANhSe2m+mS44e4oM6QtRgElemKsIPlVDHh1jn4f2DYIuxacY/xiGfTJ7klRXOKh1d6jSlIRMEYynARTD9RggW2m79zPSzoId841tBIziZsx3nxXtmjmQ55CZb95US8Mw2UDCVywu6FS6lqkyForFqAYZ6nvwSteMHN8wwv8FAMPDUppuTvQzdTMSvohlRhzMn4bHFTpCKssikDemz/8AYK7kbIfRChgf30dZIlePH6MKXRgqj6JkkeB1//pDFqYge8u16w4e8l/OKJwBC2CvAralpqsrGx748+bkmPHIj2OYQb9rVV51aFVWDQ/eKsAd1L71FrjBG2XNduNxXcltMeNviUO7df2cB5BSsxu02KBhkR0tmVjqNIO1w9NRiDX3YbyavPBSEnn/Lx1j3ujVsG2uVzbMfvkMyi8kaP65gn+F5Ys8bvJKUad3GgswpezalNMMH7/WzLsEszhOI7zsCioyZxjd4LB+H9N0ji1naVFN0ut0XtOa5RYKkzcDBtFiVesxI="
9+
secure: "xKK5tOeYwSISdni3byK/dp+Y5i7hhJqjGCZzm20+33dYb5tumtpAZOM/csC3NRhOZ6bR+q+SvnWtcjuzrQgXPYBHSW3AjmMEM1WO+HkNZ+61ze6drn5qBEMxtHphGxz1MGIXULgKAMFawGrhTP/YDnN9YkhCShgv/9OIa0P9ldki8dcn5EqliFpHYnLYhM7x2Uu8pbUmq4I590L89BFUYXJ1J7xmExmfluFw7Z2PfSA9tkBwOqbbeBMCVkZNQRzcfx30P9+vq+cMLAaQyNqYbbFptOm+qLuDO0fQCZrhyIqeXOy+soZYmIPTkQedeHoxfc8//UjmEqfdGjSmju9uLiaqcphxo2pX3hEkeTdLwsUqAJshq14fQ/e+uNZHvqWdsS2kEKqHk336a8BzCcZ2719DMyeshZVRv1P6ZbvS/BOeWoFQPpuhZsv6TEy0mB8sNTX8x0SjbP9RIIXMc46z/n9WvzESyac0lo+uiOPYNOVdx/0Dp295y/tpEwxK7avzXRC9CIikmRvcZuTBlMHaZwrzSO+hq0cze6/559eDS02ki8CIV3g8Kudl99lZ4tg2CREnFKHcU2ZYZ60JA9YrsVvI0zRhKZXtQQhSTVrMO2GAOVG4qyj92lvBRb4zWZjd/4XBObEMGKNB/VAuFIc7JC+t6Syz3o6eMVktC5pD5s4="
1010

1111
Gemfile:
1212
required:

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ deploy:
5151
provider: puppetforge
5252
username: edestecd
5353
password:
54-
secure: "JWjiBcix532wh5nWMxIXj9aIVzJyMZLuL5kN5bRfwY4iJkWQ4VdTKbu9jHN7QRT7/BSmVzypeGQkLuPDgPWhFJp01577u0/4ruVJTlHHuNrfgFKFiBcI0L4ezHurX9kHRmr3pNOQioVT+bg+R8yYsZU92R8Pfyt1y1XB2XANhSe2m+mS44e4oM6QtRgElemKsIPlVDHh1jn4f2DYIuxacY/xiGfTJ7klRXOKh1d6jSlIRMEYynARTD9RggW2m79zPSzoId841tBIziZsx3nxXtmjmQ55CZb95US8Mw2UDCVywu6FS6lqkyForFqAYZ6nvwSteMHN8wwv8FAMPDUppuTvQzdTMSvohlRhzMn4bHFTpCKssikDemz/8AYK7kbIfRChgf30dZIlePH6MKXRgqj6JkkeB1//pDFqYge8u16w4e8l/OKJwBC2CvAralpqsrGx748+bkmPHIj2OYQb9rVV51aFVWDQ/eKsAd1L71FrjBG2XNduNxXcltMeNviUO7df2cB5BSsxu02KBhkR0tmVjqNIO1w9NRiDX3YbyavPBSEnn/Lx1j3ujVsG2uVzbMfvkMyi8kaP65gn+F5Ys8bvJKUad3GgswpezalNMMH7/WzLsEszhOI7zsCioyZxjd4LB+H9N0ji1naVFN0ut0XtOa5RYKkzcDBtFiVesxI="
54+
secure: "xKK5tOeYwSISdni3byK/dp+Y5i7hhJqjGCZzm20+33dYb5tumtpAZOM/csC3NRhOZ6bR+q+SvnWtcjuzrQgXPYBHSW3AjmMEM1WO+HkNZ+61ze6drn5qBEMxtHphGxz1MGIXULgKAMFawGrhTP/YDnN9YkhCShgv/9OIa0P9ldki8dcn5EqliFpHYnLYhM7x2Uu8pbUmq4I590L89BFUYXJ1J7xmExmfluFw7Z2PfSA9tkBwOqbbeBMCVkZNQRzcfx30P9+vq+cMLAaQyNqYbbFptOm+qLuDO0fQCZrhyIqeXOy+soZYmIPTkQedeHoxfc8//UjmEqfdGjSmju9uLiaqcphxo2pX3hEkeTdLwsUqAJshq14fQ/e+uNZHvqWdsS2kEKqHk336a8BzCcZ2719DMyeshZVRv1P6ZbvS/BOeWoFQPpuhZsv6TEy0mB8sNTX8x0SjbP9RIIXMc46z/n9WvzESyac0lo+uiOPYNOVdx/0Dp295y/tpEwxK7avzXRC9CIikmRvcZuTBlMHaZwrzSO+hq0cze6/559eDS02ki8CIV3g8Kudl99lZ4tg2CREnFKHcU2ZYZ60JA9YrsVvI0zRhKZXtQQhSTVrMO2GAOVG4qyj92lvBRb4zWZjd/4XBObEMGKNB/VAuFIc7JC+t6Syz3o6eMVktC5pD5s4="
5555
on:
5656
tags: true
5757
all_branches: true

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,13 @@
22

33
All notable changes to this project will be documented in this file.
44

5+
## 2020-08-25 (2.0.0) Chris Edester
6+
* PDK support at 1.18.0
7+
* Puppet 5/6ish support
8+
* Drop Puppet 3 support
9+
* Update puppetlabs/stdlib dependency
10+
* Switch to puppet/epel dependency
11+
512
## 2016-08-10 (1.0.0) Chris Edester
613
* WARNING: Major revision, will most likely change your configs, especially on RedHat (Please test first)
714
* Refactor private class params and specs

manifests/init.pp

Lines changed: 27 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -7,40 +7,40 @@
77
#
88

99
class clamav (
10-
$manage_user = $clamav::params::manage_user,
11-
$manage_repo = $clamav::params::manage_repo,
12-
$manage_clamd = $clamav::params::manage_clamd,
13-
$manage_freshclam = $clamav::params::manage_freshclam,
14-
$manage_clamav_milter = $clamav::params::manage_clamav_milter,
15-
$clamav_package = $clamav::params::clamav_package,
16-
$clamav_version = $clamav::params::clamav_version,
10+
Boolean $manage_user = $clamav::params::manage_user,
11+
Boolean $manage_repo = $clamav::params::manage_repo,
12+
Boolean $manage_clamd = $clamav::params::manage_clamd,
13+
Boolean $manage_freshclam = $clamav::params::manage_freshclam,
14+
Boolean $manage_clamav_milter = $clamav::params::manage_clamav_milter,
15+
String $clamav_package = $clamav::params::clamav_package,
16+
String $clamav_version = $clamav::params::clamav_version,
1717

1818
$user = $clamav::params::user,
19-
$comment = $clamav::params::comment,
19+
Optional[String] $comment = $clamav::params::comment,
2020
$uid = $clamav::params::uid,
2121
$gid = $clamav::params::gid,
22-
$home = $clamav::params::home,
23-
$shell = $clamav::params::shell,
22+
Stdlib::Absolutepath $home = $clamav::params::home,
23+
Stdlib::Absolutepath $shell = $clamav::params::shell,
2424
$group = $clamav::params::group,
2525
$groups = $clamav::params::groups,
2626

27-
$clamd_package = $clamav::params::clamd_package,
28-
$clamd_version = $clamav::params::clamd_version,
29-
$clamd_config = $clamav::params::clamd_config,
30-
$clamd_service = $clamav::params::clamd_service,
27+
String $clamd_package = $clamav::params::clamd_package,
28+
String $clamd_version = $clamav::params::clamd_version,
29+
Stdlib::Absolutepath $clamd_config = $clamav::params::clamd_config,
30+
String $clamd_service = $clamav::params::clamd_service,
3131
$clamd_service_ensure = $clamav::params::clamd_service_ensure,
32-
$clamd_service_enable = $clamav::params::clamd_service_enable,
33-
$clamd_options = $clamav::params::clamd_options,
32+
Boolean $clamd_service_enable = $clamav::params::clamd_service_enable,
33+
Hash $clamd_options = $clamav::params::clamd_options,
3434

3535
$freshclam_package = $clamav::params::freshclam_package,
3636
$freshclam_version = $clamav::params::freshclam_version,
37-
$freshclam_config = $clamav::params::freshclam_config,
37+
Stdlib::Absolutepath $freshclam_config = $clamav::params::freshclam_config,
3838
$freshclam_service = $clamav::params::freshclam_service,
3939
$freshclam_service_ensure = $clamav::params::freshclam_service_ensure,
40-
$freshclam_service_enable = $clamav::params::freshclam_service_enable,
41-
$freshclam_options = $clamav::params::freshclam_options,
42-
$freshclam_sysconfig = $clamav::params::freshclam_sysconfig,
43-
$freshclam_delay = $clamav::params::freshclam_delay,
40+
Boolean $freshclam_service_enable = $clamav::params::freshclam_service_enable,
41+
Hash $freshclam_options = $clamav::params::freshclam_options,
42+
Optional[Stdlib::Absolutepath] $freshclam_sysconfig = $clamav::params::freshclam_sysconfig,
43+
Optional[String] $freshclam_delay = $clamav::params::freshclam_delay,
4444

4545
$clamav_milter_package = $clamav::params::clamav_milter_package,
4646
$clamav_milter_version = $clamav::params::clamav_milter_version,
@@ -51,50 +51,20 @@
5151
$clamav_milter_options = $clamav::params::clamav_milter_options,
5252
) inherits clamav::params {
5353

54-
# Input validation
55-
$valid_service_statuses = '^(stopped|false|running|true)$'
56-
57-
validate_bool($manage_user, $manage_repo, $manage_clamd, $manage_freshclam, $manage_clamav_milter)
58-
validate_string($clamav_package)
59-
validate_string($clamav_version)
60-
61-
# user
62-
validate_string($comment)
63-
validate_absolute_path($home)
64-
validate_absolute_path($shell)
65-
6654
# clamd
67-
validate_string($clamd_package)
68-
validate_string($clamd_version)
69-
validate_absolute_path($clamd_config)
70-
validate_string($clamd_service)
71-
validate_re($clamd_service_ensure, $valid_service_statuses)
72-
validate_bool($clamd_service_enable)
73-
validate_hash($clamd_options)
7455
$_clamd_options = merge($clamav::params::clamd_default_options, $clamd_options)
7556

7657
# freshclam
77-
validate_absolute_path($freshclam_config)
78-
validate_re($freshclam_service_ensure, $valid_service_statuses)
79-
validate_bool($freshclam_service_enable)
80-
validate_hash($freshclam_options)
8158
$_freshclam_options = merge($clamav::params::freshclam_default_options, $freshclam_options)
82-
if $freshclam_sysconfig {
83-
validate_absolute_path($freshclam_sysconfig)
84-
}
85-
if $freshclam_delay {
86-
validate_string($freshclam_delay)
87-
}
8859

8960
# clamav_milter
9061
if $manage_clamav_milter {
91-
validate_string($clamav_milter_package)
92-
validate_string($clamav_milter_version)
93-
validate_absolute_path($clamav_milter_config)
94-
validate_string($clamav_milter_service)
95-
validate_re($clamav_milter_service_ensure, $valid_service_statuses)
96-
validate_bool($clamav_milter_service_enable)
97-
validate_hash($clamav_milter_options)
62+
assert_type(String, $clamav_milter_package)
63+
assert_type(String, $clamav_milter_version)
64+
assert_type(Stdlib::Absolutepath, $clamav_milter_config)
65+
assert_type(String, $clamav_milter_service)
66+
assert_type(Boolean, $clamav_milter_service_enable)
67+
assert_type(Hash, $clamav_milter_options)
9868
$_clamav_milter_options = merge($clamav::params::clamav_milter_default_options, $clamav_milter_options)
9969
}
10070

metadata.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "edestecd-clamav",
3-
"version": "1.0.0",
3+
"version": "2.0.0",
44
"author": "Chris Edester",
55
"summary": "Puppet Module for managing ClamAV",
66
"license": "GPL-3.0+",
@@ -10,7 +10,7 @@
1010
"dependencies": [
1111
{
1212
"name": "puppetlabs/stdlib",
13-
"version_requirement": ">= 4.1.0 < 7.0.0"
13+
"version_requirement": ">= 4.13.0 < 7.0.0"
1414
},
1515
{
1616
"name": "puppet/epel",

spec/classes/clamav_spec.rb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,14 @@
3939
it { is_expected.to contain_class('clamav::freshclam') }
4040
end
4141

42+
context 'manage manage_clamav_milter' do
43+
if facts[:osfamily] == 'RedHat' && facts[:operatingsystemrelease] >= '7.0'
44+
let(:params) { { manage_clamav_milter: true } }
45+
46+
it { is_expected.to contain_class('clamav::clamav_milter') }
47+
end
48+
end
49+
4250
context 'clamav::user' do
4351
let(:params) { { manage_user: true } }
4452

0 commit comments

Comments
 (0)