LEFT | RIGHT |
1 class filtermaster { | 1 class filtermaster { |
2 Cron { | 2 Cron { |
3 #TODO change email | 3 #TODO change email |
4 environment => ['MAILTO=root', 'PYTHONPATH=/opt/sitescripts'], | 4 environment => ['MAILTO=root', 'PYTHONPATH=/opt/sitescripts'], |
5 } | 5 } |
6 | 6 |
7 class {'ssh': | 7 class {'ssh': |
8 custom_configuration => 'Match User rsync | 8 custom_configuration => 'Match User rsync |
9 AllowTcpForwarding no | 9 AllowTcpForwarding no |
10 X11Forwarding no | 10 X11Forwarding no |
11 AllowAgentForwarding no | 11 AllowAgentForwarding no |
12 GatewayPorts no | 12 GatewayPorts no |
13 ForceCommand rsync --server --sender -vltprz --delete-excluded . /home/rsync
/generated/data/' | 13 ForceCommand rsync --server --sender -vltprz --delete-excluded . /home/rsync
/generated/data/' |
14 } | 14 } |
15 | 15 |
16 user {'rsync': | 16 user {'rsync': |
17 ensure => present, | 17 ensure => present, |
18 comment => 'Filter list mirror user', | 18 comment => 'Filter list mirror user', |
19 home => '/home/rsync', | 19 home => '/home/rsync', |
20 managehome => true | 20 managehome => true |
21 } | 21 } |
22 | 22 |
23 file {'/home/rsync/update_repos.sh': | 23 file {'/home/rsync/update_repos.sh': |
24 ensure => file, | 24 ensure => file, |
25 owner => rsync, | 25 owner => rsync, |
26 mode => 0700, | 26 mode => 0700, |
27 source => 'puppet:///modules/filtermaster/update_repos.sh' | 27 source => 'puppet:///modules/filtermaster/update_repos.sh' |
28 } | 28 } |
29 | 29 |
30 file {'/home/rsync/.ssh': | |
31 ensure => directory, | |
32 owner => rsync, | |
33 mode => 0600 | |
34 } | |
35 | |
36 file {'/home/rsync/subscription': | 30 file {'/home/rsync/subscription': |
37 ensure => directory, | 31 ensure => directory, |
38 owner => rsync | 32 owner => rsync |
39 } | 33 } |
40 | 34 |
41 file {'/home/rsync/generated': | 35 file {'/home/rsync/generated': |
42 ensure => directory, | 36 ensure => directory, |
43 owner => rsync | 37 owner => rsync |
44 } | 38 } |
45 | 39 |
| 40 file {'/home/rsync/.ssh': |
| 41 ensure => directory, |
| 42 owner => rsync, |
| 43 mode => 0600 |
| 44 } |
| 45 |
46 file {'/home/rsync/.ssh/authorized_keys': | 46 file {'/home/rsync/.ssh/authorized_keys': |
47 ensure => file, | 47 ensure => file, |
48 owner => rsync, | 48 owner => rsync, |
49 mode => 0600, | 49 mode => 0600, |
50 source => 'puppet:///modules/private/filtermaster-authorized_keys' | 50 source => 'puppet:///modules/private/rsync@easylist-downloads.adblockplus.or
g.pub' |
51 } | 51 } |
52 | 52 |
53 file {'/etc/ssh/ssh_host_rsa_key': | 53 file {'/etc/ssh/ssh_host_rsa_key': |
54 notify => Service["ssh"], | 54 require => Package['openssh-server'], |
| 55 notify => Service['ssh'], |
55 ensure => file, | 56 ensure => file, |
56 owner => root, | 57 owner => root, |
57 group => root, | 58 group => root, |
58 source => 'puppet:///modules/private/filtermaster.adblockplus.org' | 59 source => 'puppet:///modules/private/filtermaster.adblockplus.org_ssh.key' |
59 } | 60 } |
60 | 61 |
61 file {'/etc/ssh/ssh_host_rsa_key.pub': | 62 file {'/etc/ssh/ssh_host_rsa_key.pub': |
62 notify => Service["ssh"], | 63 require => Package['openssh-server'], |
| 64 notify => Service['ssh'], |
63 ensure => file, | 65 ensure => file, |
64 owner => root, | 66 owner => root, |
65 group => root, | 67 group => root, |
66 source => 'puppet:///modules/private/filtermaster.adblockplus.org.pub' | 68 source => 'puppet:///modules/private/filtermaster.adblockplus.org_ssh.pub' |
67 } | 69 } |
68 | 70 |
69 package {['p7zip-full']:} | 71 package {['p7zip-full']:} |
70 | 72 |
71 define repo_download( ) { | 73 define repo_download() { |
72 exec { "fetch_${title}": | 74 exec {"fetch_${title}": |
73 command => "hg clone https://hg.adblockplus.org/${title} /home/rsync/subs
cription/${title}", | 75 command => "hg clone https://hg.adblockplus.org/${title} /home/rsync/subsc
ription/${title}", |
74 path => ["/usr/bin/", "/bin/"], | 76 path => ["/usr/bin/", "/bin/"], |
75 require => Package['mercurial'], | 77 require => Package['mercurial'], |
76 user => rsync, | 78 user => rsync, |
77 timeout => 0, | 79 timeout => 0, |
78 onlyif => "test ! -d /home/rsync/subscription/${title}" | 80 onlyif => "test ! -d /home/rsync/subscription/${title}" |
79 } | 81 } |
80 } | 82 } |
81 | 83 |
82 repo_download {['easylist', | 84 repo_download {['easylist', |
83 'easylistgermany', | 85 'easylistgermany', |
84 'easylistitaly', | 86 'easylistitaly', |
85 'easylistcombinations', | 87 'easylistcombinations', |
86 'malwaredomains', | 88 'malwaredomains', |
87 'ruadlist', | 89 'ruadlist', |
88 'listefr', | 90 'listefr', |
89 'exceptionrules', | 91 'exceptionrules', |
90 'easylistdutch', | 92 'easylistdutch', |
91 'facebookfilters', | 93 'facebookfilters', |
92 'antiadblockfilters' | 94 'antiadblockfilters' |
93 ]: | 95 ]: |
94 } | 96 } |
95 | 97 |
96 cron {'update_subscription': | 98 cron {'update_subscription': |
97 ensure => present, | 99 ensure => present, |
98 command => "python -m sitescripts.subscriptions.bin.updateSubscriptionDownlo
ads 3>&1 1>/dev/null 2>&3 | perl -pe 's/^/\"[\" . scalar localtime() . \"] \"/e'
>> /tmp/subscription_errors && chmod 666 /tmp/subscription_errors 2>/dev/null", | 100 command => "python -m sitescripts.subscriptions.bin.updateSubscriptionDownlo
ads 3>&1 1>/dev/null 2>&3 | perl -pe 's/^/\"[\" . scalar localtime() . \"] \"/e'
>> /tmp/subscription_errors && chmod 666 /tmp/subscription_errors 2>/dev/null", |
99 user => rsync, | 101 user => rsync, |
100 require => [ | 102 require => User['rsync'], |
101 User['rsync'] | |
102 ], | |
103 minute => '*/10' | 103 minute => '*/10' |
104 } | 104 } |
105 | 105 |
106 cron {'update_malware': | 106 cron {'update_malware': |
107 ensure => present, | 107 ensure => present, |
108 command => "python -m sitescripts.subscriptions.bin.updateMalwareDomainsList
", | 108 command => "python -m sitescripts.subscriptions.bin.updateMalwareDomainsList
", |
109 user => rsync, | 109 user => rsync, |
110 require => [ | 110 require => User['rsync'], |
111 User['rsync'] | |
112 ], | |
113 hour => '*/6', | 111 hour => '*/6', |
114 minute => 15 | 112 minute => 15 |
115 } | 113 } |
116 | 114 |
117 cron {'update_repos': | 115 cron {'update_repos': |
118 ensure => present, | 116 ensure => present, |
119 command => "/home/rsync/update_repos.sh", | 117 command => "/home/rsync/update_repos.sh", |
120 user => rsync, | 118 user => rsync, |
121 require => [ | 119 require => [ |
122 User['rsync'], | 120 User['rsync'], |
123 File['/home/rsync/update_repos.sh'] | 121 File['/home/rsync/update_repos.sh'] |
124 ], | 122 ], |
125 minute => '8-58/10' | 123 minute => '8-58/10' |
126 } | 124 } |
127 | 125 |
128 class {'sitescripts': | 126 class {'sitescripts': |
129 sitescriptsini_source => 'puppet:///modules/filtermaster/sitescripts' | 127 sitescriptsini_source => 'puppet:///modules/filtermaster/sitescripts' |
130 } | 128 } |
131 } | 129 } |
LEFT | RIGHT |