summaryrefslogtreecommitdiff
path: root/puppet/modules
diff options
context:
space:
mode:
authorMicah Anderson <micah@riseup.net>2013-03-19 14:50:14 -0400
committerMicah Anderson <micah@riseup.net>2013-03-19 14:50:14 -0400
commit036506d757423241618774a639778fc9be1413cd (patch)
tree87e0122c332763337d17abbf55432afbdbc3bc73 /puppet/modules
parent1d14c34e7f4456452d289b23eb1d2ebf00de11b2 (diff)
Migrate the couchdb design documents during webapp deploy (#1976)
Diffstat (limited to 'puppet/modules')
-rw-r--r--puppet/modules/site_webapp/files/migrate_design_documents13
-rw-r--r--puppet/modules/site_webapp/manifests/couchdb.pp14
2 files changed, 26 insertions, 1 deletions
diff --git a/puppet/modules/site_webapp/files/migrate_design_documents b/puppet/modules/site_webapp/files/migrate_design_documents
new file mode 100644
index 00000000..3441e086
--- /dev/null
+++ b/puppet/modules/site_webapp/files/migrate_design_documents
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+cd /srv/leap-webapp
+
+# use admin credentials
+mv config/couchdb.yml.admin config/couchdb.yml
+
+# needs to be run twice
+/usr/bin/bundle exec rake couchrest:migrate
+/usr/bin/bundle exec rake couchrest:migrate
+
+# use user credentials and remove admin credentials
+mv config/couchdb.yml.webapp config/couchdb.yml
diff --git a/puppet/modules/site_webapp/manifests/couchdb.pp b/puppet/modules/site_webapp/manifests/couchdb.pp
index f3488227..095cdb9d 100644
--- a/puppet/modules/site_webapp/manifests/couchdb.pp
+++ b/puppet/modules/site_webapp/manifests/couchdb.pp
@@ -20,6 +20,12 @@ class site_webapp::couchdb {
owner => leap-webapp,
group => leap-webapp,
mode => '0600';
+
+ '/usr/local/sbin/migrate_design_documents':
+ source => 'puppet:///modules/site_webapp/migrate_design_documents',
+ owner => root,
+ group => root,
+ mode => '0744';
}
class { 'site_webapp::couchdb_stunnel':
@@ -27,4 +33,10 @@ class site_webapp::couchdb {
cert => $cert,
ca => $ca
}
-}
+
+ exec { 'migrate_design_documents':
+ cwd => '/srv/leap-webapp',
+ commmand => '/usr/local/sbin/migrate_design_documents',
+ require => Exec['bundler_update'],
+ notify => Service['apache'];
+ }