summaryrefslogtreecommitdiff
path: root/manifests/base.pp
diff options
context:
space:
mode:
authorvarac <varacanero@zeromail.org>2013-03-10 18:33:55 +0100
committervarac <varacanero@zeromail.org>2013-03-10 18:33:55 +0100
commit659e3604a310029000c9db8774c7caba70a3e291 (patch)
tree9e21cf4d4e69e4b7b104ec8afbd908161429b930 /manifests/base.pp
parent7793c80224dbe0f1baf33075bf7396b11aeb229d (diff)
mostly finished bigcouch support
Diffstat (limited to 'manifests/base.pp')
-rw-r--r--manifests/base.pp64
1 files changed, 58 insertions, 6 deletions
diff --git a/manifests/base.pp b/manifests/base.pp
index d4d50d1..45d991b 100644
--- a/manifests/base.pp
+++ b/manifests/base.pp
@@ -1,5 +1,13 @@
class couchdb::base {
+ if $::couchdb::bigcouch == true {
+ $couchdb_user = 'bigcouch'
+ include couchdb::bigcouch
+ } else {
+ $couchdb_user = 'couchdb'
+ }
+
+
package {'couchdb':
ensure => present,
}
@@ -18,12 +26,56 @@ class couchdb::base {
}
File['/usr/local/bin/couch-doc-update'] -> Couchdb::Update <| |>
- file { '/usr/local/bin/couch-doc-update':
- source => 'puppet:///modules/couchdb/couch-doc-update',
- mode => '0755',
- owner => 'root',
- group => 'root',
- require => Package['couchrest'],
+
+ file {
+ '/usr/local/bin/couch-doc-update':
+ source => 'puppet:///modules/couchdb/couch-doc-update',
+ mode => '0755',
+ owner => 'root',
+ group => 'root',
+ require => Package['couchrest'];
+
+ '/etc/couchdb/local.ini':
+ source => [ "puppet:///modules/site_couchdb/${::fqdn}/local.ini",
+ 'puppet:///modules/site_couchdb/local.ini',
+ 'puppet:///modules/couchdb/local.ini' ],
+ notify => Service[couchdb],
+ owner => $couchdb_user,
+ group => $couchdb_user,
+ mode => '0660',
+ require => Package['couchdb'];
+
+ '/etc/couchdb/local.d':
+ ensure => directory,
+ require => Package['couchdb'];
}
+ # salt and encrypt admin pw
+ $sha1_and_salt = str2sha1_and_salt($::couchdb::admin_pw)
+ $sha1 = $sha1_and_salt[0]
+ $salt = $sha1_and_salt[1]
+
+ file {'/etc/couchdb/local.d/admin.ini':
+ content => "[admins]
+admin = -hashed-${sha1},${salt}
+",
+ mode => '0600',
+ owner => $couchdb_user,
+ group => $couchdb_user,
+ notify => Service[couchdb],
+ require => File ['/etc/couchdb/local.d'];
+ }
+
+ exec { 'couchdb_restart':
+ command => $::couchdb::bigcouch ? {
+ true => '/etc/init.d/bigcouch restart; sleep 6',
+ default => '/etc/init.d/couchdb restart; sleep 6',
+ },
+ path => ['/bin', '/usr/bin',],
+ subscribe => File['/etc/couchdb/local.d/admin.ini',
+ '/etc/couchdb/local.ini'],
+ refreshonly => true
+ }
+
+
}