Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Delta Between Two Patch Sets: modules/adblockplus/manifests/web/mimeo.pp

Issue 29504594: #2687 - Include mimeo python module (Closed)
Left Patch Set: For comments 14 to 17 Created Aug. 9, 2017, 7:51 p.m.
Right Patch Set: For comments 47 and 48 Created Aug. 22, 2017, 8:33 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
Left: Side by side diff | Download
Right: Side by side diff | Download
« no previous file with change/comment | « modules/adblockplus/files/mimeo.py ('k') | modules/adblockplus/templates/mimeo.service.erb » ('j') | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
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 systemd escaped 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 #
15 # This is an example of how the format would look like in the log file.
16 #
17 # \x24remote_addr\x20\x2d\x20\x2d\x20\x5b\x24time_local\x5d\x20\x22\x24request \x22\x20\x24status\x20\x24bytes_sent\x20\x22\x24http_referer\x22
18 #
19 # And this is how it looks escaped, for escaping is necessary to use
20 # `systemd-escape` command, since this parameter is passed to a systemd
21 # unit file.
22 # 12 #
23 # [*port*] 13 # [*port*]
24 # 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
25 # to 8000. 15 # to 8000.
26 # 16 #
27 # [*response*] 17 # [*response*]
28 # A systemd escaped string (like format parameter) representing the response 18 # A string (like format parameter) representing the response sent to the
29 # sent to the client. 19 # client.
30 # 20 #
31 # [*log_file*]
32 # A string containg the path to the file where the logs will be written.
33 class adblockplus::web::mimeo ( 21 class adblockplus::web::mimeo (
34 $format = '', 22 $format = '',
35 $port = 8000, 23 $port = 8000,
36 $response = '', 24 $response = '',
37 $log_file = '/var/log/mimeo.log',
38 ){ 25 ){
26 include adblockplus
39 27
40 ensure_packages(['python3']) 28 ensure_packages(['python3'])
41 29
42 file {"/opt/mimeo": 30 realize(File['/var/adblockplus'])
31
32 file {'/var/adblockplus/mimeo':
43 ensure => 'directory', 33 ensure => 'directory',
34 mode => '0755',
44 owner => 'root', 35 owner => 'root',
45 group => 'root', 36 require => File['/var/adblockplus'],
46 } 37 }
47 38
48 file {"/opt/mimeo/mimeo.py": 39 file {'/usr/local/bin/mimeo.py':
mathias 2017/08/09 21:09:07 I don't think this requires an entire directory in
f.lopez 2017/08/10 19:06:34 Done.
49 ensure => 'present', 40 ensure => 'present',
50 owner => 'root', 41 owner => 'root',
51 group => 'root', 42 group => 'root',
52 mode => 0644, 43 mode => 0755,
53 content => file('adblockplus/mimeo.py'), 44 source => 'puppet:///modules/adblockplus/mimeo.py',
54 require => File["/opt/mimeo"], 45 require => Package['python3'],
mathias 2017/08/09 21:09:07 I'd consider Package['python3'] a requirement of t
f.lopez 2017/08/10 19:06:35 Done.
55 } 46 }
56 47
57 file {"/etc/systemd/system/mimeo.service": 48 file {'/etc/systemd/system/mimeo.service':
58 ensure => 'present', 49 ensure => 'present',
59 owner => 'root', 50 owner => 'root',
60 group => 'root', 51 group => 'root',
61 mode => 0644, 52 mode => 0644,
62 content => template('adblockplus/mimeo.service.erb'), 53 content => template('adblockplus/mimeo.service.erb'),
mathias 2017/08/09 21:09:07 I'd consider the mimeo.py script a requirement of
f.lopez 2017/08/10 19:06:35 Done.
54 require => File['/usr/local/bin/mimeo.py'],
63 } 55 }
64 56
65 Exec{ 57 Exec{
66 path => ['/usr/bin', '/bin'], 58 path => ['/usr/bin', '/bin'],
67 } 59 }
68 60
69 exec {"enable-service-mimeo": 61 exec {'enable-service-mimeo':
70 command => 'systemctl enable mimeo.service', 62 command => 'systemctl enable mimeo.service',
71 user => 'root', 63 user => 'root',
72 onlyif => 'systemctl is-enabled mimeo.service | grep disabled', 64 unless => 'systemctl is-enabled mimeo.service',
mathias 2017/08/09 21:09:07 You can use parameter $unless and avoid grep by re
f.lopez 2017/08/10 19:06:35 Done.
73 require => File["/etc/systemd/system/mimeo.service"], 65 require => File['/etc/systemd/system/mimeo.service'],
74 } 66 }
75 67
76 service {"mimeo.service": 68 service {'mimeo':
mathias 2017/08/09 21:09:07 Just call it Service['mimeo'] please, in Puppet th
f.lopez 2017/08/10 19:06:34 Done.
77 ensure => 'running', 69 ensure => 'running',
78 hasrestart => false, 70 hasrestart => false,
79 provider => 'systemd', 71 provider => 'systemd',
80 require => [ 72 require => Exec['enable-service-mimeo'],
81 Exec["enable-service-mimeo"], 73 subscribe => File['/usr/local/bin/mimeo.py'],
82 Package["python3"],
83 ],
84 } 74 }
85 75
86 exec {"reload-mimeo-daemon": 76 exec {'reload-mimeo-daemon':
77 notify => Service['mimeo'],
87 command => 'systemctl daemon-reload', 78 command => 'systemctl daemon-reload',
88 subscribe => File["/etc/systemd/system/mimeo.service"], 79 subscribe => File['/etc/systemd/system/mimeo.service'],
89 refreshonly => true, 80 refreshonly => true,
90 } 81 }
91 } 82 }
92 83
LEFTRIGHT

Powered by Google App Engine
This is Rietveld