From 6262cd9568116edc47864958935ec8128fd06d0a Mon Sep 17 00:00:00 2001 From: Michael Scherer Date: Sat, 17 Mar 2012 11:05:25 +0000 Subject: split base from init.pp, and simplify the variable declaration and lookup by merging bcd::variable with the main class (so we can directly say bcd::login instead of using bcd::variable ) --- modules/bcd/manifests/base.pp | 34 +++++++++++++++++++++++++++++ modules/bcd/manifests/init.pp | 45 +++------------------------------------ modules/bcd/manifests/rsync.pp | 2 +- modules/bcd/manifests/web.pp | 3 ++- modules/bcd/templates/sudoers.bcd | 4 ++-- 5 files changed, 42 insertions(+), 46 deletions(-) create mode 100644 modules/bcd/manifests/base.pp (limited to 'modules') diff --git a/modules/bcd/manifests/base.pp b/modules/bcd/manifests/base.pp new file mode 100644 index 00000000..24e24738 --- /dev/null +++ b/modules/bcd/manifests/base.pp @@ -0,0 +1,34 @@ +class bcd::base { + include sudo + + group { $bcd::login: } + + user { $bcd::login: + home => $bcd::home, + managehome => true, + comment => 'User for creating ISOs', + } + + file { $bcd::public_isos: + ensure => directory, + owner => $bcd::login, + group => $bcd::login, + mode => '0755', + } + + # svn version is used for now + #package { bcd: } + + $isomakers_group = 'mga-iso_makers' + sudo::sudoers_config { 'bcd': + content => template('bcd/sudoers.bcd') + } + + file { '/var/lib/bcd': + ensure => directory, + owner => $bcd::login, + group => $bcd::login, + mode => '0755', + } +} + diff --git a/modules/bcd/manifests/init.pp b/modules/bcd/manifests/init.pp index 2dfd88df..81f0ef1c 100644 --- a/modules/bcd/manifests/init.pp +++ b/modules/bcd/manifests/init.pp @@ -1,44 +1,5 @@ class bcd { - class variable { - $bcd_login = 'bcd' - $bcd_home = '/home/bcd' - $public_isos = "$bcd_home/public_html/isos" - $isomakers_group = 'mga-iso_makers' - } - - class base inherits variable { - include sudo - - group { $bcd_login: } - - user { $bcd_login: - home => $bcd_home, - managehome => true, - comment => "User for creating ISOs", - } - - file { $public_isos: - ensure => directory, - owner => $bcd_login, - group => $bcd_login, - mode => 755, - } - - #package { bcd: - # ensure => 'installed', - #} - - sudo::sudoers_config { "bcd": - content => template("bcd/sudoers.bcd") - } - - file { "/var/lib/bcd": - ensure => directory, - owner => $bcd_login, - group => $bcd_login, - mode => 755, - } - - } - + $login = 'bcd' + $home = '/home/bcd' + $public_isos = "$home/public_html/isos" } diff --git a/modules/bcd/manifests/rsync.pp b/modules/bcd/manifests/rsync.pp index a67300d0..7b772b24 100644 --- a/modules/bcd/manifests/rsync.pp +++ b/modules/bcd/manifests/rsync.pp @@ -1,6 +1,6 @@ class bcd::rsync { include bcd::base - $public_isos = $bcd::variable::public_isos + $public_isos = $bcd::public_isos class { rsyncd: rsyncd_conf => 'bcd/rsyncd.conf', } diff --git a/modules/bcd/manifests/web.pp b/modules/bcd/manifests/web.pp index fba6df1c..8a8ccc58 100644 --- a/modules/bcd/manifests/web.pp +++ b/modules/bcd/manifests/web.pp @@ -1,6 +1,7 @@ class bcd::web { include bcd::base - $bcd_home = $bcd::variable::bcd_home + # TODO simplify this + $bcd_home = $bcd::home apache::vhost_base { "bcd.$::domain": location => "$bcd_home/public_html", diff --git a/modules/bcd/templates/sudoers.bcd b/modules/bcd/templates/sudoers.bcd index 5649a24f..b768f653 100644 --- a/modules/bcd/templates/sudoers.bcd +++ b/modules/bcd/templates/sudoers.bcd @@ -1,8 +1,8 @@ -<%= bcd_login %> ALL=(root) NOPASSWD:/bin/mount, /bin/umount, \ +<%= scope.lookupvar('bcd::login') %> ALL=(root) NOPASSWD:/bin/mount, /bin/umount, \ /usr/sbin/chroot, \ /usr/sbin/urpmi, \ /usr/sbin/urpmi.addmedia, \ /usr/sbin/urpmi.removemedia, \ /bin/rm -%<%= isomakers_group %> ALL=(<%= bcd_login %>) SETENV: NOPASSWD: ALL +%<%= isomakers_group %> ALL=(<%= scope.lookupvar('bcd::login') %>) SETENV: NOPASSWD: ALL -- cgit v1.2.1