]> gitweb.fluxo.info Git - puppet-apache.git/commitdiff
Adds apache::site::user
authorSilvio Rhatto <rhatto@riseup.net>
Sat, 18 Jun 2016 16:41:19 +0000 (13:41 -0300)
committerSilvio Rhatto <rhatto@riseup.net>
Sat, 18 Jun 2016 16:41:19 +0000 (13:41 -0300)
manifests/site.pp
manifests/site/user.pp [new file with mode: 0644]

index 2c76a0183f9f088cf674cee45cbab1aec825e568..6af019eb3cfcf2878e482e4c280fbd55bfa57e5c 100644 (file)
@@ -35,7 +35,6 @@ define apache::site(
   $hosting_domain       = hiera('apache::site::domain', $::domain)
 
 ) {
-
   $vhost = $filename ? {
     ''      => "${name}",
     default => "$filename",
@@ -61,46 +60,19 @@ define apache::site(
     }
   }
 
-  if $mpm == true and $manage_user == true and $user != 'root' {
-    if $ensure == present {
-      if !defined(Group[$gid]) {
-        group { "$gid":
-          ensure => present,
-        }
-      }
-
-      if !defined(User["$user"]) {
-        user::manage { "$user":
-          tag            => "virtual",
-          password       => $password,
-          gid            => $gid,
-          comment        => $comment,
-          ticket         => $ticket,
-          groups         => $groups,
-          sshkey         => $sshkey,
-          sshkey_options => $sshkey_options,
-          shell          => $shell,
-          ensure         => present,
-          require        => Group[$gid],
-        }
-      }
-    }
-    else {
-      if !defined(User["$user"]) {
-        user::manage { "$user":
-          tag      => "virtual",
-          password => $password,
-          ensure   => absent,
-        }
-      }
-
-      if !defined(Group[$gid]) {
-        group { "$gid":
-          ensure  => absent,
-          require => User[$user],
-        }
-      }
-    }
+  apache::site::user { $name:
+    ensure         => $ensure,
+    mpm            => $mpm,
+    manage_user    => $manage_user,
+    user           => $user,
+    password       => $password,
+    gid            => $gid,
+    comment        => $comment,
+    ticket         => $ticket,
+    groups         => $groups,
+    sshkey         => $sshkey,
+    sshkey_options => $sshkey_options,
+    shell          => $shell,
   }
 
   if $ssl == true {
diff --git a/manifests/site/user.pp b/manifests/site/user.pp
new file mode 100644 (file)
index 0000000..ec5866c
--- /dev/null
@@ -0,0 +1,56 @@
+define apache::site::user(
+  $ensure          = present,
+  $mpm             = true,
+  $manage_user     = true,
+  $user            = $name,
+  $gid             = $name,
+  $ticket          = false,
+  $password        = '*',
+  $comment         = '',
+  $sshkey          = absent,
+  $sshkey_options  = [],
+  $groups          = '',
+  $shell           = '/bin/false',
+){
+  if $mpm == true and $manage_user == true and $user != 'root' {
+    if $ensure == present {
+      if !defined(Group[$gid]) {
+        group { "$gid":
+          ensure => present,
+        }
+      }
+
+      if !defined(User["$user"]) {
+        user::manage { "$user":
+          tag            => "virtual",
+          password       => $password,
+          gid            => $gid,
+          comment        => $comment,
+          ticket         => $ticket,
+          groups         => $groups,
+          sshkey         => $sshkey,
+          sshkey_options => $sshkey_options,
+          shell          => $shell,
+          ensure         => present,
+          require        => Group[$gid],
+        }
+      }
+    }
+    else {
+      if !defined(User["$user"]) {
+        user::manage { "$user":
+          tag      => "virtual",
+          password => $password,
+          ensure   => absent,
+        }
+      }
+
+      if !defined(Group[$gid]) {
+        group { "$gid":
+          ensure  => absent,
+          require => User[$user],
+        }
+      }
+    }
+  }
+}