diff options
author | varac <varacanero@zeromail.org> | 2013-03-10 18:33:55 +0100 |
---|---|---|
committer | varac <varacanero@zeromail.org> | 2013-03-10 18:33:55 +0100 |
commit | 659e3604a310029000c9db8774c7caba70a3e291 (patch) | |
tree | 9e21cf4d4e69e4b7b104ec8afbd908161429b930 /manifests/base.pp | |
parent | 7793c80224dbe0f1baf33075bf7396b11aeb229d (diff) |
mostly finished bigcouch support
Diffstat (limited to 'manifests/base.pp')
-rw-r--r-- | manifests/base.pp | 64 |
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 + } + + } |