summaryrefslogtreecommitdiff
path: root/manifests/mirror_db.pp
diff options
context:
space:
mode:
authorelijah <elijah@riseup.net>2014-06-25 18:03:06 -0700
committerelijah <elijah@riseup.net>2014-06-25 18:03:06 -0700
commit8bc5ed434c124457b7467140152602c67a9547c5 (patch)
treecb017e0fb762d27ab69a6f74c5d9c6a9aab85499 /manifests/mirror_db.pp
parentc8f5443e0998d3d3d43505ff5a6fdf8c438d6c24 (diff)
parent14f863f54c46bdf6f681c8a5ba660aba6a7419eb (diff)
Merge branch 'azul-feature/mirror_plain_couch'
Diffstat (limited to 'manifests/mirror_db.pp')
-rw-r--r--manifests/mirror_db.pp21
1 files changed, 21 insertions, 0 deletions
diff --git a/manifests/mirror_db.pp b/manifests/mirror_db.pp
new file mode 100644
index 0000000..7615c65
--- /dev/null
+++ b/manifests/mirror_db.pp
@@ -0,0 +1,21 @@
+define couchdb::mirror_db (
+ $host='127.0.0.1:5984',
+ $from='',
+ $to='',
+ $user='replication',
+ $role='replication'
+ )
+{
+ $source = "${from}/${name}"
+ if $to == '' { $target = $name }
+ else { $target = "${to}/${name}" }
+
+ couchdb::document { "${name}_replication":
+ db => "_replicator",
+ id => "${name}_replication",
+ netrc => "/etc/couchdb/couchdb-${user}.netrc",
+ host => $host,
+ data => "{ \"source\": \"${source}\", \"target\": \"${target}\", \"continuous\": true, \"user_ctx\": { \"name\": \"${user}\", \"roles\": [\"${role}\"] } }",
+ require => Couchdb::Query["create_db_${name}"]
+ }
+}