summaryrefslogtreecommitdiff
path: root/manifests/create_db.pp
blob: 690892c455881ece5de6e3c62746b76c0ee92532 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
define couchdb::create_db (
  $host='127.0.0.1:5984',
  $admins="{\"names\": [], \"roles\": [] }",
  $readers="{\"names\": [], \"roles\": [] }" )
{

  Couchdb::Query["create_db_${name}"] -> Couchdb::Document["${name}_security"]

  couchdb::query { "create_db_${name}":
    cmd    => 'PUT',
    host   => $host,
    path   => $name,
    unless => "/usr/bin/curl -s --netrc-file /etc/couchdb/couchdb.netrc ${host}/${name} | grep -q -v '{\"error\":\"not_found\"'"
  }

  couchdb::document { "${name}_security":
    db   => $name,
    id   => '_security',
    host => $host,
    data => "{ \"admins\": ${admins}, \"readers\": ${readers} }"
  }
}