From 10be474a3e3693d6028b3321027b12c09a600282 Mon Sep 17 00:00:00 2001 From: Sergio Oliveira Date: Tue, 12 Nov 2013 11:23:40 -0200 Subject: [PATCH] Adding cronjobs --- puppet/hieradata/common.yaml | 2 ++ puppet/modules/colab/files/root_id_rsa | 28 ++++++++++++++++++++++++++++ puppet/modules/colab/files/root_id_rsa.pub | 1 + puppet/modules/colab/manifests/cronjobs.pp | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ puppet/modules/colab/manifests/init.pp | 25 +++++++++++++++++++++++++ puppet/modules/colab/manifests/requirements.pp | 3 +++ 6 files changed, 107 insertions(+), 0 deletions(-) create mode 100644 puppet/modules/colab/files/root_id_rsa create mode 100644 puppet/modules/colab/files/root_id_rsa.pub create mode 100644 puppet/modules/colab/manifests/cronjobs.pp diff --git a/puppet/hieradata/common.yaml b/puppet/hieradata/common.yaml index 26ee679..7b9cdc3 100644 --- a/puppet/hieradata/common.yaml +++ b/puppet/hieradata/common.yaml @@ -10,3 +10,5 @@ postfix::admin_email: test@test.test nginx::worker_processes: 8 nginx::error_log: '/var/log/nginx/error.log' nginx::access_log: '/var/log/nginx/access.log' + +# Remember to replace the id_rsa and id_rsa.pub on colab/files diff --git a/puppet/modules/colab/files/root_id_rsa b/puppet/modules/colab/files/root_id_rsa new file mode 100644 index 0000000..7bfdc49 --- /dev/null +++ b/puppet/modules/colab/files/root_id_rsa @@ -0,0 +1,28 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEAuCnJ7elkn0ZoMiZZIbZ8wigD1gcMwKyTVrPfnel9eNK9c/8R +6QsE6xrNoNQmjTsbGJF88RZkz7cYxX9YFIXatL+Wckq+GUirWMUm/2zIR8rqo31X +l/0E/nXWED3k9L3ZZwB3PzY15vDhkt+Gv+zpdYQkL6Jj23IAeDM1Q5/cq3Ha2z5l +1L0z7wN+rttfE879Jxv7plC3ceVzm7jj5aYRH2dZFgkjgr3DmAI0fh+15To4apkQ +fw/tvGPfogIDRhQybts5UvY2UnK4/ize+IswBTgTlNV864bLqpkgcY8drdX04Kxu +34qBG1FGtj4MDP3kjJdoFOolV4vn+5nGQ0A6awIDAQABAoIBAGO7ZbpskWxb8aNu +9wf1znxKtUEb0kEpdCUZBfl7b9KVtblyoZ1ltUUo38DAAxyqrJLSfyoEaZW/Xy/d +NbLvhjAqLOw6I9aHbxuEsQjUPWX7srPU9jG9+Q1gfQuQqUQM6AYKz4kw72HggxhJ +6qxXPVrBs+MD+zXk9/IgMTEtCpDhDVNdy1bEsiguEeUFOIvDCDqN4DN1iWy5i1Xn +aJTYp/JPbGqohp9XJ1vQPhQin5s0el21OxW61xJRR12Y2VAxKpmwXC5SdAT+z7bY +k2TXbujyP68MZKmnruhouRy5gtFwZpehGgoycuBWrwG2S2iEvJy7AsPFe90wEbQb +4xYjOtkCgYEA30jPvOurvRyM5Kpl6zhN9E1x4kqtuJsuRvGCqXfQtVZXD2b6hkGF +PHKVsCUco9t+86ZQZ2xoyMDuLxEelCnbktX0P8RfH/e1CqADo3NIxkd+vJsS/PYo +wEUcEYFaTKEzJJaG1ZApf4m14scSeMvirTy3sfVyZRWhcHRB9hLknncCgYEA0yWU +HMGC57GMXO3Wc0Bs7oaC2N7WbPk+reQ4rVxVLu1qOtpkzwpfwUFQBqn7LIpIX9Jc +B3MFOe9ndA5jNRwECMPoMd1d9t+OkTjf3cpiPwludph/cReIho1bouW2xzuR7XO0 +J1dLnmeYCKZQ1lKysK0bGbkRoXAz6yzK8oBc/K0CgYBV7YpstPF5rLQYB++DDz8I +xokOQhkK00WC7cyP9VkvgBOvDL1az3o74gjzKcUU1hLMJ3QH6TOGFqFTIa537Ifg +wU/m/mZxQf29IglkbKhUDg2a/b7X9M+H9tCvd+1NUjgBW6B2La2atF93746PSD9q +1dQHu2KTvjhLs6Hy1iB/TwKBgQCmLU4rb5VSOmdJABqmbE8PTygN/Rtvep59B0Ag +GKomG85ecWGjnPuNwpR0GjXHcTHS0GGDr1+uoB+gtG4Z72mxaFYHYLzCPmIbI1L1 +YIIAMLESf6TVYfseQoSbaQV4Ogb4hfaEe+zUx51dOWAnvcBK0oKgtQoOL5t8/Kzh +PGtypQKBgQDfMeSWp6Xztv3EAoBpuh6+T5nfcqEJ7FgkddxBVxDCJCOljDjZrjOk +YR3Yz7n3hN/0OfXxByL+EnP3EL3sIiIvc/IKxw3E2faU8iPXWyXmYbL/vHDs5+BX +h29DcOwAoANga1DxlQrJ6uGSb4yKkxaamTIJJMSJ5G9UUf90ie3Y2w== +-----END RSA PRIVATE KEY----- + diff --git a/puppet/modules/colab/files/root_id_rsa.pub b/puppet/modules/colab/files/root_id_rsa.pub new file mode 100644 index 0000000..d2097bd --- /dev/null +++ b/puppet/modules/colab/files/root_id_rsa.pub @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4Kcnt6WSfRmgyJlkhtnzCKAPWBwzArJNWs9+d6X140r1z/xHpCwTrGs2g1CaNOxsYkXzxFmTPtxjFf1gUhdq0v5ZySr4ZSKtYxSb/bMhHyuqjfVeX/QT+ddYQPeT0vdlnAHc/NjXm8OGS34a/7Ol1hCQvomPbcgB4MzVDn9yrcdrbPmXUvTPvA36u218Tzv0nG/umULdx5XObuOPlphEfZ1kWCSOCvcOYAjR+H7XlOjhqmRB/D+28Y9+iAgNGFDJu2zlS9jZScrj+LN74izAFOBOU1XzrhsuqmSBxjx2t1fTgrG7fioEbUUa2PgwM/eSMl2gU6iVXi+f7mcZDQDpr demouser@demoserver diff --git a/puppet/modules/colab/manifests/cronjobs.pp b/puppet/modules/colab/manifests/cronjobs.pp new file mode 100644 index 0000000..07e596a --- /dev/null +++ b/puppet/modules/colab/manifests/cronjobs.pp @@ -0,0 +1,48 @@ + +class colab::cronjobs { + + $virtualenv_python = "/home/colab/.virtualenvs/colab/bin/python" + $manage_colab = "$virtualenv_python colab/src/manage.py" + + Cron { + user => colab, + } + + cron { 'update-haystack-index': + command => "$manage_colab update_index --age=1", + minute => '*', + } + + cron { 'rebuild-haystack-index': + command => "$manage_colab rebuild_index --noinput", + hour => '2', + minute => '34', + } + + cron { 'import-mailman-messages': + command => "$manage_colab import_emails --archives_path=/usr/local/django/colab/mnt/archives/ --exclude-list=saberes-divulgacao --exclude-list=pml --exclude-list=mailman --exclude-list=lexml-anuncios", + 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', + minute => '*/5', + user => 'root', + require => [ + File['/mnt/mailman/archives/'], + File['root-ssh-private-key'], + Package['sshfs'], + ], + } + +} diff --git a/puppet/modules/colab/manifests/init.pp b/puppet/modules/colab/manifests/init.pp index 5921073..4e2211d 100644 --- a/puppet/modules/colab/manifests/init.pp +++ b/puppet/modules/colab/manifests/init.pp @@ -11,6 +11,7 @@ class colab { include supervisor include colab::requirements + include colab::cronjobs apt::ppa { 'ppa:nginx/stable': } @@ -44,6 +45,30 @@ class colab { group => root, } + file { 'root-ssh-dir': + ensure => directory, + mode => '0700', + path => '/root/.ssh', + } + + file { 'root-ssh-private-key': + ensure => present, + mode => '0600', + path => '/root/.ssh/id_rsa', + source => 'puppet:///modules/colab/root_id_rsa', + owner => root, + group => root, + } + + file { 'root-ssh-public-key': + ensure => present, + mode => '0644', + path => '/root/.ssh/id_rsa.pub', + source => 'puppet:///modules/colab/root_id_rsa.pub', + owner => root, + group => root, + } + supervisor::app { 'colab': command => '/home/colab/.virtualenvs/colab/bin/gunicorn colab.wsgi:application -c colab/gunicorn.conf.py', directory => '/home/colab/colab/src/', diff --git a/puppet/modules/colab/manifests/requirements.pp b/puppet/modules/colab/manifests/requirements.pp index 6680437..86c0bee 100644 --- a/puppet/modules/colab/manifests/requirements.pp +++ b/puppet/modules/colab/manifests/requirements.pp @@ -106,4 +106,7 @@ class colab::requirements { ensure => installed, } + package { 'sshfs': + ensure => installed, + } } -- libgit2 0.21.2