| OLD | NEW |
| 1 class web::server( | 1 class web::server( |
| 2 $vhost, | 2 $vhost, |
| 3 $repository, | 3 $repository, |
| 4 $certificate, | 4 $certificate, |
| 5 $private_key, | 5 $private_key, |
| 6 $is_default = false, | 6 $is_default = false, |
| 7 $aliases = undef, | 7 $aliases = undef, |
| 8 $custom_config = undef, | 8 $custom_config = undef, |
| 9 $multiplexer_locations = undef) { | 9 $multiplexer_locations = undef) { |
| 10 File { | 10 File { |
| 11 owner => 'root', | 11 owner => 'root', |
| 12 group => 'root', | 12 group => 'root', |
| 13 mode => 0644, | 13 mode => 0644, |
| 14 } | 14 } |
| 15 | 15 |
| 16 Cron { | 16 Cron { |
| 17 environment => ['MAILTO=admins@adblockplus.org', 'PYTHONPATH=/opt/sitescript
s'], | 17 environment => ['MAILTO=admins@adblockplus.org', 'PYTHONPATH=/opt/cms:/opt/s
itescripts'], |
| 18 } | 18 } |
| 19 | 19 |
| 20 include nginx | 20 include nginx |
| 21 | 21 |
| 22 package {['python-jinja2', 'python-markdown']:} | 22 package {['python-jinja2', 'python-markdown']:} |
| 23 | 23 |
| 24 nginx::hostconfig {$vhost: | 24 nginx::hostconfig {$vhost: |
| 25 content => template('web/site.conf.erb'), | 25 content => template('web/site.conf.erb'), |
| 26 global_config => template('web/global.conf.erb'), | 26 global_config => template('web/global.conf.erb'), |
| 27 is_default => $is_default, | 27 is_default => $is_default, |
| 28 certificate => $certificate, | 28 certificate => $certificate, |
| 29 private_key => $private_key, | 29 private_key => $private_key, |
| 30 log => "access_log_$vhost" | 30 log => "access_log_$vhost" |
| 31 } | 31 } |
| 32 | 32 |
| 33 class {'sitescripts': | |
| 34 sitescriptsini_source => 'puppet:///modules/web/sitescripts', | |
| 35 } | |
| 36 | |
| 37 if $multiplexer_locations != undef { | 33 if $multiplexer_locations != undef { |
| 38 include spawn-fcgi | 34 include spawn-fcgi |
| 39 package {'python-flup':} | 35 package {'python-flup':} |
| 40 | 36 |
| 37 class {'sitescripts': |
| 38 sitescriptsini_source => 'puppet:///modules/web/sitescripts', |
| 39 } |
| 40 |
| 41 spawn-fcgi::pool {"multiplexer": | 41 spawn-fcgi::pool {"multiplexer": |
| 42 ensure => present, | 42 ensure => present, |
| 43 fcgi_app => '/opt/sitescripts/multiplexer.fcgi', | 43 fcgi_app => '/opt/sitescripts/multiplexer.fcgi', |
| 44 socket => '/tmp/multiplexer-fastcgi.sock', | 44 socket => '/tmp/multiplexer-fastcgi.sock', |
| 45 mode => '0666', | 45 mode => '0666', |
| 46 user => 'nginx', | 46 user => 'nginx', |
| 47 children => 1, | 47 children => 1, |
| 48 require => [ | 48 require => [ |
| 49 Exec["fetch_sitescripts"], | 49 Exec["fetch_sitescripts"], |
| 50 Package["python-flup"], | 50 Package["python-flup"], |
| 51 ], | 51 ], |
| 52 } | 52 } |
| 53 } | 53 } |
| 54 | 54 |
| 55 user {'www': | 55 user {'www': |
| 56 ensure => present, | 56 ensure => present, |
| 57 comment => 'Web content owner', | 57 comment => 'Web content owner', |
| 58 home => '/home/www', | 58 home => '/home/www', |
| 59 managehome => true, | 59 managehome => true, |
| 60 } | 60 } |
| 61 | 61 |
| 62 exec {"fetch_cms": |
| 63 command => "hg clone https://hg.adblockplus.org/cms/ /opt/cms", |
| 64 path => ["/usr/bin/", "/bin/"], |
| 65 require => Package['mercurial'], |
| 66 timeout => 0, |
| 67 onlyif => "test ! -d /opt/cms", |
| 68 } |
| 69 |
| 62 exec {"fetch_repo": | 70 exec {"fetch_repo": |
| 63 command => "hg clone -U https://hg.adblockplus.org/${repository} /home/www/$
{repository}", | 71 command => "hg clone -U https://hg.adblockplus.org/${repository} /home/www/$
{repository}", |
| 64 path => ["/usr/bin/", "/bin/"], | 72 path => ["/usr/bin/", "/bin/"], |
| 65 require => Package['mercurial'], | 73 require => Package['mercurial'], |
| 66 user => www, | 74 user => www, |
| 67 timeout => 0, | 75 timeout => 0, |
| 68 onlyif => "test ! -d /home/www/${repository}", | 76 onlyif => "test ! -d /home/www/${repository}", |
| 69 } | 77 } |
| 70 | 78 |
| 71 file {'/var/www': | 79 file {'/var/www': |
| 72 ensure => directory, | 80 ensure => directory, |
| 73 mode => 755, | 81 mode => 755, |
| 74 } | 82 } |
| 75 | 83 |
| 76 file {"/var/www/${vhost}": | 84 file {"/var/www/${vhost}": |
| 77 ensure => directory, | 85 ensure => directory, |
| 78 owner => www, | 86 owner => www, |
| 79 mode => 755, | 87 mode => 755, |
| 80 } | 88 } |
| 81 | 89 |
| 90 cron {'update_cms': |
| 91 ensure => present, |
| 92 command => "hg pull -q -u -R /opt/cms", |
| 93 minute => '5-55/10', |
| 94 } |
| 95 |
| 82 cron {'update_repo': | 96 cron {'update_repo': |
| 83 ensure => present, | 97 ensure => present, |
| 84 command => "hg pull -q -R /home/www/${repository} && python -m sitescripts.c
ms.bin.generate_static_pages /home/www/${repository} /var/www/${vhost}", | 98 command => "hg pull -q -R /home/www/${repository} && python -m cms.bin.gener
ate_static_pages /home/www/${repository} /var/www/${vhost}", |
| 85 user => www, | 99 user => www, |
| 86 minute => '*/10', | 100 minute => '*/10', |
| 87 } | 101 } |
| 88 } | 102 } |
| OLD | NEW |