OLD | NEW |
1 node 'issues1' { | 1 node 'issues1' { |
2 include base | 2 |
| 3 include base, private::trac |
3 | 4 |
4 class {'trac': | 5 class {'trac': |
5 domain => 'issues.adblockplus.org', | 6 domain => 'issues.adblockplus.org', |
6 certificate => 'issues.adblockplus.org_sslcert.pem', | 7 certificate => 'issues.adblockplus.org_sslcert.pem', |
7 private_key => 'issues.adblockplus.org_sslcert.key', | 8 private_key => 'issues.adblockplus.org_sslcert.key', |
8 is_default => true, | 9 is_default => true, |
9 } | 10 } |
10 | 11 |
| 12 trac::instance {'trac': |
| 13 config => 'trac/trac.ini.erb', |
| 14 description => 'Adblock Plus Issue Tracker', |
| 15 environment => 'environment', |
| 16 location => '/', |
| 17 logo => 'adblockplus_logo.png', |
| 18 database => 'trac', |
| 19 permissions => "puppet:///modules/trac/permissions.csv", |
| 20 } |
| 21 |
| 22 trac::instance {'orders': |
| 23 config => 'trac/orders.ini.erb', |
| 24 description => 'Eyeo Order System', |
| 25 environment => 'environment-orders', |
| 26 location => '/orders', |
| 27 logo => 'eyeo_logo.png', |
| 28 database => 'trac_orders', |
| 29 permissions => "puppet:///modules/trac/order-permissions.csv", |
| 30 } |
| 31 |
| 32 # Transforming the auth_cookie table of the "new" Trac project into an |
| 33 # insertable view for the "old" project's table of the same name avoids |
| 34 # the need to convert the entire auth to htpasswd-file handling, which |
| 35 # would be the official way to go for achieving a shared authentication. |
| 36 exec { 'trac_auth_cookie_federated': |
| 37 command => "mysql -utrac -p'${private::trac::database_password}' trac_orders
--execute ' |
| 38 CREATE VIEW auth_cookie_view AS SELECT * FROM trac.auth_cookie; |
| 39 RENAME TABLE auth_cookie TO auth_cookie_original, auth_cookie_view TO auth
_cookie;'", |
| 40 unless => "mysql -utrac -p'${private::trac::database_password}' trac_orders
--execute ' |
| 41 SHOW CREATE TABLE auth_cookie' | grep VIEW", |
| 42 path => "/usr/bin:/usr/sbin:/bin:/usr/local/bin", |
| 43 require => [ |
| 44 Exec["deploy_trac"], |
| 45 Exec["deploy_orders"], |
| 46 ], |
| 47 } |
| 48 |
| 49 # Synchronizing e-mail and password information between the project |
| 50 # allows for logging in from any entry point - whilst maintaining a |
| 51 # registration form (and process) in one project only. |
| 52 cron {'trac_session_attribute_sync': |
| 53 ensure => present, |
| 54 user => trac, |
| 55 minute => '*/30', |
| 56 command => "mysql -utrac -p'${private::trac::database_password}' trac_orders
--execute ' \ |
| 57 INSERT INTO session_attribute (sid, authenticated, name, value) SELECT sid
, authenticated, name, value \ |
| 58 FROM trac.session_attribute WHERE authenticated = 1 AND name IN (\"email\"
, \"password\") \ |
| 59 ON DUPLICATE KEY UPDATE value=VALUES(value) ' >/dev/null |
| 60 ", |
| 61 require => Exec['trac_auth_cookie_federated'], |
| 62 } |
| 63 |
11 class {'nagios::client': | 64 class {'nagios::client': |
12 server_address => 'monitoring.adblockplus.org' | 65 server_address => 'monitoring.adblockplus.org' |
13 } | 66 } |
14 } | 67 } |
OLD | NEW |