LEFT | RIGHT |
1 # == Class: adblockplus::web::mimeo | 1 # == Class: adblockplus::web::mimeo |
2 # | 2 # |
3 # A [mimeograph](https://en.wikipedia.org/wiki/Mimeograph) (also known as stenci
l duplicator) is a low-cost duplicating | 3 # Class adblockplus::web::mimeo registers the information received in a |
4 # machine. Mimeo is used here since it is the abbreviation and it sounds better. | 4 # http/s petition with an specified format in an specific output. |
5 # | 5 # |
6 # The pourpose of this class is to log the information received in a http/s | |
7 # petition with an specified format. | |
8 # === Parameters: | 6 # === Parameters: |
9 # | 7 # |
10 # [*format*] | 8 # [*format*] |
11 # A string containing the desired format for logging. | 9 # A string containing the desired format for logging. |
12 # | 10 # |
13 # '$remote_addr - - [$time_local] "$request" $status $bytes_sent "$http_refere
r"' | 11 # '$remote_addr - - [$time_local] "$request" $status $bytes_sent "$http_refere
r"' |
14 # | 12 # |
15 # [*port*] | 13 # [*port*] |
16 # An integer to setup the port where the script will be listening, defaults | 14 # An integer to setup the port where the script will be listening, defaults |
17 # to 8000. | 15 # to 8000. |
18 # | 16 # |
19 # [*response*] | 17 # [*response*] |
20 # A string (like format parameter) representing the response sent to the | 18 # A string (like format parameter) representing the response sent to the |
21 # client. | 19 # client. |
22 # | 20 # |
23 # [*log_file*] | |
24 # A string containg the path to the file where the logs will be written. | |
25 class adblockplus::web::mimeo ( | 21 class adblockplus::web::mimeo ( |
26 $format = '', | 22 $format = '', |
27 $port = 8000, | 23 $port = 8000, |
28 $response = '', | 24 $response = '', |
29 $log_file = '/var/log/mimeo.log', | |
30 ){ | 25 ){ |
| 26 include adblockplus |
31 | 27 |
32 ensure_packages(['python3']) | 28 ensure_packages(['python3']) |
33 | 29 |
34 file {"/usr/local/bin/mimeo.py": | 30 realize(File['/var/adblockplus']) |
| 31 |
| 32 file {'/var/adblockplus/mimeo': |
| 33 ensure => 'directory', |
| 34 mode => '0755', |
| 35 owner => 'root', |
| 36 require => File['/var/adblockplus'], |
| 37 } |
| 38 |
| 39 file {'/usr/local/bin/mimeo.py': |
35 ensure => 'present', | 40 ensure => 'present', |
36 owner => 'root', | 41 owner => 'root', |
37 group => 'root', | 42 group => 'root', |
38 mode => 0755, | 43 mode => 0755, |
39 content => file('adblockplus/mimeo.py'), | 44 source => 'puppet:///modules/adblockplus/mimeo.py', |
40 require => Package['python3'], | 45 require => Package['python3'], |
41 } | 46 } |
42 | 47 |
43 file {"/etc/systemd/system/mimeo.service": | 48 file {'/etc/systemd/system/mimeo.service': |
44 ensure => 'present', | 49 ensure => 'present', |
45 owner => 'root', | 50 owner => 'root', |
46 group => 'root', | 51 group => 'root', |
47 mode => 0644, | 52 mode => 0644, |
48 content => template('adblockplus/mimeo.service.erb'), | 53 content => template('adblockplus/mimeo.service.erb'), |
49 require => File['/usr/local/bin/mimeo.py'], | 54 require => File['/usr/local/bin/mimeo.py'], |
50 } | 55 } |
51 | 56 |
52 Exec{ | 57 Exec{ |
53 path => ['/usr/bin', '/bin'], | 58 path => ['/usr/bin', '/bin'], |
54 } | 59 } |
55 | 60 |
56 exec {"enable-service-mimeo": | 61 exec {'enable-service-mimeo': |
57 command => 'systemctl enable mimeo.service', | 62 command => 'systemctl enable mimeo.service', |
58 user => 'root', | 63 user => 'root', |
59 unless => 'systemctl is-enabled mimeo.service', | 64 unless => 'systemctl is-enabled mimeo.service', |
60 require => File["/etc/systemd/system/mimeo.service"], | 65 require => File['/etc/systemd/system/mimeo.service'], |
61 } | 66 } |
62 | 67 |
63 service {"mimeo": | 68 service {'mimeo': |
64 ensure => 'running', | 69 ensure => 'running', |
65 hasrestart => false, | 70 hasrestart => false, |
66 provider => 'systemd', | 71 provider => 'systemd', |
67 require => [ | 72 require => Exec['enable-service-mimeo'], |
68 Exec["enable-service-mimeo"], | 73 subscribe => File['/usr/local/bin/mimeo.py'], |
69 Package["python3"], | |
70 ], | |
71 } | 74 } |
72 | 75 |
73 exec {"reload-mimeo-daemon": | 76 exec {'reload-mimeo-daemon': |
| 77 notify => Service['mimeo'], |
74 command => 'systemctl daemon-reload', | 78 command => 'systemctl daemon-reload', |
75 subscribe => File["/etc/systemd/system/mimeo.service"], | 79 subscribe => File['/etc/systemd/system/mimeo.service'], |
76 refreshonly => true, | 80 refreshonly => true, |
77 } | 81 } |
78 } | 82 } |
79 | 83 |
LEFT | RIGHT |