Adamw has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/96227


Change subject: SmashPig payments listener and role
......................................................................

SmashPig payments listener and role

Change-Id: Ie4484a909180325ea27e37419216c845bac15936
---
M .gitignore
M puppet/manifests/roles.pp
A puppet/modules/composer/manifests/init.pp
M puppet/modules/postfix/manifests/init.pp
A puppet/modules/smashpig/manifests/init.pp
A puppet/modules/smashpig/templates/apache-site.erb
A puppet/modules/smashpig/templates/config.php.erb
7 files changed, 77 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/vagrant 
refs/changes/27/96227/1

diff --git a/.gitignore b/.gitignore
index 98f6efd..6a43f6b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,6 +10,7 @@
 /settings.d
 !/settings.d/README
 !/settings.d/puppet-managed/README
+/SmashPig
 /twig
 /puppet/manifests/manifests.d
 !/puppet/manifests/manifests.d/README
diff --git a/puppet/manifests/roles.pp b/puppet/manifests/roles.pp
index 2c7fc28..943d5fc 100644
--- a/puppet/manifests/roles.pp
+++ b/puppet/manifests/roles.pp
@@ -79,6 +79,7 @@
 class role::fundraising {
     include role::centralnotice
     include role::payments
+    include role::payments::listener
     include role::message_queue
     include role::crm
 
@@ -158,6 +159,10 @@
     }
 }
 
+class role::payments::listener {
+    include ::smashpig
+}
+
 class role::message_queue {
     class { '::activemq': }
 }
diff --git a/puppet/modules/composer/manifests/init.pp 
b/puppet/modules/composer/manifests/init.pp
new file mode 100644
index 0000000..269ac95
--- /dev/null
+++ b/puppet/modules/composer/manifests/init.pp
@@ -0,0 +1,8 @@
+class composer {
+    include ::php
+
+    exec { 'fetch and install composer':
+        command => "curl -sS https://getcomposer.org/installer | php -- 
--install-dir=/usr/local/bin",
+        creates => "/usr/local/bin/composer.phar",
+    }
+}
diff --git a/puppet/modules/postfix/manifests/init.pp 
b/puppet/modules/postfix/manifests/init.pp
index 781dcbd..39a1ae6 100644
--- a/puppet/modules/postfix/manifests/init.pp
+++ b/puppet/modules/postfix/manifests/init.pp
@@ -7,7 +7,7 @@
         owner => root,
         group => root,
         mode => 0644,
-        content => template('postfix/main.cf.erb');
+        content => template('postfix/main.cf.erb'),
     }
 
     #TODO: postmap
@@ -15,7 +15,8 @@
         owner => root,
         group => root,
         mode => 0644,
-        content => template('postfix/virtual.erb');
+        content => template('postfix/virtual.erb'),
+        require => Package['postfix'],
     }
 
     exec { 'postmap virtual':
@@ -30,6 +31,6 @@
             Exec['postmap virtual'],
         ],
         ensure => running,
-        enable => true;
+        enable => true,
     }
 }
diff --git a/puppet/modules/smashpig/manifests/init.pp 
b/puppet/modules/smashpig/manifests/init.pp
new file mode 100644
index 0000000..66b302d
--- /dev/null
+++ b/puppet/modules/smashpig/manifests/init.pp
@@ -0,0 +1,40 @@
+class smashpig(
+    $site_name = 'listener.dev',
+    $dir = '/vagrant/SmashPig',
+) {
+    include ::php
+    include ::apache
+    include ::git
+    include ::composer
+
+    @git::clone { 'wikimedia/fundraising/SmashPig':
+        directory => $dir,
+    }
+
+    file { "${dir}/config.php":
+        content => template('smashpig/config.php.erb'),
+        require => Git::Clone['wikimedia/fundraising/SmashPig'],
+    }
+
+    file { "${dir}/PublicHttp/.htaccess":
+        source => "${dir}/PublicHttp/.htaccess.sample",
+        require => Git::Clone['wikimedia/fundraising/SmashPig'],
+    }
+
+    exec { 'composer dependencies':
+        command => '/usr/local/bin/composer.phar install',
+        creates => "${dir}/vendor/symfony",
+        cwd => $dir,
+    }
+
+    @apache::site { 'listener':
+        ensure => present,
+        content => template('smashpig/apache-site.erb'),
+        require => [
+            File["${dir}/config.php"],
+            File["${dir}/PublicHttp/.htaccess"],
+            Exec['composer dependencies'],
+            Apache::Mod['rewrite'],
+        ],
+    }
+}
diff --git a/puppet/modules/smashpig/templates/apache-site.erb 
b/puppet/modules/smashpig/templates/apache-site.erb
new file mode 100644
index 0000000..1e98f1e
--- /dev/null
+++ b/puppet/modules/smashpig/templates/apache-site.erb
@@ -0,0 +1,8 @@
+DocumentRoot "<%= scope.lookupvar('smashpig::dir') %>/PublicHttp"
+
+ServerName <%= scope.lookupvar('smashpig::site_name') %>
+
+<Directory "<%= scope.lookupvar('smashpig::dir') %>/PublicHttp">
+    Options -Indexes
+    AllowOverride all
+</Directory>
diff --git a/puppet/modules/smashpig/templates/config.php.erb 
b/puppet/modules/smashpig/templates/config.php.erb
new file mode 100644
index 0000000..c60984f
--- /dev/null
+++ b/puppet/modules/smashpig/templates/config.php.erb
@@ -0,0 +1,11 @@
+<?php
+
+// TODO: set test provider URLs
+
+$config = array(
+    'default' => array(
+        'stomp' => array(
+            'lib-path' => "<%= scope.lookupvar('crm::dir') 
%>/sites/all/modules/queue2civicrm/Stomp.php",
+        ),
+    ),
+);

-- 
To view, visit https://gerrit.wikimedia.org/r/96227
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie4484a909180325ea27e37419216c845bac15936
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/vagrant
Gerrit-Branch: master
Gerrit-Owner: Adamw <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to