diff options
Diffstat (limited to 'puppet/modules')
| m--------- | puppet/modules/backupninja | 0 | ||||
| -rw-r--r-- | puppet/modules/site_couchdb/manifests/backup.pp | 12 | ||||
| -rw-r--r-- | puppet/modules/site_couchdb/manifests/init.pp | 25 | 
3 files changed, 37 insertions, 0 deletions
diff --git a/puppet/modules/backupninja b/puppet/modules/backupninja new file mode 160000 +Subproject daeb1a1f112a4dbf6b39565f0dea461e46a6468 diff --git a/puppet/modules/site_couchdb/manifests/backup.pp b/puppet/modules/site_couchdb/manifests/backup.pp new file mode 100644 index 00000000..ef505693 --- /dev/null +++ b/puppet/modules/site_couchdb/manifests/backup.pp @@ -0,0 +1,12 @@ +class site_couchdb::backup { + +  # general backupninja config +  backupninja::config { 'backupninja_config': +    usecolors     => false, +  } + +  # dump all DBs locally to /var/backups/couchdb once a day +  backupninja::sh { 'couchdb_backup': +    command_string => "cd /srv/leap/couchdb/scripts \n./couchdb_dumpall.sh" +  } +} diff --git a/puppet/modules/site_couchdb/manifests/init.pp b/puppet/modules/site_couchdb/manifests/init.pp index 5d77c994..684d3ab7 100644 --- a/puppet/modules/site_couchdb/manifests/init.pp +++ b/puppet/modules/site_couchdb/manifests/init.pp @@ -16,6 +16,8 @@ class site_couchdb {    $couchdb_soledad_pw     = $couchdb_soledad['password']    $couchdb_soledad_salt   = $couchdb_soledad['salt'] +  $couchdb_backup         = $couchdb_config['backup'] +    $bigcouch_config        = $couchdb_config['bigcouch']    $bigcouch_cookie        = $bigcouch_config['cookie'] @@ -96,4 +98,27 @@ class site_couchdb {    include site_shorewall::couchdb    include site_shorewall::couchdb::bigcouch + +  # /etc/couchdb/couchdb.netrc is deployed by the couchdb module +  # needed for couchdb_scripts (backup) and makes life easier +  # for the admin (i.e. using curl/wget without passing credentials) + +  file { '/root/.netrc': +    ensure => link, +    target => '/etc/couchdb/couchdb.netrc' +  } + +  file { '/srv/leap/couchdb': +    ensure => directory +  } + +  vcsrepo { '/srv/leap/couchdb/scripts': +    ensure   => present, +    provider => git, +    source   => 'https://leap.se/git/couchdb_scripts', +    revision => 'origin/master', +    require  => File['/srv/leap/couchdb'] +  } + +  if $couchdb_backup { include site_couchdb::backup }  }  | 
