]> gitweb.fluxo.info Git - puppet-etherpad.git/commitdiff
Upgrading etherpad and adding ensurable parameter
authorSilvio Rhatto <rhatto@riseup.net>
Sun, 9 Mar 2014 17:47:46 +0000 (14:47 -0300)
committerSilvio Rhatto <rhatto@riseup.net>
Sun, 9 Mar 2014 17:47:46 +0000 (14:47 -0300)
manifests/init.pp

index 1cadc5e732c98f672358fc8603a4a5b8a9795457..82ce3f8a46bc2ffa9502fa66687b986d5d97e812 100644 (file)
@@ -1,7 +1,8 @@
 class etherpad(
-  $db_password    = hiera('etherpad::db_password', ''),
+  $db_password    = hiera('etherpad::db_password',     ''),
   $admin_password = hiera('etherpadd::admin_password', ''),
-  $api_key        = hiera('etherpad::api_key', '')
+  $api_key        = hiera('etherpad::api_key',         ''),
+  $ensure         = hiera('etherpad::ensure',          'present')
 ) {
 
   case $db_password {
@@ -9,27 +10,29 @@ class etherpad(
   }
 
   mysql_database { 'etherpad':
-    ensure => present,
+    ensure => $ensure,
   }
 
   mysql_user { "etherpad@%":
-    ensure        => present,
+    ensure        => $ensure,
     password_hash => mysql_password($db_password),
     require       => Mysql_database['etherpad'],
   }
 
-  mysql_grant { "etherpad@%/etherpad":
-    privileges => 'all',
-    require    => Mysql_user["etherpad@%"],
+  if $ensure == 'present' {
+    mysql_grant { "etherpad@%/etherpad":
+      privileges => 'all',
+      require    => Mysql_user["etherpad@%"],
+    }
   }
 
   group { "etherpad-lite":
-    ensure    => present,
+    ensure    => $ensure,
     allowdupe => false,
   }
 
   user { "etherpad-lite":
-    ensure    => present,
+    ensure    => $ensure,
     allowdupe => false,
     gid       => 'etherpad-lite',
     require   => Group['etherpad-lite'],
@@ -43,14 +46,14 @@ class etherpad(
   }
 
   package { [ 'npm', 'abiword' ]:
-    ensure => present,
+    ensure => $ensure,
   }
 
   vcsrepo { "/var/lib/etherpad-lite":
-    ensure   => present,
+    ensure   => $ensure,
     provider => git,
     source   => 'https://github.com/ether/etherpad-lite.git',
-    revision => '5f30ea447e35378e84a570d61676feef021a7eb6',
+    revision => '8fffe4777e366923ee89d380b12eb413c950b721',
     owner    => 'etherpad-lite',
     group    => 'etherpad-lite',
     require  => [ User['etherpad-lite'], Group['etherpad-lite'] ],
@@ -58,7 +61,7 @@ class etherpad(
   }
 
   file { '/etc/init.d/etherpad-lite':
-    ensure  => present,
+    ensure  => $ensure,
     owner   => root,
     group   => root,
     mode    => 0755,
@@ -75,7 +78,7 @@ class etherpad(
   }
 
   file { '/etc/logrotate.d/etherpad-lite':
-    ensure  => present,
+    ensure  => $ensure,
     owner   => root,
     group   => root,
     mode    => 0644,
@@ -84,7 +87,7 @@ class etherpad(
   }
 
   file { '/var/lib/etherpad-lite/settings.json':
-    ensure  => present,
+    ensure  => $ensure,
     owner   => 'etherpad-lite',
     group   => 'etherpad-lite',
     mode    => 0640,
@@ -95,7 +98,7 @@ class etherpad(
 
   if $api_key != '' {
     file { '/var/lib/etherpad-lite/APIKEY.txt':
-      ensure  => present,
+      ensure  => $ensure,
       owner   => 'etherpad-lite',
       group   => 'etherpad-lite',
       mode    => 0640,
@@ -105,9 +108,14 @@ class etherpad(
     }
   }
 
+  $service = $ensure ? {
+    'present' => 'running',
+     default  => 'stopped',
+  }
+
   service { 'etherpad-lite':
     enable     => true,
-    ensure     => running,
+    ensure     => $service,
     hasrestart => true,
     hasstatus  => true,
     require    => [ File['/etc/init.d/etherpad-lite', '/var/lib/etherpad-lite/settings.json',