Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Delta Between Two Patch Sets: modules/trac/manifests/init.pp

Issue 5735669590654976: #753 - set up an order system to let eyeo employees file order requests (Closed)
Left Patch Set: Created July 15, 2014, 2:47 p.m.
Right Patch Set: #753 - set up an order system to let eyeo employees file order requests Created Aug. 6, 2014, 12:38 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
Left: Side by side diff | Download
Right: Side by side diff | Download
« no previous file with change/comment | « modules/trac/files/trac.ini ('k') | modules/trac/templates/fcgi.conf.erb » ('j') | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
1 class trac( 1 class trac(
2 $domain, 2 $domain,
3 $certificate, 3 $certificate,
4 $private_key, 4 $private_key,
5 $description = "Issue Tracker", 5 $fcgi_config_dir = '/etc/nginx/trac.d',
6 $configuration = "trac/trac.ini.erb",
7 $permissions = "puppet:///modules/trac/permissions.csv",
8 $is_default = false) inherits private::trac { 6 $is_default = false) inherits private::trac {
7
9 package {['python-mysqldb','python-pip','subversion', 'tofrodos', 'graphviz']: 8 package {['python-mysqldb','python-pip','subversion', 'tofrodos', 'graphviz']:
10 ensure => present 9 ensure => present
11 } 10 }
12 11
13 include nginx, spawn-fcgi 12 include nginx, spawn-fcgi
14 13
14 file {$fcgi_config_dir:
15 ensure => directory,
16 owner => 'root',
17 mode => 755,
18 require => Package['nginx'],
19 }
20
15 nginx::hostconfig {$domain: 21 nginx::hostconfig {$domain:
16 source => 'puppet:///modules/trac/site.conf', 22 content => "include $fcgi_config_dir/*;",
17 is_default => $is_default, 23 is_default => $is_default,
18 certificate => $certificate, 24 certificate => $certificate,
19 private_key => $private_key, 25 private_key => $private_key,
20 log => 'access_log_trac' 26 log => 'access_log_trac',
27 require => File[$fcgi_config_dir],
21 } 28 }
22 29
23 user {'trac': 30 user {'trac':
24 ensure => present, 31 ensure => present,
25 comment => 'User of the trac installation', 32 comment => 'User of the trac installation',
26 home => '/home/trac', 33 home => '/home/trac',
27 managehome => true 34 managehome => true
28 } 35 }
29 36
30 class {'mysql::server': 37 class {'mysql::server':
31 root_password => $database_root_password 38 root_password => $database_root_password,
32 }
33
34 mysql::db {'trac':
35 user => 'trac',
36 password => $database_password,
37 host => 'localhost',
38 grant => ['all'],
39 charset => 'utf8',
40 collate => 'utf8_bin',
41 require => Class['mysql::server']
42 } 39 }
43 40
44 Exec { 41 Exec {
45 path => '/usr/bin:/usr/sbin:/bin:/usr/local/bin', 42 path => '/usr/bin:/usr/sbin:/bin:/usr/local/bin',
46 } 43 }
47 44
48 exec { 'install_trac': 45 exec { 'install_trac':
49 command => "pip install Trac==1.0.1", 46 command => "pip install Trac==1.0.1",
50 require => Package['python-pip'], 47 require => Package['python-pip'],
51 unless => "python -c 'import trac,sys;sys.exit(0 if trac.__version__ == \"1. 0.1\" else 1)'", 48 unless => "python -c 'import trac,sys;sys.exit(0 if trac.__version__ == \"1. 0.1\" else 1)'",
52 }
53
54 exec { 'trac_env':
55 command => "trac-admin /home/trac/environment initenv \"$description\" mysql ://trac:${database_password}@localhost:3306/trac",
56 require => [
57 Exec['install_trac'],
58 Mysql_grant['trac@localhost/trac.*']
59 ],
60 user => trac,
61 unless => "test -d /home/trac/environment"
62 } 49 }
63 50
64 exec { 'install_BlackMagicTicketTweaks': 51 exec { 'install_BlackMagicTicketTweaks':
65 command => "pip install svn+http://trac-hacks.org/svn/blackmagictickettweaks plugin/0.12/", 52 command => "pip install svn+http://trac-hacks.org/svn/blackmagictickettweaks plugin/0.12/",
66 require => Package['subversion', 'python-pip'], 53 require => Package['subversion', 'python-pip'],
67 unless => "python -c 'import blackmagic'", 54 unless => "python -c 'import blackmagic'",
68 } 55 }
69 56
70 exec { 'install_SensitiveTickets': 57 exec { 'install_SensitiveTickets':
71 command => "pip install svn+http://trac-hacks.org/svn/sensitiveticketsplugin /trunk/", 58 command => "pip install svn+http://trac-hacks.org/svn/sensitiveticketsplugin /trunk/",
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 } 101 }
115 102
116 exec { 'install_TracSpamFilter': 103 exec { 'install_TracSpamFilter':
117 command => "pip install svn+http://svn.edgewall.com/repos/trac/plugins/1.0/s pam-filter", 104 command => "pip install svn+http://svn.edgewall.com/repos/trac/plugins/1.0/s pam-filter",
118 require => Package[ 105 require => Package[
119 'spambayes', 106 'spambayes',
120 'python-pip'], 107 'python-pip'],
121 unless => "python -c 'import tracspamfilter'", 108 unless => "python -c 'import tracspamfilter'",
122 } 109 }
123 110
124 file {"/home/trac/environment/conf/trac.ini":
125 ensure => present,
126 content => template($configuration),
127 owner => trac,
128 require => Exec['trac_env']
129 }
130
131 exec { 'install_Tractags': 111 exec { 'install_Tractags':
132 command => "pip install svn+http://trac-hacks.org/svn/tagsplugin/tags/0.7/", 112 command => "pip install svn+http://trac-hacks.org/svn/tagsplugin/tags/0.7/",
133 require => Package['python-pip'], 113 require => Package['python-pip'],
134 unless => "python -c 'import tractags'", 114 unless => "python -c 'import tractags'",
135 } 115 }
136 116
137 file {"/home/trac/htdocs/htdocs/common/adblockplus_logo.png": 117 exec { 'install_PrivateTickets':
118 command => "pip install svn+http://trac-hacks.org/svn/privateticketsplugin/t ags/2.0.2/",
119 require => Package['subversion', 'python-pip'],
120 unless => "python -c 'import privatetickets'",
121 }
122
123 file { '/home/trac/trac.ini':
138 ensure => present, 124 ensure => present,
139 source => 'puppet:///modules/trac/adblockplus_logo.png', 125 source => 'puppet:///modules/trac/trac.ini',
140 owner => trac, 126 owner => 'trac',
141 require => Exec['deploy'] 127 mode => 644,
142 } 128 }
143 129
144 file {"/home/trac/htdocs/htdocs/common/eyeo_logo.png": 130 define instance (
145 ensure => present, 131 $config = 'trac/trac.ini.erb',
146 source => 'puppet:///modules/trac/eyeo_logo.png', 132 $description = 'Issue Tracker',
147 owner => trac, 133 $location = '/',
148 require => Exec['deploy'] 134 $logo = 'puppet:///modules/trac/logo.png',
149 } 135 $database = 'trac',
150 136 $permissions = 'puppet:///modules/trac/permissions.csv',
151 file {"/home/trac/environment/htdocs/theme.css": 137 $theme = 'puppet:///modules/trac/theme.css') {
152 ensure => present, 138
153 source => 'puppet:///modules/trac/theme.css', 139 $database_password = $private::trac::database_password
154 owner => trac, 140 $environment = "environment-$name"
155 require => Exec['trac_env'] 141
156 } 142 mysql::db {$database:
157 143 user => 'trac',
158 exec {"update_env": 144 password => $database_password,
159 command => "trac-admin /home/trac/environment upgrade", 145 host => 'localhost',
160 user => trac, 146 grant => ['all'],
161 require => [ 147 charset => 'utf8',
162 File['/home/trac/environment/conf/trac.ini'], 148 collate => 'utf8_bin',
163 Exec['install_SensitiveTickets'], 149 require => Class['mysql::server'],
164 Exec['install_BlackMagicTicketTweaks'], 150 }
165 Exec['install_AccountManager'], 151
166 Exec['install_AutocompleteUsers'], 152 $location_base = regsubst($location, '/+$', '')
167 Exec['install_TicketTemplate'], 153
168 Exec['install_NeverNotifyUpdater'], 154 file {"${trac::fcgi_config_dir}/${name}.conf":
169 Exec['install_MasterTickets'], 155 ensure => file,
170 Exec['install_ThemeEngine'], 156 owner => 'root',
171 Exec['install_Tractags'], 157 mode => 644,
172 Exec['install_TracSpamFilter']] 158 content => template('trac/fcgi.conf.erb'),
173 } 159 require => File[$trac::fcgi_config_dir],
174 160 notify => Service['nginx'],
175 exec {"deploy": 161 }
176 command => "trac-admin /home/trac/environment deploy /home/trac/htdocs && fr omdos /home/trac/htdocs/cgi-bin/trac.fcgi && chmod 755 /home/trac/htdocs/cgi-bin /trac.fcgi", 162
177 user => trac, 163 exec {"trac_env_${name}":
178 require => [ 164 command => shellquote(
179 Exec["update_env"], 165 'trac-admin', "/home/trac/$environment", 'initenv', $description,
180 Package["tofrodos"]] 166 "mysql://trac:${database_password}@localhost:3306/$database"),
181 } 167 logoutput => true,
182 168 path => '/usr/bin:/usr/sbin:/bin:/usr/local/bin',
183 spawn-fcgi::pool {"tracd": 169 require => [
184 ensure => present, 170 Exec['install_trac'],
185 fcgi_app => "/home/trac/htdocs/cgi-bin/trac.fcgi", 171 Mysql_grant["trac@localhost/${database}.*"]],
186 socket => "/tmp/trac-fastcgi.sock", 172 user => trac,
187 mode => "0666", 173 unless => "test -d /home/trac/$environment",
188 user => trac, 174 }
189 children => 1, 175
190 require => Exec['deploy'], 176 file {"/home/trac/${environment}/conf/permissions.csv":
191 } 177 ensure => present,
192 178 owner => trac,
193 file {"/home/trac/permissions.csv": 179 source => $permissions,
194 ensure => present, 180 require => Exec["trac_env_$name"],
195 owner => trac, 181 }
196 source => $permissions, 182
183 file {"/home/trac/$environment/conf/trac.ini":
184 ensure => present,
185 content => template($config),
186 owner => trac,
187 require => Exec["trac_env_$name"]
188 }
189
190 file {"/home/trac/$environment/htdocs/theme.css":
191 ensure => present,
192 source => $theme,
193 owner => trac,
194 require => Exec["trac_env_$name"],
195 }
196
197 exec {"update_env_$name":
198 command => "trac-admin /home/trac/$environment upgrade",
199 user => trac,
200 path => '/usr/bin:/usr/sbin:/bin:/usr/local/bin',
201 require => [
202 File["/home/trac/$environment/conf/trac.ini"],
203 Exec['install_SensitiveTickets'],
204 Exec['install_BlackMagicTicketTweaks'],
205 Exec['install_AccountManager'],
206 Exec['install_AutocompleteUsers'],
207 Exec['install_TicketTemplate'],
208 Exec['install_NeverNotifyUpdater'],
209 Exec['install_MasterTickets'],
210 Exec['install_ThemeEngine'],
211 Exec['install_Tractags'],
212 Exec['install_TracSpamFilter'],
213 Exec['install_PrivateTickets']],
214 }
215
216 exec {"deploy_$name":
217 command => "trac-admin /home/trac/$environment \
218 deploy /home/trac/htdocs-$name \
219 && fromdos /home/trac/htdocs-$name/cgi-bin/trac.fcgi \
220 && chmod 755 /home/trac/htdocs-$name/cgi-bin/trac.fcgi",
221 user => trac,
222 path => '/usr/bin:/usr/sbin:/bin:/usr/local/bin',
223 require => [
224 Exec["update_env_$name"],
225 Package["tofrodos"]],
226 }
227
228 file {"/home/trac/htdocs-$name/htdocs/common/logo.png":
229 ensure => present,
230 source => $logo,
231 owner => trac,
232 require => Exec["deploy_$name"],
233 }
234
235 spawn-fcgi::pool {"tracd_${name}":
236 ensure => present,
237 fcgi_app => "/home/trac/htdocs-$name/cgi-bin/trac.fcgi",
238 socket => "/tmp/${name}-fastcgi.sock",
239 mode => "0666",
240 user => trac,
241 children => 1,
242 require => Exec["deploy_$name"],
243 }
197 } 244 }
198 } 245 }
246
LEFTRIGHT

Powered by Google App Engine
This is Rietveld