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

Unified Diff: modules/adblockplus/manifests/web/mimeo.pp

Issue 29504594: #2687 - Include mimeo python module (Closed)
Patch Set: For comment 41 Created Aug. 21, 2017, 7:54 p.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
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,
+ }
+}
+

Powered by Google App Engine
This is Rietveld