1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
  | 
class couchdb::bigcouch inherits couchdb::base {
  file {
    '/opt/bigcouch':
      ensure => directory,
      mode   => '0755';
    '/etc/couchdb':
      ensure => directory,
      mode   => '0755',
      before => Package['couchdb'];
    '/opt/bigcouch/etc':
      ensure => link,
      target => '/etc/couchdb',
      before => Package['couchdb'];
  }
  # there's no bigcouch in the official debian repo, you need
  # to setup a repository for that. You can use class
  # couchdb::bigcouch::package::cloudant for unauthenticated 0.4.0 packages,
  # or site_apt::leap_repo from the leap_platfrom repository
  # for signed 0.4.2 packages
  Package['couchdb'] {
    name    => 'bigcouch'
  }
  file { '/opt/bigcouch/etc/vm.args':
    content => template('couchdb/bigcouch/vm.args'),
    mode    => '0640',
    owner   => 'bigcouch',
    group   => 'bigcouch',
    require => Package['couchdb'],
    notify  => Service[couchdb]
  }
  file { '/opt/bigcouch/etc/default.ini':
    content => template('couchdb/bigcouch/default.ini'),
    mode    => '0640',
    owner   => 'bigcouch',
    group   => 'bigcouch',
    require => Package['couchdb'],
    notify  => Service[couchdb]
  }
  Service['couchdb'] {
    name     => 'bigcouch'
  }
}
  |