Commit fd68bc4f531817088667188dd00ce371ae443766

Authored by Sergio Oliveira
1 parent 1a1423e5

Added cron job to import mails from mailman's list

Signed-off-by: Matheus Faria <matheus.sousa.faria@gmail.com>
Signed-off-by: Sergio Campos <seocam@gmail.com>
puppet/hieradata/common.yaml
@@ -11,4 +11,12 @@ nginx::worker_processes: 8 @@ -11,4 +11,12 @@ nginx::worker_processes: 8
11 nginx::error_log: '/var/log/nginx/error.log' 11 nginx::error_log: '/var/log/nginx/error.log'
12 nginx::access_log: '/var/log/nginx/access.log' 12 nginx::access_log: '/var/log/nginx/access.log'
13 13
  14 +#TODO: test
  15 +colab::mailman_archive_path: '/mnt/mailman/archives/'
  16 +colab::mailman_exclude_lists:
  17 + - saberes-divulgacao
  18 + - pml
  19 + - mailman
  20 + - lexml-anuncions
  21 +
14 # Remember to replace the id_rsa and id_rsa.pub on colab/files 22 # Remember to replace the id_rsa and id_rsa.pub on colab/files
puppet/modules/colab/manifests/cronjobs.pp
1 -  
2 class colab::cronjobs { 1 class colab::cronjobs {
3 2
  3 + include colab::cronmailmain
  4 +
4 $virtualenv_python = "/home/colab/.virtualenvs/colab/bin/python" 5 $virtualenv_python = "/home/colab/.virtualenvs/colab/bin/python"
5 $manage_colab = "$virtualenv_python ~/colab/src/manage.py" 6 $manage_colab = "$virtualenv_python ~/colab/src/manage.py"
6 7
@@ -32,35 +33,8 @@ class colab::cronjobs { @@ -32,35 +33,8 @@ class colab::cronjobs {
32 minute => '34', 33 minute => '34',
33 } 34 }
34 35
35 - cron { 'import-mailman-messages':  
36 - command => "$manage_colab import_emails --archives_path=/mnt/mailman/archives/ --exclude-list=saberes-divulgacao --exclude-list=pml --exclude-list=mailman --exclude-list=lexml-anuncios &> /dev/null",  
37 - hour => '*',  
38 - minute => '*',  
39 - }  
40 -  
41 - file { '/mnt/mailman/':  
42 - ensure => directory,  
43 - }  
44 -  
45 - file { '/mnt/mailman/archives/':  
46 - ensure => directory,  
47 - require => File['/mnt/mailman/'],  
48 - }  
49 -  
50 - #cron { 'mount-sshfs':  
51 - # command => 'test -e /mnt/mailman/archives/flag || sshfs root@listas.interlegis.gov.br:/var/lib/mailman/archives/private /mnt/mailman/archives/ -o ro,nosuid,nodev,max_read=65536,allow_other,IdentityFile=/root/.ssh/id_rsa && touch /mnt/mailman/archives/flag &> /dev/null',  
52 - # minute => '*/5',  
53 - # user => 'root',  
54 - # require => [  
55 - # File['/mnt/mailman/archives/'],  
56 - # #File['root-ssh-private-key'],  
57 - # Package['sshfs'],  
58 - # ],  
59 - #}  
60 -  
61 cron { 'cleanup-snippets': 36 cron { 'cleanup-snippets':
62 command => "$manage_colab cleanup_snippets &> /dev/null", 37 command => "$manage_colab cleanup_snippets &> /dev/null",
63 hour => '1', 38 hour => '1',
64 } 39 }
65 -  
66 } 40 }
puppet/modules/colab/manifests/cronmailman.pp 0 → 100644
@@ -0,0 +1,6 @@ @@ -0,0 +1,6 @@
  1 +class colab::cronmailman {
  2 + file { '/etc/cron.d/import_mailman_messages':
  3 + content => template('colab/import_mailman_messages.erb'),
  4 + ensure => present,
  5 + }
  6 +}
puppet/modules/colab/templates/import_mailman_messages.erb 0 → 100644
@@ -0,0 +1 @@ @@ -0,0 +1 @@
  1 +* * * * * colab /home/colab/.virtualenvs/colab/bin/python ~/colab/src/manage.py import_emails --archives_path=<%= scope['colab::mailman_path'] %> <% scope['colab::mailman_exclude_lists'].each do |exclude| %> --exclude-list=<%= exclude %> <% end %> &> /dev/null