diff options
author | Micah Anderson <micah@riseup.net> | 2013-03-19 14:50:14 -0400 |
---|---|---|
committer | Micah Anderson <micah@riseup.net> | 2013-03-19 14:50:14 -0400 |
commit | 036506d757423241618774a639778fc9be1413cd (patch) | |
tree | 87e0122c332763337d17abbf55432afbdbc3bc73 /puppet/modules/site_webapp | |
parent | 1d14c34e7f4456452d289b23eb1d2ebf00de11b2 (diff) |
Migrate the couchdb design documents during webapp deploy (#1976)
Diffstat (limited to 'puppet/modules/site_webapp')
-rw-r--r-- | puppet/modules/site_webapp/files/migrate_design_documents | 13 | ||||
-rw-r--r-- | puppet/modules/site_webapp/manifests/couchdb.pp | 14 |
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']; + } |