diff options
-rw-r--r-- | manifests/nodes.pp | 1 | ||||
-rw-r--r-- | modules/draklive/manifests/init.pp | 32 | ||||
-rw-r--r-- | modules/draklive/templates/sudoers.draklive | 2 |
3 files changed, 35 insertions, 0 deletions
diff --git a/manifests/nodes.pp b/manifests/nodes.pp index ac0abd88..796b369d 100644 --- a/manifests/nodes.pp +++ b/manifests/nodes.pp @@ -182,6 +182,7 @@ node rabbit { include default_mageia_server timezone::timezone { "Europe/Paris": } include bcd::base + include draklive::base include access_classes::iso_makers include openssh::ssh_keys_from_ldap include mirror::mirrormageia diff --git a/modules/draklive/manifests/init.pp b/modules/draklive/manifests/init.pp new file mode 100644 index 00000000..974a491e --- /dev/null +++ b/modules/draklive/manifests/init.pp @@ -0,0 +1,32 @@ +class draklive { + class variable { + $draklive_login = 'draklive + $draklive_home = '/home/draklive' + $isomakers_group = 'mga-iso_makers' + } + + class base inherits variable { + include sudo + + buildsystem::sshuser { $draklive_login: + homedir => $draklive_home, + comment => "User for creating live ISOs", + } + + package { draklive: + ensure => 'installed', + } + + sudo::sudoers_config { "draklive": + content => template("draklive/sudoers.draklive") + } + + file { "/var/lib/draklive": + ensure => directory, + owner => $draklive_login, + group => $draklive_login, + mode => 755, + } + + } +} diff --git a/modules/draklive/templates/sudoers.draklive b/modules/draklive/templates/sudoers.draklive new file mode 100644 index 00000000..474f903f --- /dev/null +++ b/modules/draklive/templates/sudoers.draklive @@ -0,0 +1,2 @@ +<%= draklive_login %> ALL=(root) NOPASSWD: /usr/bin/draklive +%<%= isomakers_group %> ALL=(<%= draklive_login %>) SETENV: NOPASSWD: ALL |