summaryrefslogtreecommitdiff
path: root/puppet/modules/clamav/manifests/daemon/activation.pp
diff options
context:
space:
mode:
authorChristoph Kluenter <ckluente@thoughtworks.com>2016-09-07 15:36:54 +0200
committervarac <varacanero@zeromail.org>2016-09-08 20:37:04 +0200
commita3af8acba8cd479f47d76784082d95100c0833ef (patch)
treec612dd789f43a2374c762c0ee0ee0fb320092378 /puppet/modules/clamav/manifests/daemon/activation.pp
parentf5db49cf6b3ca0a5830b849c0aac074e371b95d9 (diff)
start clamav after definitions are downloaded
freshclam might not be able to start clamav via the socket because the socket might not be there. This systemd unit watches for the definitions and then starts clamav. Resolves: #8431
Diffstat (limited to 'puppet/modules/clamav/manifests/daemon/activation.pp')
-rw-r--r--puppet/modules/clamav/manifests/daemon/activation.pp24
1 files changed, 24 insertions, 0 deletions
diff --git a/puppet/modules/clamav/manifests/daemon/activation.pp b/puppet/modules/clamav/manifests/daemon/activation.pp
new file mode 100644
index 00000000..09c1e55e
--- /dev/null
+++ b/puppet/modules/clamav/manifests/daemon/activation.pp
@@ -0,0 +1,24 @@
+# ensure clamav starts after the definitions are downloaded
+# needed because sometimes clamd cannot get started by freshclam,
+# see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=827909
+class clamav::daemon::activation {
+
+ file { '/etc/systemd/system/clamav-daemon.path':
+ source => 'puppet:///modules/clamav/clamav-daemon.path',
+ mode => '0644',
+ owner => root,
+ group => root,
+ notify => [ Exec['systemctl-daemon-reload'], Systemd::Enable['clamav-daemon.path'] ]
+ }
+
+ systemd::enable { 'clamav-daemon.path':
+ require => Exec['systemctl-daemon-reload'],
+ notify => Exec['start_clamd_path_monitor']
+ }
+
+ exec { 'start_clamd_path_monitor':
+ command => '/bin/systemctl start clamav-daemon.path',
+ refreshonly => true,
+ before => Service['freshclam']
+ }
+}