diff --git a/puppet/hieradata/common.yaml b/puppet/hieradata/common.yaml index 7b9cdc3..7f5bd25 100644 --- a/puppet/hieradata/common.yaml +++ b/puppet/hieradata/common.yaml @@ -11,4 +11,12 @@ nginx::worker_processes: 8 nginx::error_log: '/var/log/nginx/error.log' nginx::access_log: '/var/log/nginx/access.log' +#TODO: test +colab::mailman_archive_path: '/mnt/mailman/archives/' +colab::mailman_exclude_lists: + - saberes-divulgacao + - pml + - mailman + - lexml-anuncions + # Remember to replace the id_rsa and id_rsa.pub on colab/files diff --git a/puppet/modules/colab/manifests/cronjobs.pp b/puppet/modules/colab/manifests/cronjobs.pp index 458c1fc..18c0077 100644 --- a/puppet/modules/colab/manifests/cronjobs.pp +++ b/puppet/modules/colab/manifests/cronjobs.pp @@ -1,6 +1,7 @@ - class colab::cronjobs { + include colab::cronmailmain + $virtualenv_python = "/home/colab/.virtualenvs/colab/bin/python" $manage_colab = "$virtualenv_python ~/colab/src/manage.py" @@ -32,35 +33,8 @@ class colab::cronjobs { minute => '34', } - cron { 'import-mailman-messages': - 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", - hour => '*', - minute => '*', - } - - file { '/mnt/mailman/': - ensure => directory, - } - - file { '/mnt/mailman/archives/': - ensure => directory, - require => File['/mnt/mailman/'], - } - - #cron { 'mount-sshfs': - # 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', - # minute => '*/5', - # user => 'root', - # require => [ - # File['/mnt/mailman/archives/'], - # #File['root-ssh-private-key'], - # Package['sshfs'], - # ], - #} - cron { 'cleanup-snippets': command => "$manage_colab cleanup_snippets &> /dev/null", hour => '1', } - } diff --git a/puppet/modules/colab/manifests/cronmailman.pp b/puppet/modules/colab/manifests/cronmailman.pp new file mode 100644 index 0000000..7819bb5 --- /dev/null +++ b/puppet/modules/colab/manifests/cronmailman.pp @@ -0,0 +1,6 @@ +class colab::cronmailman { + file { '/etc/cron.d/import_mailman_messages': + content => template('colab/import_mailman_messages.erb'), + ensure => present, + } +} diff --git a/puppet/modules/colab/templates/import_mailman_messages.erb b/puppet/modules/colab/templates/import_mailman_messages.erb new file mode 100644 index 0000000..5c8753a --- /dev/null +++ b/puppet/modules/colab/templates/import_mailman_messages.erb @@ -0,0 +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 -- libgit2 0.21.2