| Index: modules/adblockplus/manifests/web/mimeo.pp | 
| =================================================================== | 
| new file mode 100644 | 
| --- /dev/null | 
| +++ b/modules/adblockplus/manifests/web/mimeo.pp | 
| @@ -0,0 +1,85 @@ | 
| +# == Class: adblockplus::web::mimeo | 
| +# | 
| +# Class adblockplus::web::mimeo registers the information received in a | 
| +# http/s petition with an specified format in an specific output. | 
| +# | 
| +# === Parameters: | 
| +# | 
| +# [*format*] | 
| +# A string containing the desired format for logging. | 
| +# | 
| +# '$remote_addr - - [$time_local] "$request" $status $bytes_sent "$http_referer"' | 
| +# | 
| +# [*port*] | 
| +# An integer to setup the port where the script will be listening, defaults | 
| +# to 8000. | 
| +# | 
| +# [*response*] | 
| +# A string (like format parameter) representing the response sent to the | 
| +# client. | 
| +# | 
| +class adblockplus::web::mimeo ( | 
| + $format = '', | 
| + $port = 8000, | 
| + $response = '', | 
| +){ | 
| + | 
| + ensure_packages(['python3']) | 
| + | 
| + realize(File['/var/adblockplus']) | 
| 
 
mathias
2017/08/21 20:07:38
Please explicitly include `adblockplus` when you r
 
f.lopez
2017/08/22 16:52:43
Done.
 
 | 
| + | 
| + file {'/var/adblockplus/mimeo': | 
| + ensure => 'directory', | 
| + mode => '0755', | 
| + owner => 'root', | 
| + require => File['/var/adblockplus'], | 
| + } | 
| + | 
| + file {'/usr/local/bin/mimeo.py': | 
| + ensure => 'present', | 
| + owner => 'root', | 
| + group => 'root', | 
| + mode => 0755, | 
| + source => 'puppet:///modules/adblockplus/mimeo.py', | 
| + require => [ | 
| + Package['python3'], | 
| + File['/var/adblockplus/mimeo'], | 
| 
 
mathias
2017/08/21 20:07:38
The script does not depend on the path hard-coded
 
f.lopez
2017/08/22 16:52:43
Yeah, you are right, I wasn't sure about this tbh.
 
 | 
| + ], | 
| + } | 
| + | 
| + file {'/etc/systemd/system/mimeo.service': | 
| + ensure => 'present', | 
| + owner => 'root', | 
| + group => 'root', | 
| + mode => 0644, | 
| + content => template('adblockplus/mimeo.service.erb'), | 
| + require => File['/usr/local/bin/mimeo.py'], | 
| + } | 
| + | 
| + Exec{ | 
| + path => ['/usr/bin', '/bin'], | 
| + } | 
| + | 
| + exec {'enable-service-mimeo': | 
| + command => 'systemctl enable mimeo.service', | 
| + user => 'root', | 
| + unless => 'systemctl is-enabled mimeo.service', | 
| + require => File['/etc/systemd/system/mimeo.service'], | 
| + } | 
| + | 
| + service {'mimeo': | 
| + ensure => 'running', | 
| + hasrestart => false, | 
| + provider => 'systemd', | 
| + require => Exec['enable-service-mimeo'], | 
| + subscribe => File['/usr/local/bin/mimeo.py'], | 
| + } | 
| + | 
| + exec {'reload-mimeo-daemon': | 
| + notify => Service['mimeo'], | 
| + command => 'systemctl daemon-reload', | 
| + subscribe => File['/etc/systemd/system/mimeo.service'], | 
| + refreshonly => true, | 
| + } | 
| +} | 
| + |