| LEFT | RIGHT |
| (no file at all) | |
| 1 class statsclient ( | 1 class statsclient { |
| 2 $log_path, | |
| 3 $custom_sitescriptsini_source = [], | |
| 4 ) { | |
| 5 | |
| 6 $sitescriptsini_source = flatten(['puppet:///modules/statsclient/sitescripts.i
ni', $custom_sitescriptsini_source]) | |
| 7 | |
| 8 user {'stats': | 2 user {'stats': |
| 9 ensure => present, | 3 ensure => present, |
| 10 home => '/home/stats', | 4 home => '/home/stats', |
| 11 managehome => true, | 5 managehome => true, |
| 12 } | 6 } |
| 13 | 7 |
| 14 file {'/home/stats/.ssh': | 8 file {'/home/stats/.ssh': |
| 15 ensure => directory, | 9 ensure => directory, |
| 16 owner => stats, | 10 owner => stats, |
| 17 mode => 0600, | 11 mode => 0600, |
| 18 require => User['stats'], | 12 require => User['stats'], |
| 19 } | 13 } |
| 20 | 14 |
| 21 file {'/home/stats/.ssh/authorized_keys': | 15 file {'/home/stats/.ssh/authorized_keys': |
| 22 ensure => present, | 16 ensure => present, |
| 23 owner => stats, | 17 owner => stats, |
| 24 mode => 0400, | 18 mode => 0400, |
| 25 source => 'puppet:///modules/private/stats-authorized_keys', | 19 source => 'puppet:///modules/private/stats-authorized_keys', |
| 26 } | 20 } |
| 27 | 21 |
| 28 class {'ssh': | 22 class {'ssh': |
| 29 custom_configuration => 'Match User stats | 23 custom_configuration => 'Match User stats |
| 30 AllowTcpForwarding no | 24 AllowTcpForwarding no |
| 31 X11Forwarding no | 25 X11Forwarding no |
| 32 AllowAgentForwarding no | 26 AllowAgentForwarding no |
| 33 GatewayPorts no | 27 GatewayPorts no |
| 34 ForceCommand cat /var/www/stats.json', | 28 ForceCommand (echo $SSH_ORIGINAL_COMMAND | grep -qv /) && cat "/var/log/
nginx/$SSH_ORIGINAL_COMMAND"', |
| 35 } | |
| 36 | |
| 37 class {'sitescripts': | |
| 38 sitescriptsini_source => $sitescriptsini_source, | |
| 39 } | |
| 40 | |
| 41 package {'pypy':} | |
| 42 | |
| 43 file {'/var/www/stats.json': | |
| 44 ensure => present, | |
| 45 owner => stats, | |
| 46 mode => 644, | |
| 47 } | |
| 48 | |
| 49 file {'/opt/cron_geoipdb_update.sh': | |
| 50 ensure => file, | |
| 51 owner => root, | |
| 52 mode => 0750, | |
| 53 source => 'puppet:///modules/statsclient/cron_geoipdb_update.sh', | |
| 54 } | 29 } |
| 55 | 30 |
| 56 cron {'mirrorstats': | 31 cron {'mirrorstats': |
| 57 ensure => present, | 32 ensure => absent, |
| 58 require => [ | |
| 59 User['stats'], | |
| 60 Package['pypy'], | |
| 61 Exec["fetch_sitescripts"] | |
| 62 ], | |
| 63 command => "gzip -cd ${log_path} | pypy -m sitescripts.stats.bin.logprocesso
r", | |
| 64 environment => ['MAILTO=admins@adblockplus.org,root', 'PYTHONPATH=/opt/sites
cripts'], | |
| 65 user => stats, | 33 user => stats, |
| 66 hour => 0, | |
| 67 minute => 25, | |
| 68 } | |
| 69 | |
| 70 cron {'geoipdb_update': | |
| 71 ensure => present, | |
| 72 require => File['/opt/cron_geoipdb_update.sh'], | |
| 73 command => '/opt/cron_geoipdb_update.sh', | |
| 74 environment => ['MAILTO=admins@adblockplus.org,root'], | |
| 75 user => root, | |
| 76 hour => 3, | |
| 77 minute => 15, | |
| 78 monthday => 3, | |
| 79 } | 34 } |
| 80 } | 35 } |
| LEFT | RIGHT |